summaryrefslogtreecommitdiff
path: root/app/models
diff options
context:
space:
mode:
Diffstat (limited to 'app/models')
-rw-r--r--app/models/external_issue.rb4
-rw-r--r--app/models/project.rb16
2 files changed, 12 insertions, 8 deletions
diff --git a/app/models/external_issue.rb b/app/models/external_issue.rb
index 50efcb32f1b..85fdb12bfdc 100644
--- a/app/models/external_issue.rb
+++ b/app/models/external_issue.rb
@@ -15,6 +15,10 @@ class ExternalIssue
@issue_identifier.to_s
end
+ def title
+ "External Issue #{self}"
+ end
+
def ==(other)
other.is_a?(self.class) && (to_s == other.to_s)
end
diff --git a/app/models/project.rb b/app/models/project.rb
index 397232e98d8..e866681aab9 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -329,14 +329,18 @@ class Project < ActiveRecord::Base
self.id
end
- def issue_exists?(issue_id)
+ def get_issue(issue_id)
if default_issues_tracker?
- self.issues.where(iid: issue_id).first.present?
+ issues.find_by(iid: issue_id)
else
- true
+ ExternalIssue.new(issue_id, self)
end
end
+ def issue_exists?(issue_id)
+ get_issue(issue_id)
+ end
+
def default_issue_tracker
gitlab_issue_tracker_service || create_gitlab_issue_tracker_service
end
@@ -350,11 +354,7 @@ class Project < ActiveRecord::Base
end
def default_issues_tracker?
- if external_issue_tracker
- false
- else
- true
- end
+ !external_issue_tracker
end
def external_issues_trackers