summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/helpers/projects_helper.rb12
-rw-r--r--app/views/projects/edit.html.haml2
-rw-r--r--config/gitlab.yml.example3
-rw-r--r--spec/helpers/projects_helper_spec.rb11
4 files changed, 27 insertions, 1 deletions
diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb
index 9071c688df1..b969095a162 100644
--- a/app/helpers/projects_helper.rb
+++ b/app/helpers/projects_helper.rb
@@ -80,6 +80,18 @@ module ProjectsHelper
@project.milestones.active.order("id desc").all
end
+ def project_issues_trackers
+ values = Project.issues_tracker.values.map do |tracker_key|
+ if tracker_key.to_sym == :gitlab
+ ['GitLab', tracker_key]
+ else
+ [Gitlab.config.issues_tracker[tracker_key]['title'] || tracker_key, tracker_key]
+ end
+ end
+
+ options_for_select(values)
+ end
+
private
def get_project_nav_tabs(project, current_user)
diff --git a/app/views/projects/edit.html.haml b/app/views/projects/edit.html.haml
index 117ee13140e..03cd3cbd658 100644
--- a/app/views/projects/edit.html.haml
+++ b/app/views/projects/edit.html.haml
@@ -67,7 +67,7 @@
- if Project.issues_tracker.values.count > 1
.control-group
= f.label :issues_tracker, "Issues tracker", class: 'control-label'
- .controls= f.select(:issues_tracker, Project.issues_tracker.values, {}, { disabled: !@project.issues_enabled })
+ .controls= f.select(:issues_tracker, project_issues_trackers, {}, { disabled: !@project.issues_enabled })
.control-group
= f.label :issues_tracker_id, "Project name or id in issues tracker", class: 'control-label'
diff --git a/config/gitlab.yml.example b/config/gitlab.yml.example
index 28578eee50a..163af226aaa 100644
--- a/config/gitlab.yml.example
+++ b/config/gitlab.yml.example
@@ -73,6 +73,7 @@ production: &base
## External issues trackers
issues_tracker:
# redmine:
+ # title: "Redmine"
# ## If not nil, link 'Issues' on project page will be replaced with this
# ## Use placeholders:
# ## :project_id - GitLab project identifier
@@ -93,6 +94,7 @@ production: &base
# new_issue_url: "http://redmine.sample/projects/:issues_tracker_id/issues/new"
#
# jira:
+ # title: "Atlassian Jira"
# project_url: "http://jira.sample/issues/?jql=project=:issues_tracker_id"
# issues_url: "http://jira.sample/browse/:id"
# new_issue_url: "http://jira.sample/secure/CreateIssue.jspa"
@@ -206,6 +208,7 @@ test:
<<: *base
issues_tracker:
redmine:
+ title: "Redmine"
project_url: "http://redmine/projects/:issues_tracker_id"
issues_url: "http://redmine/:project_id/:issues_tracker_id/:id"
new_issue_url: "http://redmine/projects/:issues_tracker_id/issues/new"
diff --git a/spec/helpers/projects_helper_spec.rb b/spec/helpers/projects_helper_spec.rb
new file mode 100644
index 00000000000..62f88dd522b
--- /dev/null
+++ b/spec/helpers/projects_helper_spec.rb
@@ -0,0 +1,11 @@
+require 'spec_helper'
+
+describe ProjectsHelper do
+ describe '#project_issues_trackers' do
+ it "returns the correct issues trackers available" do
+ project_issues_trackers.should ==
+ "<option value=\"redmine\">Redmine</option>\n" \
+ "<option value=\"gitlab\">GitLab</option>"
+ end
+ end
+end