diff options
author | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2017-03-27 12:35:10 +0200 |
---|---|---|
committer | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2017-03-27 12:35:10 +0200 |
commit | 1a4c60ef57d047dab6aa823f7cc50548897b74f6 (patch) | |
tree | 92bbccd1e1850837da5c7b10344ff77f0be0e7be /app/models/merge_request.rb | |
parent | 7ada193e0fd28b4a6eca1fda7dda6f0ebe6b2d72 (diff) | |
parent | 7324d6713262d7f9c563d48b82934c4a8eb72a52 (diff) | |
download | gitlab-ce-1a4c60ef57d047dab6aa823f7cc50548897b74f6.tar.gz |
Merge branch 'master' into feature/multi-level-container-registry-images
* master: (192 commits)
Implement new service for creating user
Update sentry-raven 2.0.2 -> 2.4.0
Update webmock 1.21.0 -> 1.24.6
Update spring 1.7.2 -> 2.0.1
Update simplecov 0.12.0 -> 0.14.1
Update pry-rails 0.3.4 -> 0.3.5
Update pry-byebug 3.4.1 -> 3.4.2
Update flay 2.6.1 -> 2.8.1
Remove Tags filter from Projects Explore dropdown
Update capybara-screenshot 1.0.11 -> 1.0.14
Update bullet 5.2.0 -> 5.5.1
Update brakeman 3.4.1 -> 3.6.1
Remove web-console gem
Update better_errors 1.0.1 -> 2.1.1
Display flash message to unauthenticated user when creating new issue
Fix up emoji tests that should have failed :/
Fix RSpec/DescribeSymbol cop violations
Add event limit warning all tabs Cycle Analytics
Adding non_archived scope for counting projects
Resolve "Gitlab administrator cannot create projects in every group"
...
Conflicts:
db/schema.rb
Diffstat (limited to 'app/models/merge_request.rb')
-rw-r--r-- | app/models/merge_request.rb | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb index cef8ad76b07..5ff83944d8c 100644 --- a/app/models/merge_request.rb +++ b/app/models/merge_request.rb @@ -7,7 +7,6 @@ class MergeRequest < ActiveRecord::Base belongs_to :target_project, class_name: "Project" belongs_to :source_project, class_name: "Project" - belongs_to :project, foreign_key: :target_project_id belongs_to :merge_user, class_name: "User" has_many :merge_request_diffs, dependent: :destroy @@ -155,8 +154,10 @@ class MergeRequest < ActiveRecord::Base # # Returns an ActiveRecord::Relation. def self.in_projects(relation) - source = where(source_project_id: relation).select(:id) - target = where(target_project_id: relation).select(:id) + # unscoping unnecessary conditions that'll be applied + # when executing `where("merge_requests.id IN (#{union.to_sql})")` + source = unscoped.where(source_project_id: relation).select(:id) + target = unscoped.where(target_project_id: relation).select(:id) union = Gitlab::SQL::Union.new([source, target]) where("merge_requests.id IN (#{union.to_sql})") @@ -541,6 +542,10 @@ class MergeRequest < ActiveRecord::Base target_project != source_project end + def project + target_project + end + # If the merge request closes any issues, save this information in the # `MergeRequestsClosingIssues` model. This is a performance optimization. # Calculating this information for a number of merge requests requires |