Class: RedmineCrm::Liquid::IssueDrop

Inherits:
Liquid::Drop
  • Object
show all
Includes:
ActionView::Helpers::UrlHelper
Defined in:
lib/redmine_crm/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/redmine_crm/liquid/drops/issues_drop.rb', line 55

def initialize(issue)
  @issue = issue
end

Instance Method Details

#assigneeObject



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

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

#authorObject



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

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

#categoryObject



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

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

#checklistsObject



143
144
145
146
147
# File 'lib/redmine_crm/liquid/drops/issues_drop.rb', line 143

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



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

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

#custom_field_valuesObject



155
156
157
# File 'lib/redmine_crm/liquid/drops/issues_drop.rb', line 155

def custom_field_values
  @issue.custom_field_values
end

#day_in_stateObject



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

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

#helpdesk_ticketObject



149
150
151
152
153
# File 'lib/redmine_crm/liquid/drops/issues_drop.rb', line 149

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

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

#journalsObject



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

def journals
  @journals ||= JournalsDrop.new @issue.journals.where("#{Journal.table_name}.notes IS NOT ?", nil)
end


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

def link
  link_to @issue.subject, url
end

#notesObject



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

def notes
  @notes ||= @issue.journals.where("#{Journal.table_name}.notes IS NOT ?", nil).order(:created_on).map(&:notes)
end

#parentObject



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

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

#priorityObject



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

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

#projectObject



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

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

#relations_fromObject



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

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

#relations_toObject



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

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

#statusObject



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

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

#story_pointsObject



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

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

#subtasksObject



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

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

#tagsObject



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

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

#time_entriesObject



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

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

#trackerObject



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

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

#urlObject



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

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

#versionObject



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

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