diff options
Diffstat (limited to 'app')
-rw-r--r-- | app/models/project.rb | 14 | ||||
-rw-r--r-- | app/models/project_services/custom_issue_tracker_service.rb | 3 | ||||
-rw-r--r-- | app/models/project_services/gitlab_issue_tracker_service.rb | 4 | ||||
-rw-r--r-- | app/models/project_services/jira_service.rb | 3 | ||||
-rw-r--r-- | app/models/project_services/redmine_service.rb | 3 |
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 |