Commit aedd520db82ee5d3da3e7fc445d17805de563d76

Authored by Nathan Broadbent
1 parent 847f4d31
Exists in master and in 1 other branch production

Use `.label` method instead of `.class::Label` for retrieving issue tracker labels

app/assets/stylesheets/issue_tracker_icons.css.erb
1 /* Issue Tracker inactive, select, create and goto icons */ 1 /* Issue Tracker inactive, select, create and goto icons */
2 -<% trackers = IssueTracker.subclasses.map{|t| t::Label } << 'none' %> 2 +<% trackers = IssueTracker.subclasses.map{|t| t.label } << 'none' %>
3 <% trackers.each do |tracker| %> 3 <% trackers.each do |tracker| %>
4 div.issue_tracker.nested label.<%= tracker %> { 4 div.issue_tracker.nested label.<%= tracker %> {
5 background: url(/assets/<%= tracker %>_inactive.png) no-repeat; 5 background: url(/assets/<%= tracker %>_inactive.png) no-repeat;
app/models/issue_tracker.rb
@@ -30,9 +30,9 @@ class IssueTracker @@ -30,9 +30,9 @@ class IssueTracker
30 30
31 def url; nil; end 31 def url; nil; end
32 32
  33 + # Retrieve tracker label from either class or instance.
33 Label = '' 34 Label = ''
34 - def self.label  
35 - self::Label  
36 - end 35 + def self.label; self::Label; end
  36 + def label; self.class.label; end
37 end 37 end
38 38
app/models/problem.rb
@@ -149,7 +149,7 @@ class Problem @@ -149,7 +149,7 @@ class Problem
149 def issue_type 149 def issue_type
150 # Return issue_type if configured, but fall back to detecting app's issue tracker 150 # Return issue_type if configured, but fall back to detecting app's issue tracker
151 attributes['issue_type'] ||= 151 attributes['issue_type'] ||=
152 - (app.issue_tracker_configured? && app.issue_tracker.class::Label) || nil 152 + (app.issue_tracker_configured? && app.issue_tracker.label) || nil
153 end 153 end
154 154
155 private 155 private
app/views/apps/_issue_tracker_fields.html.haml
@@ -7,14 +7,14 @@ @@ -7,14 +7,14 @@
7 = w.radio_button :type, "IssueTracker", 'data-section' => 'none' 7 = w.radio_button :type, "IssueTracker", 'data-section' => 'none'
8 (None) 8 (None)
9 - IssueTracker.subclasses.each do |tracker| 9 - IssueTracker.subclasses.each do |tracker|
10 - = label_tag "type_#{tracker::Label}:", :for => label_for_attr(w, "type_#{tracker.name.downcase.gsub(':','')}"), :class => "label_radio #{tracker::Label}" do  
11 - = w.radio_button :type, tracker.name, 'data-section' => tracker::Label 10 + = label_tag "type_#{tracker.label}:", :for => label_for_attr(w, "type_#{tracker.name.downcase.gsub(':','')}"), :class => "label_radio #{tracker.label}" do
  11 + = w.radio_button :type, tracker.name, 'data-section' => tracker.label
12 = tracker.name[/::(.*)Tracker/,1].titleize 12 = tracker.name[/::(.*)Tracker/,1].titleize
13 13
14 %div.tracker_params.none{:class => (w.object && !(w.object.class < IssueTracker)) ? 'chosen' : nil} 14 %div.tracker_params.none{:class => (w.object && !(w.object.class < IssueTracker)) ? 'chosen' : nil}
15 %p When no issue tracker has been configured, you will be able to leave comments on errors. 15 %p When no issue tracker has been configured, you will be able to leave comments on errors.
16 - IssueTracker.subclasses.each do |tracker| 16 - IssueTracker.subclasses.each do |tracker|
17 - %div.tracker_params{:class => (w.object.is_a?(tracker) ? 'chosen ' : '') << tracker::Label} 17 + %div.tracker_params{:class => (w.object.is_a?(tracker) ? 'chosen ' : '') << tracker.label}
18 - if defined?(tracker::Note) 18 - if defined?(tracker::Note)
19 %p= tracker::Note.html_safe 19 %p= tracker::Note.html_safe
20 - tracker::Fields.each do |field, field_info| 20 - tracker::Fields.each do |field, field_info|
@@ -23,7 +23,7 @@ @@ -23,7 +23,7 @@
23 = w.send field_type, field, :placeholder => field_info[:placeholder], :value => w.object.send(field) 23 = w.send field_type, field, :placeholder => field_info[:placeholder], :value => w.object.send(field)
24 24
25 .image_preloader 25 .image_preloader
26 - - (IssueTracker.subclasses.map{|t| t::Label } << 'none').each do |tracker| 26 + - (IssueTracker.subclasses.map{|t| t.label } << 'none').each do |tracker|
27 = image_tag "#{tracker}_inactive.png" 27 = image_tag "#{tracker}_inactive.png"
28 = image_tag "#{tracker}_create.png" 28 = image_tag "#{tracker}_create.png"
29 29
app/views/apps/index.html.haml
@@ -24,7 +24,7 @@ @@ -24,7 +24,7 @@
24 - if any_issue_trackers? 24 - if any_issue_trackers?
25 %td.issue_tracker 25 %td.issue_tracker
26 - if app.issue_tracker_configured? 26 - if app.issue_tracker_configured?
27 - - tracker_img = image_tag("#{app.issue_tracker.class::Label}_goto.png") 27 + - tracker_img = image_tag("#{app.issue_tracker.label}_goto.png")
28 - if app.issue_tracker.url 28 - if app.issue_tracker.url
29 = link_to( tracker_img, app.issue_tracker.url ) 29 = link_to( tracker_img, app.issue_tracker.url )
30 - else 30 - else
app/views/errs/_issue_tracker_links.html.haml
@@ -9,4 +9,4 @@ @@ -9,4 +9,4 @@
9 - if current_user.github_account? && @app.github_repo? 9 - if current_user.github_account? && @app.github_repo?
10 %span= link_to 'create issue', create_issue_app_err_path(@app, @problem, :tracker => 'user_github'), :method => :post, :class => "github_create create-issue" 10 %span= link_to 'create issue', create_issue_app_err_path(@app, @problem, :tracker => 'user_github'), :method => :post, :class => "github_create create-issue"
11 - if @app.issue_tracker_configured? && !@app.issue_tracker.is_a?(GithubIssuesTracker) 11 - if @app.issue_tracker_configured? && !@app.issue_tracker.is_a?(GithubIssuesTracker)
12 - %span= link_to 'create issue', create_issue_app_err_path(@app, @problem), :method => :post, :class => "#{@app.issue_tracker.class::Label}_create create-issue" 12 + %span= link_to 'create issue', create_issue_app_err_path(@app, @problem), :method => :post, :class => "#{@app.issue_tracker.label}_create create-issue"
db/migrate/20120605091105_set_issue_type_on_problems.rb
@@ -2,7 +2,7 @@ class SetIssueTypeOnProblems &lt; Mongoid::Migration @@ -2,7 +2,7 @@ class SetIssueTypeOnProblems &lt; Mongoid::Migration
2 def self.up 2 def self.up
3 Problem.all.each do |p| 3 Problem.all.each do |p|
4 if p.issue_link.present? && p.app.issue_tracker_configured? 4 if p.issue_link.present? && p.app.issue_tracker_configured?
5 - p.update_attribute :issue_type, p.app.issue_tracker.class::Label 5 + p.update_attribute :issue_type, p.app.issue_tracker.label
6 end 6 end
7 end 7 end
8 end 8 end