diff options
author | Claire <claire.github-309c@sitedethib.com> | 2021-11-26 01:12:09 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-26 01:12:09 +0100 |
commit | b4f785c1f46693c4e42b035e6728f99aac1b85db (patch) | |
tree | e904eeb81cc2a1cd99dc11d8fbe0ed0e9d766d59 /app/models/form/preview_card_provider_batch.rb | |
parent | 8c2fe2a846dd14914f7faa4bf71be21058249a93 (diff) | |
parent | 5f10e64330635bfd609ba5acdd78fa505c12f5b1 (diff) |
Merge pull request #1636 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
Diffstat (limited to 'app/models/form/preview_card_provider_batch.rb')
-rw-r--r-- | app/models/form/preview_card_provider_batch.rb | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/app/models/form/preview_card_provider_batch.rb b/app/models/form/preview_card_provider_batch.rb new file mode 100644 index 000000000..e6ab3d8fa --- /dev/null +++ b/app/models/form/preview_card_provider_batch.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true + +class Form::PreviewCardProviderBatch + include ActiveModel::Model + include Authorization + + attr_accessor :preview_card_provider_ids, :action, :current_account + + def save + case action + when 'approve' + approve! + when 'reject' + reject! + end + end + + private + + def preview_card_providers + PreviewCardProvider.where(id: preview_card_provider_ids) + end + + def approve! + preview_card_providers.each { |provider| authorize(provider, :update?) } + preview_card_providers.update_all(trendable: true, reviewed_at: Time.now.utc) + end + + def reject! + preview_card_providers.each { |provider| authorize(provider, :update?) } + preview_card_providers.update_all(trendable: false, reviewed_at: Time.now.utc) + end +end |