Sha256: 6d7a1502251dd29f19e0d8458f85030741e5259647a1d1e4df5bf166ea90fa78

Contents?: true

Size: 1.35 KB

Versions: 3

Compression:

Stored size: 1.35 KB

Contents

# frozen_string_literal: true

module Decidim
  module Admin
    class ModeratedUsersController < Decidim::Admin::ApplicationController
      include Decidim::ModeratedUsers::Admin::Filterable

      layout "decidim/admin/global_moderations"

      def index
        enforce_permission_to :read, :moderate_users

        @moderated_users = filtered_collection
      end

      def ignore
        enforce_permission_to :unreport, :moderate_users

        Admin::UnreportUser.call(reportable, current_user) do
          on(:ok) do
            flash[:notice] = I18n.t("reportable.unreport.success", scope: "decidim.moderations.admin")
            redirect_to moderated_users_path
          end

          on(:invalid) do
            flash.now[:alert] = I18n.t("reportable.unreport.invalid", scope: "decidim.moderations.admin")
            redirect_to moderated_users_path
          end
        end
      end

      private

      def reportable
        @reportable ||= base_query_finder.find(params[:id]).user
      end

      def base_query_finder
        Decidim::Admin::ModerationStats.new(current_user).user_reports
      end

      def collection
        @collection ||= if params[:blocked]
                          base_query_finder.blocked
                        else
                          base_query_finder.unblocked
                        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
decidim-admin-0.28.0 app/controllers/decidim/admin/moderated_users_controller.rb
decidim-admin-0.28.0.rc5 app/controllers/decidim/admin/moderated_users_controller.rb
decidim-admin-0.28.0.rc4 app/controllers/decidim/admin/moderated_users_controller.rb