diff --git a/app/models/project.rb b/app/models/project.rb index e47e2a094f23802ba406a38c852d248c5cf4a2e2..12f7e45496b01730fa8db25bac50438406d875dd 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -96,7 +96,7 @@ class TransferError < StandardError; end scope :joined, ->(user) { where("namespace_id != ?", user.namespace_id) } scope :public_only, -> { where(public: true) } - enumerize :issues_tracker, :in => (Settings[:issues_tracker].keys).append(:gitlab), :default => :gitlab + enumerize :issues_tracker, :in => (Gitlab.config.issues_tracker.keys).append(:gitlab), :default => :gitlab class << self def abandoned diff --git a/config/gitlab.yml.example b/config/gitlab.yml.example index c7bb66ae6e7b2be494652b2c4cba38b4b251cad0..895ae797b6bad7db217a2e9cb6dc4dab19526b8f 100644 --- a/config/gitlab.yml.example +++ b/config/gitlab.yml.example @@ -143,7 +143,10 @@ development: <<: *defaults test: - <<: *base + <<: *defaults + issues_tracker: + redmine: + issues_url: "http://redmine/:project_id/:issues_tracker_id/:id" staging: <<: *defaults diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb index f7d18e671481e97e383d73ad957aad556b1594d5..a656b02171fdf0e5a117fb1d0cf70bdc2fb4eac2 100644 --- a/config/initializers/1_settings.rb +++ b/config/initializers/1_settings.rb @@ -42,6 +42,8 @@ def build_gitlab_url Settings.omniauth['enabled'] = false if Settings.omniauth['enabled'].nil? Settings.omniauth['providers'] ||= [] +Settings['issues_tracker'] ||= {} + # # GitLab # diff --git a/spec/helpers/issues_helper_spec.rb b/spec/helpers/issues_helper_spec.rb index 7d2ac8c7d8436e9385b722c12bd29ae524bacb66..013dab71d69758d343720ca3be307000af25c823 100644 --- a/spec/helpers/issues_helper_spec.rb +++ b/spec/helpers/issues_helper_spec.rb @@ -25,7 +25,7 @@ describe :url_for_issue do let(:issue_id) { 3 } - let(:issues_url) { "http://redmine/:project_id/:issues_tracker_id/:id" } + let(:issues_url) { Gitlab.config.issues_tracker.redmine.issues_url} let(:ext_expected) do issues_url.gsub(':id', issue_id.to_s) .gsub(':project_id', ext_project.id.to_s) @@ -40,7 +40,6 @@ it "should return path to external tracker" do @project = ext_project - Settings[:issues_tracker][ext_project.issues_tracker]["issues_url"] = issues_url url_for_issue(issue_id).should match(ext_expected) end