564efd0651
* Add appeals * Add ability to reject appeals and ability to browse pending appeals in admin UI * Add strikes to account page in settings * Various fixes and improvements - Add separate notification setting for appeals, separate from reports - Fix style of links in report/strike header - Change approving an appeal to not restore statuses (due to federation complexities) - Change style of successfully appealed strikes on account settings page - Change account settings page to only show unappealed or recently appealed strikes * Change appealed_at to overruled_at * Fix missing method error
28 lines
502 B
Ruby
28 lines
502 B
Ruby
# frozen_string_literal: true
|
|
|
|
class AppealService < BaseService
|
|
def call(strike, text)
|
|
@strike = strike
|
|
@text = text
|
|
|
|
create_appeal!
|
|
notify_staff!
|
|
|
|
@appeal
|
|
end
|
|
|
|
private
|
|
|
|
def create_appeal!
|
|
@appeal = @strike.create_appeal!(
|
|
text: @text,
|
|
account: @strike.target_account
|
|
)
|
|
end
|
|
|
|
def notify_staff!
|
|
User.staff.includes(:account).each do |u|
|
|
AdminMailer.new_appeal(u.account, @appeal).deliver_later if u.allows_appeal_emails?
|
|
end
|
|
end
|
|
end
|