diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2022-10-30 02:44:32 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-30 02:44:32 +0200 |
commit | 40c7f3e830538951862dc73074d1045a82395ab0 (patch) | |
tree | eb710cb6ba6b3c9da337c60e654d2b1fe4b42116 /app/models | |
parent | 276b85bc91138ec3364b6dcddd45d16da6569a19 (diff) |
Fix account action type validation (#19476)
* Fix account action type validation Fix #19143 * Fix #19145 * Fix code style issues
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/admin/account_action.rb | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/app/models/admin/account_action.rb b/app/models/admin/account_action.rb index aed3bc0c7..bce0d6e17 100644 --- a/app/models/admin/account_action.rb +++ b/app/models/admin/account_action.rb @@ -25,6 +25,8 @@ class Admin::AccountAction alias send_email_notification? send_email_notification alias include_statuses? include_statuses + validates :type, :target_account, :current_account, presence: true + def initialize(attributes = {}) @send_email_notification = true @include_statuses = true @@ -41,13 +43,15 @@ class Admin::AccountAction end def save! + raise ActiveRecord::RecordInvalid, self unless valid? + ApplicationRecord.transaction do process_action! process_strike! + process_reports! end process_email! - process_reports! process_queue! end @@ -106,9 +110,8 @@ class Admin::AccountAction # Otherwise, we will mark all unresolved reports about # the account as resolved. - reports.each { |report| authorize(report, :update?) } - reports.each do |report| + authorize(report, :update?) log_action(:resolve, report) report.resolve!(current_account) end |