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.



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

def initialize(issue)
  @issue = issue
end

Instance Method Details

#assigneeObject



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

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

#attachmentsObject



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

def attachments
  @attachments ||= @issue.attachments.map { |attachment| AttachmentDrop.new(attachment) }
end

#authorObject



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

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

#categoryObject



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

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

#checklistsObject



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

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



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

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

#custom_field_valuesObject



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

def custom_field_values
  @issue.custom_field_values
end

#day_in_stateObject



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

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

#helpdesk_ticketObject



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

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

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

#journalsObject



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

def journals
  @journals ||= JournalsDrop.new @issue.journals.where.not(notes: [nil, ''])
end


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

def link
  link_to @issue.subject, url
end

#notesObject



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

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

#parentObject



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

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

#priorityObject



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

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

#projectObject



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

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

#relations_fromObject



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

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

#relations_toObject



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

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

#statusObject



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

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

#story_pointsObject



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

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

#subtasksObject



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

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

#tagsObject



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

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

#time_entriesObject



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

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

#trackerObject



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

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

#urlObject



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

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

#versionObject



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

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