summaryrefslogtreecommitdiff
path: root/app/models/note.rb
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2019-12-23 18:07:33 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2019-12-23 18:07:33 +0000
commit9f2d4a6490ea2ac9af8b640a507c8aff9ef220e8 (patch)
tree51681ef460b534757be9516e57b7a65e29153072 /app/models/note.rb
parentfda8735029d5aea76060f2e2b071ebcd6cd0777e (diff)
downloadgitlab-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.rb16
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)