diff options
author | ThibG <thib@sitedethib.com> | 2019-04-08 18:17:22 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-08 18:17:22 +0200 |
commit | fc2f7ee8710b498c4533e229aff6391396aa7213 (patch) | |
tree | 9576b254773166a419b932c50e8f4d354bea73c3 /app/models/form | |
parent | 30500dff7cbf27fbee6eb45e20cc24ca0b7a9e77 (diff) | |
parent | 63837a4b781ad27a4af895b0c983d4aff57d80e3 (diff) |
Merge pull request #983 from ThibG/glitch-soc/merge-upstream
Merge upstream changes
Diffstat (limited to 'app/models/form')
-rw-r--r-- | app/models/form/account_batch.rb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/app/models/form/account_batch.rb b/app/models/form/account_batch.rb index 60eaaf0e2..5bc44e809 100644 --- a/app/models/form/account_batch.rb +++ b/app/models/form/account_batch.rb @@ -2,6 +2,7 @@ class Form::AccountBatch include ActiveModel::Model + include Authorization attr_accessor :account_ids, :action, :current_account @@ -13,6 +14,10 @@ class Form::AccountBatch remove_from_followers! when 'block_domains' block_domains! + when 'approve' + approve! + when 'reject' + reject! end end @@ -57,4 +62,18 @@ class Form::AccountBatch ActivityPub::DeliveryWorker.perform_async(json, current_account.id, follow.account.inbox_url) end + + def approve! + users = accounts.includes(:user).map(&:user) + + users.each { |user| authorize(user, :approve?) } + .each(&:approve!) + end + + def reject! + records = accounts.includes(:user) + + records.each { |account| authorize(account.user, :reject?) } + .each { |account| SuspendAccountService.new.call(account, including_user: true, destroy: true, skip_distribution: true) } + end end |