2019-05-09 23:10:02 +08:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2017-03-08 20:18:20 +08:00
|
|
|
class ProjectComment < Comment
|
2020-11-30 22:55:20 +08:00
|
|
|
before_create :fill_unseen_by
|
|
|
|
|
2019-05-09 23:10:02 +08:00
|
|
|
belongs_to :project, foreign_key: :associated_id, inverse_of: :project_comments, touch: true
|
2016-02-12 23:52:43 +08:00
|
|
|
|
2017-03-08 20:18:20 +08:00
|
|
|
validates :project, presence: true
|
2020-11-20 19:29:40 +08:00
|
|
|
|
|
|
|
def commentable
|
|
|
|
project
|
|
|
|
end
|
2020-11-30 22:55:20 +08:00
|
|
|
|
|
|
|
private
|
|
|
|
|
|
|
|
def fill_unseen_by
|
|
|
|
self.unseen_by += project.users.where.not(id: user.id).pluck(:id)
|
|
|
|
end
|
2016-02-12 23:52:43 +08:00
|
|
|
end
|