catstodon/app/services/appeal_service.rb
Eugen Rochko 564efd0651
Add appeals (#17364)
* 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
2022-02-14 21:27:53 +01:00

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