mirror of
https://github.com/wahyd4/gitlabhq.git
synced 2026-08-13 06:36:09 +10:00
This is intended to prevent the user from creating new objects while the transaction that removes them is being run, resulting in objects with nil authors which can then not be edited. See https://gitlab.com/gitlab-org/gitlab-ce/issues/7117
33 lines
651 B
Ruby
33 lines
651 B
Ruby
# == Schema Information
|
|
#
|
|
# Table name: abuse_reports
|
|
#
|
|
# id :integer not null, primary key
|
|
# reporter_id :integer
|
|
# user_id :integer
|
|
# message :text
|
|
# created_at :datetime
|
|
# updated_at :datetime
|
|
#
|
|
|
|
class AbuseReport < ActiveRecord::Base
|
|
belongs_to :reporter, class_name: 'User'
|
|
belongs_to :user
|
|
|
|
validates :reporter, presence: true
|
|
validates :user, presence: true
|
|
validates :message, presence: true
|
|
validates :user_id, uniqueness: true
|
|
|
|
def remove_user
|
|
user.block
|
|
user.destroy
|
|
end
|
|
|
|
def notify
|
|
return unless self.persisted?
|
|
|
|
AbuseReportMailer.notify(self.id).deliver_later
|
|
end
|
|
end
|