diff options
author | Jacob Vosmaer <contact@jacobvosmaer.nl> | 2015-10-20 17:12:23 +0200 |
---|---|---|
committer | Jacob Vosmaer <contact@jacobvosmaer.nl> | 2015-10-20 17:12:23 +0200 |
commit | e4008bc415c112db6b2200fb9c79431ad4ffbecc (patch) | |
tree | ecedd7a4db93e1cdcebfed0c9afa194fbee30078 /app/models/issue.rb | |
parent | a321404fde85fba6b09cbf1a56914f3a2ae555e4 (diff) | |
parent | befff6827a2cf81f6565b99212652a70139aa2b6 (diff) | |
download | gitlab-ce-git-archive-improvements-2.tar.gz |
Merge branch 'master' of https://gitlab.com/gitlab-org/gitlab-ce into git-archive-improvements-2git-archive-improvements-2
Diffstat (limited to 'app/models/issue.rb')
-rw-r--r-- | app/models/issue.rb | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/app/models/issue.rb b/app/models/issue.rb index fc7e9abe29e..72183108033 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -95,4 +95,14 @@ class Issue < ActiveRecord::Base def source_project project end + + # From all notes on this issue, we'll select the system notes about linked + # merge requests. Of those, the MRs closing `self` are returned. + def closed_by_merge_requests(current_user = nil) + return [] unless open? + + notes.system.flat_map do |note| + note.all_references(current_user).merge_requests + end.uniq.select { |mr| mr.open? && mr.closes_issue?(self) } + end end |