diff options
author | Robert Speicher <rspeicher@gmail.com> | 2015-04-30 16:10:39 -0400 |
---|---|---|
committer | Robert Speicher <rspeicher@gmail.com> | 2015-04-30 16:35:27 -0400 |
commit | 0027c2ddd78942e7fc266f68ccfdb17e2a525554 (patch) | |
tree | 1ade63953dfbbaa409f2faf48c1320cb928d4574 /lib | |
parent | 466bec7caa4708f3d0c671b9fab135ed2c3dcdc1 (diff) | |
download | gitlab-ce-0027c2ddd78942e7fc266f68ccfdb17e2a525554.tar.gz |
Add Project#get_issue
Diffstat (limited to 'lib')
-rw-r--r-- | lib/gitlab/markdown/issue_reference_filter.rb | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/lib/gitlab/markdown/issue_reference_filter.rb b/lib/gitlab/markdown/issue_reference_filter.rb index 4b360369d37..6812b933fef 100644 --- a/lib/gitlab/markdown/issue_reference_filter.rb +++ b/lib/gitlab/markdown/issue_reference_filter.rb @@ -44,21 +44,20 @@ module Gitlab # Returns a String with `#123` references replaced with links. All links # have `gfm` and `gfm-issue` class names attached for styling. def issue_link_filter(text) - self.class.references_in(text) do |match, issue, project_ref| + self.class.references_in(text) do |match, id, project_ref| project = self.project_from_ref(project_ref) - if project && project.issue_exists?(issue) - # FIXME (rspeicher): Law of Demeter - push_result(:issue, project.issues.where(iid: issue).first) + if project && issue = project.get_issue(id) + push_result(:issue, issue) - url = url_for_issue(issue, project, only_path: context[:only_path]) + url = url_for_issue(id, project, only_path: context[:only_path]) - title = escape_once("Issue: #{title_for_issue(issue, project)}") + title = escape_once("Issue: #{title_for_issue(id, project)}") klass = reference_class(:issue) %(<a href="#{url}" title="#{title}" - class="#{klass}">#{project_ref}##{issue}</a>) + class="#{klass}">#{project_ref}##{id}</a>) else match end |