summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/models/project.rb14
-rw-r--r--app/models/project_services/custom_issue_tracker_service.rb3
-rw-r--r--app/models/project_services/gitlab_issue_tracker_service.rb4
-rw-r--r--app/models/project_services/jira_service.rb3
-rw-r--r--app/models/project_services/redmine_service.rb3
5 files changed, 22 insertions, 5 deletions
diff --git a/app/models/project.rb b/app/models/project.rb
index ca3bc04e2dd..d9d572e81c3 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -372,6 +372,14 @@ class Project < ActiveRecord::Base
def remove_gitlab_exports!
Gitlab::Popen.popen(%W(find #{Gitlab::ImportExport.storage_path} -not -path #{Gitlab::ImportExport.storage_path} -mmin +1440 -delete))
end
+
+ def default_issue_tracker_service
+ :gitlab_issue_tracker_service
+ end
+
+ def default_issue_tracker_service_name
+ reflect_on_association(default_issue_tracker_service).klass::NAME
+ end
end
def team
@@ -583,8 +591,12 @@ class Project < ActiveRecord::Base
get_issue(issue_id)
end
+ def default_issue_tracker_service
+ self.class.default_issue_tracker_service
+ end
+
def default_issue_tracker
- gitlab_issue_tracker_service || create_gitlab_issue_tracker_service
+ association(default_issue_tracker_service).target || association(default_issue_tracker_service).create
end
def issues_tracker
diff --git a/app/models/project_services/custom_issue_tracker_service.rb b/app/models/project_services/custom_issue_tracker_service.rb
index 6b2b1daa724..6a95f6eeaf9 100644
--- a/app/models/project_services/custom_issue_tracker_service.rb
+++ b/app/models/project_services/custom_issue_tracker_service.rb
@@ -1,4 +1,5 @@
class CustomIssueTrackerService < IssueTrackerService
+ NAME = 'custom_issue_tracker'
prop_accessor :title, :description, :project_url, :issues_url, :new_issue_url
@@ -19,7 +20,7 @@ class CustomIssueTrackerService < IssueTrackerService
end
def to_param
- 'custom_issue_tracker'
+ NAME
end
def fields
diff --git a/app/models/project_services/gitlab_issue_tracker_service.rb b/app/models/project_services/gitlab_issue_tracker_service.rb
index 5d17c358330..ef17ec4e393 100644
--- a/app/models/project_services/gitlab_issue_tracker_service.rb
+++ b/app/models/project_services/gitlab_issue_tracker_service.rb
@@ -1,12 +1,14 @@
class GitlabIssueTrackerService < IssueTrackerService
include Gitlab::Routing.url_helpers
+ NAME = 'gitlab'
+
prop_accessor :title, :description, :project_url, :issues_url, :new_issue_url
default_value_for :default, true
def to_param
- 'gitlab'
+ NAME
end
def project_url
diff --git a/app/models/project_services/jira_service.rb b/app/models/project_services/jira_service.rb
index beda89d3963..80c20291288 100644
--- a/app/models/project_services/jira_service.rb
+++ b/app/models/project_services/jira_service.rb
@@ -3,6 +3,7 @@ class JiraService < IssueTrackerService
include Gitlab::Routing.url_helpers
DEFAULT_API_VERSION = 2
+ NAME = 'jira'
prop_accessor :username, :password, :api_url, :jira_issue_transition_id,
:title, :description, :project_url, :issues_url, :new_issue_url
@@ -44,7 +45,7 @@ class JiraService < IssueTrackerService
end
def to_param
- 'jira'
+ NAME
end
def fields
diff --git a/app/models/project_services/redmine_service.rb b/app/models/project_services/redmine_service.rb
index 11cce3e0561..03f8440c224 100644
--- a/app/models/project_services/redmine_service.rb
+++ b/app/models/project_services/redmine_service.rb
@@ -1,4 +1,5 @@
class RedmineService < IssueTrackerService
+ NAME = 'redmine'
prop_accessor :title, :description, :project_url, :issues_url, :new_issue_url
@@ -19,6 +20,6 @@ class RedmineService < IssueTrackerService
end
def to_param
- 'redmine'
+ NAME
end
end