Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-02-10 00:09:12 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-02-10 00:09:12 +0300
commitd183d2d76bcc25f983c0836805c712af096bcc2f (patch)
tree982987f91e1cf268dbad55e51c4ea57292abbbd6 /app/models
parent453634293e24164ffaa5cd708e47a1cebc07bcd3 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/models')
-rw-r--r--app/models/concerns/work_item_resource_event.rb12
-rw-r--r--app/models/group.rb12
-rw-r--r--app/models/merge_request.rb2
3 files changed, 25 insertions, 1 deletions
diff --git a/app/models/concerns/work_item_resource_event.rb b/app/models/concerns/work_item_resource_event.rb
index d0323feb029..ddf39787f63 100644
--- a/app/models/concerns/work_item_resource_event.rb
+++ b/app/models/concerns/work_item_resource_event.rb
@@ -5,6 +5,18 @@ module WorkItemResourceEvent
included do
belongs_to :work_item, foreign_key: 'issue_id'
+
+ scope :with_work_item, -> { preload(:work_item) }
+
+ # These events are created also on non work items, e.g. MRs, Epic however system notes subscription
+ # is only implemented on work items, so we do check if this event is linked to an work item. This can be
+ # expanded to other issuables later on.
+ after_commit :trigger_note_subscription_create, on: :create, if: -> { work_item.present? }
+ end
+
+ # System notes are not updated or deleted, so firing just the noteCreated event.
+ def trigger_note_subscription_create(events: self)
+ GraphqlTriggers.work_item_note_created(work_item.to_gid, events)
end
def work_item_synthetic_system_note(events: nil)
diff --git a/app/models/group.rb b/app/models/group.rb
index 3455b4d8507..7e09280dfff 100644
--- a/app/models/group.rb
+++ b/app/models/group.rb
@@ -25,6 +25,8 @@ class Group < Namespace
extend ::Gitlab::Utils::Override
+ README_PROJECT_PATH = 'gitlab-profile'
+
def self.sti_name
'Group'
end
@@ -946,6 +948,16 @@ class Group < Namespace
direct_and_indirect_members.find_each(&:update_two_factor_requirement)
end
+ def readme_project
+ projects.find_by(path: README_PROJECT_PATH)
+ end
+ strong_memoize_attr :readme_project
+
+ def group_readme
+ readme_project&.repository&.readme
+ end
+ strong_memoize_attr :group_readme
+
private
def feature_flag_enabled_for_self_or_ancestor?(feature_flag)
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb
index 3bc60ee1f8e..8646e6aecb1 100644
--- a/app/models/merge_request.rb
+++ b/app/models/merge_request.rb
@@ -287,7 +287,7 @@ class MergeRequest < ApplicationRecord
validates :merge_user, presence: true, if: :auto_merge_enabled?, unless: :importing?
validate :validate_branches, unless: [:allow_broken, :importing?, :closed_or_merged_without_fork?]
validate :validate_fork, unless: :closed_or_merged_without_fork?
- validate :validate_target_project, on: :create
+ validate :validate_target_project, on: :create, unless: :importing?
validate :validate_reviewer_size_length, unless: :importing?
scope :by_source_or_target_branch, ->(branch_name) do