Add resolved_at and resolved_by_id to DiffNote
This commit is contained in:
parent
44ad074334
commit
46cc034e05
|
@ -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?
|
||||
|
|
|
@ -128,6 +128,18 @@ class Note < ActiveRecord::Base
|
|||
true
|
||||
end
|
||||
|
||||
def resolvable?
|
||||
false
|
||||
end
|
||||
|
||||
def resolved?
|
||||
false
|
||||
end
|
||||
|
||||
def to_be_resolved?
|
||||
resolvable? && !resolved?
|
||||
end
|
||||
|
||||
def discussion_id
|
||||
@discussion_id ||=
|
||||
if for_merge_request?
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
class AddResolvedToNotes < ActiveRecord::Migration
|
||||
include Gitlab::Database::MigrationHelpers
|
||||
|
||||
DOWNTIME = false
|
||||
|
||||
def change
|
||||
add_column :notes, :resolved_at, :datetime
|
||||
add_column :notes, :resolved_by_id, :integer
|
||||
end
|
||||
end
|
|
@ -11,7 +11,7 @@
|
|||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema.define(version: 20160721081015) do
|
||||
ActiveRecord::Schema.define(version: 20160724205507) do
|
||||
|
||||
# These are extensions that must be enabled in order to support this database
|
||||
enable_extension "plpgsql"
|
||||
|
@ -705,6 +705,8 @@ ActiveRecord::Schema.define(version: 20160721081015) do
|
|||
t.string "type"
|
||||
t.text "position"
|
||||
t.text "original_position"
|
||||
t.datetime "resolved_at"
|
||||
t.integer "resolved_by_id"
|
||||
end
|
||||
|
||||
add_index "notes", ["author_id"], name: "index_notes_on_author_id", using: :btree
|
||||
|
|
Loading…
Reference in New Issue