diff options
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 |