diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-01-18 19:00:14 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-01-18 19:00:14 +0000 |
commit | 05f0ebba3a2c8ddf39e436f412dc2ab5bf1353b2 (patch) | |
tree | 11d0f2a6ec31c7793c184106cedc2ded3d9a2cc5 /app/models/merge_request.rb | |
parent | ec73467c23693d0db63a797d10194da9e72a74af (diff) | |
download | gitlab-ce-05f0ebba3a2c8ddf39e436f412dc2ab5bf1353b2.tar.gz |
Add latest changes from gitlab-org/gitlab@15-8-stable-eev15.8.0-rc42
Diffstat (limited to 'app/models/merge_request.rb')
-rw-r--r-- | app/models/merge_request.rb | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb index 78c6d983a3d..0012f098ab2 100644 --- a/app/models/merge_request.rb +++ b/app/models/merge_request.rb @@ -193,6 +193,12 @@ class MergeRequest < ApplicationRecord merge_request.merge_error = nil end + before_transition any => :merged do |merge_request| + if ::Feature.enabled?(:reset_merge_error_on_transition, merge_request.project) + merge_request.merge_error = nil + end + end + after_transition any => :opened do |merge_request| merge_request.run_after_commit do UpdateHeadPipelineForMergeRequestWorker.perform_async(merge_request.id) @@ -436,6 +442,14 @@ class MergeRequest < ApplicationRecord ) end + scope :without_hidden, -> { + if Feature.enabled?(:hide_merge_requests_from_banned_users) + where_not_exists(Users::BannedUser.where('merge_requests.author_id = banned_users.user_id')) + else + all + end + } + def self.total_time_to_merge join_metrics .merge(MergeRequest::Metrics.with_valid_time_to_merge) @@ -2001,6 +2015,10 @@ class MergeRequest < ApplicationRecord false # overridden in EE end + def hidden? + Feature.enabled?(:hide_merge_requests_from_banned_users) && author&.banned? + end + private attr_accessor :skip_fetch_ref |