diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2019-12-23 18:07:33 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2019-12-23 18:07:33 +0000 |
commit | 9f2d4a6490ea2ac9af8b640a507c8aff9ef220e8 (patch) | |
tree | 51681ef460b534757be9516e57b7a65e29153072 /app/models/note.rb | |
parent | fda8735029d5aea76060f2e2b071ebcd6cd0777e (diff) | |
download | gitlab-ce-9f2d4a6490ea2ac9af8b640a507c8aff9ef220e8.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/models/note.rb')
-rw-r--r-- | app/models/note.rb | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/app/models/note.rb b/app/models/note.rb index cfa7ba98081..7731b477ad0 100644 --- a/app/models/note.rb +++ b/app/models/note.rb @@ -152,9 +152,7 @@ class Note < ApplicationRecord scope :for_note_or_capitalized_note, ->(text) { where(note: [text, text.capitalize]) } scope :like_note_or_capitalized_note, ->(text) { where('(note LIKE ? OR note LIKE ?)', text, text.capitalize) } - after_initialize :ensure_discussion_id before_validation :nullify_blank_type, :nullify_blank_line_code - before_validation :set_discussion_id, on: :create after_save :keep_around_commit, if: :for_project_noteable?, unless: :importing? after_save :expire_etag_cache, unless: :importing? after_save :touch_noteable, unless: :importing? @@ -394,7 +392,7 @@ class Note < ApplicationRecord # See `Discussion.override_discussion_id` for details. def discussion_id(noteable = nil) - discussion_class(noteable).override_discussion_id(self) || super() + discussion_class(noteable).override_discussion_id(self) || super() || ensure_discussion_id end # Returns a discussion containing just this note. @@ -533,17 +531,13 @@ class Note < ApplicationRecord end def ensure_discussion_id - return unless self.persisted? - # Needed in case the SELECT statement doesn't ask for `discussion_id` - return unless self.has_attribute?(:discussion_id) - return if self.discussion_id + return if self.attribute_present?(:discussion_id) - set_discussion_id - update_column(:discussion_id, self.discussion_id) + self.discussion_id = derive_discussion_id end - def set_discussion_id - self.discussion_id ||= discussion_class.discussion_id(self) + def derive_discussion_id + discussion_class.discussion_id(self) end def all_referenced_mentionables_allowed?(user) |