diff options
author | Claire <claire.github-309c@sitedethib.com> | 2021-04-20 18:06:40 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-20 18:06:40 +0200 |
commit | 97da7b73071e9f515c4bb0bca72c88d1a13b14aa (patch) | |
tree | 89c81064b9e3725962a847e98099a5b84b728733 /app/controllers/admin/follow_recommendations_controller.rb | |
parent | df326b8b5c0659edb2aca77690a892f228b0e099 (diff) | |
parent | 4b115d070c9a8b6082ed207bd0a14e809eded322 (diff) |
Merge pull request #1521 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
Diffstat (limited to 'app/controllers/admin/follow_recommendations_controller.rb')
-rw-r--r-- | app/controllers/admin/follow_recommendations_controller.rb | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/app/controllers/admin/follow_recommendations_controller.rb b/app/controllers/admin/follow_recommendations_controller.rb new file mode 100644 index 000000000..e3eac62b3 --- /dev/null +++ b/app/controllers/admin/follow_recommendations_controller.rb @@ -0,0 +1,53 @@ +# frozen_string_literal: true + +module Admin + class FollowRecommendationsController < BaseController + before_action :set_language + + def show + authorize :follow_recommendation, :show? + + @form = Form::AccountBatch.new + @accounts = filtered_follow_recommendations + end + + def update + @form = Form::AccountBatch.new(form_account_batch_params.merge(current_account: current_account, action: action_from_button)) + @form.save + rescue ActionController::ParameterMissing + # Do nothing + ensure + redirect_to admin_follow_recommendations_path(filter_params) + end + + private + + def set_language + @language = follow_recommendation_filter.language + end + + def filtered_follow_recommendations + follow_recommendation_filter.results + end + + def follow_recommendation_filter + @follow_recommendation_filter ||= FollowRecommendationFilter.new(filter_params) + end + + def form_account_batch_params + params.require(:form_account_batch).permit(:action, account_ids: []) + end + + def filter_params + params.slice(*FollowRecommendationFilter::KEYS).permit(*FollowRecommendationFilter::KEYS) + end + + def action_from_button + if params[:suppress] + 'suppress_follow_recommendation' + elsif params[:unsuppress] + 'unsuppress_follow_recommendation' + end + end + end +end |