diff options
Diffstat (limited to 'app/models/merge_request.rb')
-rw-r--r-- | app/models/merge_request.rb | 33 |
1 files changed, 21 insertions, 12 deletions
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb index 043f07cf9f3..64b8223a1f0 100644 --- a/app/models/merge_request.rb +++ b/app/models/merge_request.rb @@ -261,6 +261,19 @@ class MergeRequest < ApplicationRecord scope :by_merge_commit_sha, -> (sha) do where(merge_commit_sha: sha) end + scope :by_squash_commit_sha, -> (sha) do + where(squash_commit_sha: sha) + end + scope :by_related_commit_sha, -> (sha) do + from_union( + [ + by_commit_sha(sha), + by_squash_commit_sha(sha), + by_merge_commit_sha(sha) + ], + remove_duplicates: false + ) + end scope :by_cherry_pick_sha, -> (sha) do joins(:notes).where(notes: { commit_id: sha }) end @@ -493,6 +506,10 @@ class MergeRequest < ApplicationRecord work_in_progress?(title) ? title : "Draft: #{title}" end + def self.participant_includes + [:reviewers, :award_emoji] + super + end + def committers @committers ||= commits.committers end @@ -1639,18 +1656,6 @@ class MergeRequest < ApplicationRecord !has_commits? end - def mergeable_with_quick_action?(current_user, autocomplete_precheck: false, last_diff_sha: nil) - return false unless can_be_merged_by?(current_user) - - return true if autocomplete_precheck - - return false unless mergeable?(skip_ci_check: true) - return false if actual_head_pipeline && !(actual_head_pipeline.success? || actual_head_pipeline.active?) - return false if last_diff_sha != diff_head_sha - - true - end - def pipeline_coverage_delta if base_pipeline&.coverage && head_pipeline&.coverage '%.2f' % (head_pipeline.coverage.to_f - base_pipeline.coverage.to_f) @@ -1762,6 +1767,10 @@ class MergeRequest < ApplicationRecord false end + def supports_assignee? + true + end + private def with_rebase_lock |