From baef45e9c183d4dedd1c76c0bd1854b46d7ccb1a Mon Sep 17 00:00:00 2001 From: Nathan Broadbent Date: Sun, 3 Jun 2012 15:46:41 +1200 Subject: [PATCH] Added #url to issue trackers, for links on apps#index table --- app/models/issue_tracker.rb | 2 ++ app/models/issue_trackers/fogbugz_tracker.rb | 4 ++++ app/models/issue_trackers/github_issues_tracker.rb | 4 ++++ app/models/issue_trackers/lighthouse_tracker.rb | 6 +++++- app/models/issue_trackers/mingle_tracker.rb | 8 +++++++- app/models/issue_trackers/pivotal_labs_tracker.rb | 4 ++++ app/models/issue_trackers/redmine_tracker.rb | 6 ++++++ 7 files changed, 32 insertions(+), 2 deletions(-) diff --git a/app/models/issue_tracker.rb b/app/models/issue_tracker.rb index 91cf3c3..70bbb18 100644 --- a/app/models/issue_tracker.rb +++ b/app/models/issue_tracker.rb @@ -27,5 +27,7 @@ class IssueTracker # Allows us to set the issue tracker class from a single form. def type; self._type; end def type=(t); self._type=t; end + + def url; nil; end end diff --git a/app/models/issue_trackers/fogbugz_tracker.rb b/app/models/issue_trackers/fogbugz_tracker.rb index 9cddae6..a55e190 100644 --- a/app/models/issue_trackers/fogbugz_tracker.rb +++ b/app/models/issue_trackers/fogbugz_tracker.rb @@ -40,5 +40,9 @@ class IssueTrackers::FogbugzTracker < IssueTracker def body_template @@body_template ||= ERB.new(File.read(Rails.root + "app/views/issue_trackers/fogbugz_body.txt.erb")) end + + def url + "http://#{account}.fogbugz.com/" + end end diff --git a/app/models/issue_trackers/github_issues_tracker.rb b/app/models/issue_trackers/github_issues_tracker.rb index 24d02a1..7852e92 100644 --- a/app/models/issue_trackers/github_issues_tracker.rb +++ b/app/models/issue_trackers/github_issues_tracker.rb @@ -32,4 +32,8 @@ class IssueTrackers::GithubIssuesTracker < IssueTracker def body_template @@body_template ||= ERB.new(File.read(Rails.root + "app/views/issue_trackers/github_issues_body.txt.erb").gsub(/^\s*/, '')) end + + def url + "https://github.com/#{project_id}/issues" + end end diff --git a/app/models/issue_trackers/lighthouse_tracker.rb b/app/models/issue_trackers/lighthouse_tracker.rb index 6a9829c..75c4d7b 100644 --- a/app/models/issue_trackers/lighthouse_tracker.rb +++ b/app/models/issue_trackers/lighthouse_tracker.rb @@ -2,7 +2,7 @@ class IssueTrackers::LighthouseTracker < IssueTracker Label = "lighthouseapp" Fields = [ [:account, { - :placeholder => "abc from abc.lighthouseapp.com" + :placeholder => "abc from http://abc.lighthouseapp.com" }], [:api_token, { :placeholder => "API Token for your account" @@ -37,5 +37,9 @@ class IssueTrackers::LighthouseTracker < IssueTracker def body_template @@body_template ||= ERB.new(File.read(Rails.root + "app/views/issue_trackers/lighthouseapp_body.txt.erb").gsub(/^\s*/, '')) end + + def url + "http://#{account}.lighthouseapp.com" + end end diff --git a/app/models/issue_trackers/mingle_tracker.rb b/app/models/issue_trackers/mingle_tracker.rb index 5a745f4..11426f6 100644 --- a/app/models/issue_trackers/mingle_tracker.rb +++ b/app/models/issue_trackers/mingle_tracker.rb @@ -3,7 +3,7 @@ class IssueTrackers::MingleTracker < IssueTracker Fields = [ [:account, { :label => "Mingle URL", - :placeholder => "abc from http://abc.fogbugz.com/" + :placeholder => "http://mingle.example.com/" }], [:project_id, { :placeholder => "Mingle project" @@ -56,5 +56,11 @@ class IssueTrackers::MingleTracker < IssueTracker hash end end + + def url + acc_url = account.start_with?('http') ? account : "http://#{account}" + URI.parse("#{acc_url}/projects/#{project_id}").to_s + rescue URI::InvalidURIError + end end diff --git a/app/models/issue_trackers/pivotal_labs_tracker.rb b/app/models/issue_trackers/pivotal_labs_tracker.rb index 6242490..964086e 100644 --- a/app/models/issue_trackers/pivotal_labs_tracker.rb +++ b/app/models/issue_trackers/pivotal_labs_tracker.rb @@ -24,5 +24,9 @@ class IssueTrackers::PivotalLabsTracker < IssueTracker def body_template @@body_template ||= ERB.new(File.read(Rails.root + "app/views/issue_trackers/pivotal_body.txt.erb")) end + + def url + "https://www.pivotaltracker.com/" + end end diff --git a/app/models/issue_trackers/redmine_tracker.rb b/app/models/issue_trackers/redmine_tracker.rb index a12b577..7780967 100644 --- a/app/models/issue_trackers/redmine_tracker.rb +++ b/app/models/issue_trackers/redmine_tracker.rb @@ -50,5 +50,11 @@ class IssueTrackers::RedmineTracker < IssueTracker def body_template @@body_template ||= ERB.new(File.read(Rails.root + "app/views/issue_trackers/textile_body.txt.erb")) end + + def url + acc_url = account.start_with?('http') ? account : "http://#{account}" + URI.parse("#{acc_url}?project_id=#{project_id}").to_s + rescue URI::InvalidURIError + end end -- libgit2 0.21.2