summaryrefslogtreecommitdiff
path: root/app/models/diff_note.rb
diff options
context:
space:
mode:
authorDouwe Maan <douwe@selenight.nl>2016-07-25 22:33:01 -0600
committerDouwe Maan <douwe@selenight.nl>2016-07-25 22:33:01 -0600
commit46cc034e05448ff3f515c8e6ad2f72e3e0d657cc (patch)
treefeaee2a04b7b4e15dbafbfdd99cf0d366d0392a2 /app/models/diff_note.rb
parent44ad0743349ea0495ff1b956d14ff244dbbe5b80 (diff)
downloadgitlab-ce-46cc034e05448ff3f515c8e6ad2f72e3e0d657cc.tar.gz
Add resolved_at and resolved_by_id to DiffNote
Diffstat (limited to 'app/models/diff_note.rb')
-rw-r--r--app/models/diff_note.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/app/models/diff_note.rb b/app/models/diff_note.rb
index 9671955db36..d76ac51af0f 100644
--- a/app/models/diff_note.rb
+++ b/app/models/diff_note.rb
@@ -4,11 +4,14 @@ class DiffNote < Note
serialize :original_position, Gitlab::Diff::Position
serialize :position, Gitlab::Diff::Position
+ belongs_to :resolved_by, class_name: "User"
+
validates :original_position, presence: true
validates :position, presence: true
validates :diff_line, presence: true
validates :line_code, presence: true, line_code: true
validates :noteable_type, inclusion: { in: ['Commit', 'MergeRequest'] }
+ validates :resolved_by, presence: true, if: :resolved?
validate :positions_complete
validate :verify_supported
@@ -72,6 +75,16 @@ class DiffNote < Note
self.position.diff_refs == diff_refs
end
+ def resolvable?
+ !system? && !for_commit?
+ end
+
+ def resolved?
+ return false unless resolvable?
+
+ self.resolved_at.present?
+ end
+
private
def supported?