Class: Redmineup::Liquid::IssueDrop

Inherits:
Liquid::Drop
  • Object
show all
Includes:
ActionView::Helpers::UrlHelper
Defined in:
lib/redmineup/liquid/drops/issues_drop.rb

Instance Method Summary collapse

Constructor Details

#initialize(issue) ⇒ IssueDrop

Returns a new instance of IssueDrop.



54
55
56
# File 'lib/redmineup/liquid/drops/issues_drop.rb', line 54

def initialize(issue)
  @issue = issue
end

Instance Method Details

#assigneeObject



70
71
72
# File 'lib/redmineup/liquid/drops/issues_drop.rb', line 70

def assignee
  @assignee ||= UserDrop.new(@issue.assigned_to)
end

#authorObject



66
67
68
# File 'lib/redmineup/liquid/drops/issues_drop.rb', line 66

def author
  @user ||= UserDrop.new(@issue.author)
end

#categoryObject



86
87
88
# File 'lib/redmineup/liquid/drops/issues_drop.rb', line 86

def category
  @category ||= @issue.category && @issue.category.name
end

#checklistsObject



146
147
148
149
150
# File 'lib/redmineup/liquid/drops/issues_drop.rb', line 146

def checklists
  @issue.respond_to?(:checklists) && @issue.checklists.map do |item|
    { 'id_done' => item.is_done, 'subject' => item.subject, 'is_section' => item.is_section }
  end
end

#colorObject



138
139
140
# File 'lib/redmineup/liquid/drops/issues_drop.rb', line 138

def color
  @issue.respond_to?(:color) && @issue.color
end

#custom_field_valuesObject



158
159
160
# File 'lib/redmineup/liquid/drops/issues_drop.rb', line 158

def custom_field_values
  @issue.custom_field_values
end

#day_in_stateObject



142
143
144
# File 'lib/redmineup/liquid/drops/issues_drop.rb', line 142

def day_in_state
  @issue.respond_to?(:day_in_state) && @issue.day_in_state
end

#descriptionObject



106
107
108
# File 'lib/redmineup/liquid/drops/issues_drop.rb', line 106

def description
  @description ||= replace_images_urls(@issue.description)
end

#helpdesk_ticketObject



152
153
154
155
156
# File 'lib/redmineup/liquid/drops/issues_drop.rb', line 152

def helpdesk_ticket
  return nil unless defined?(::HelpdeskTicketDrop)

  @helpdesk_ticket ||= HelpdeskTicketDrop.new(@issue)
end

#journalsObject



126
127
128
# File 'lib/redmineup/liquid/drops/issues_drop.rb', line 126

def journals
  @journals ||= JournalsDrop.new(@issue.journals.where.not(notes: nil).find_each { |journal| journal.notes = replace_images_urls(journal.notes) })
end


58
59
60
# File 'lib/redmineup/liquid/drops/issues_drop.rb', line 58

def link
  link_to @issue.subject, url
end

#notesObject



122
123
124
# File 'lib/redmineup/liquid/drops/issues_drop.rb', line 122

def notes
  @notes ||= @issue.journals.where.not(notes: [nil, '']).order(:created_on).map(&:notes).map { |note| replace_images_urls(note) }
end

#parentObject



98
99
100
# File 'lib/redmineup/liquid/drops/issues_drop.rb', line 98

def parent
  @parent ||= IssueDrop.new @issue.parent if @issue.parent
end

#priorityObject



82
83
84
# File 'lib/redmineup/liquid/drops/issues_drop.rb', line 82

def priority
  @priority ||= @issue.priority && @issue.priority.name
end

#projectObject



102
103
104
# File 'lib/redmineup/liquid/drops/issues_drop.rb', line 102

def project
  @project ||= ProjectDrop.new @issue.project if @issue.project
end

#relations_fromObject



114
115
116
# File 'lib/redmineup/liquid/drops/issues_drop.rb', line 114

def relations_from
  @relations_from ||= IssueRelationsDrop.new(@issue.relations_from.select { |r| r.other_issue(@issue) && r.other_issue(@issue).visible? })
end

#relations_toObject



118
119
120
# File 'lib/redmineup/liquid/drops/issues_drop.rb', line 118

def relations_to
  @relations_to ||= IssueRelationsDrop.new(@issue.relations_to.select { |r| r.other_issue(@issue) && r.other_issue(@issue).visible? })
end

#statusObject



78
79
80
# File 'lib/redmineup/liquid/drops/issues_drop.rb', line 78

def status
  @status ||= @issue.status && @issue.status.name
end

#story_pointsObject



134
135
136
# File 'lib/redmineup/liquid/drops/issues_drop.rb', line 134

def story_points
  @issue.respond_to?(:story_points) && @issue.story_points
end

#subtasksObject



110
111
112
# File 'lib/redmineup/liquid/drops/issues_drop.rb', line 110

def subtasks
  @subtasks ||= IssuesDrop.new @issue.children
end

#tagsObject



130
131
132
# File 'lib/redmineup/liquid/drops/issues_drop.rb', line 130

def tags
  @issue.respond_to?(:tag_list) && @issue.tag_list
end

#time_entriesObject



94
95
96
# File 'lib/redmineup/liquid/drops/issues_drop.rb', line 94

def time_entries
  @time_entries ||= TimeEntriesDrop.new @issue.time_entries
end

#trackerObject



74
75
76
# File 'lib/redmineup/liquid/drops/issues_drop.rb', line 74

def tracker
  @tracker ||= @issue.tracker && @issue.tracker.name
end

#urlObject



62
63
64
# File 'lib/redmineup/liquid/drops/issues_drop.rb', line 62

def url
  Rails.application.routes.url_helpers.issue_path(@issue)
end

#versionObject



90
91
92
# File 'lib/redmineup/liquid/drops/issues_drop.rb', line 90

def version
  @version ||= @issue.fixed_version && @issue.fixed_version.name
end