Sha256: 7dd52621be3ccb8be7ba53f71a132a8aa485dfcacceb470b546ecfff820179e1

Contents?: true

Size: 1.09 KB

Versions: 10

Compression:

Stored size: 1.09 KB

Contents

# frozen_string_literal: true

module Decidim
  class ReportUsersController < ApplicationController
    include FormFactory
    include NeedsPermission

    before_action :authenticate_user!

    def create
      enforce_permission_to :create, :user_report

      @form = form(Decidim::ReportForm).from_params(params)

      CreateUserReport.call(@form, reportable) do
        on(:ok) do
          flash[:notice] = I18n.t("decidim.reports.create.success")
          if @form.block?
            redirect_to decidim_admin.new_user_block_path(user_id: reportable.id, hide: form.hide?)
          else
            redirect_back fallback_location: root_path
          end
        end

        on(:invalid) do
          flash[:alert] = I18n.t("decidim.reports.create.error")
          redirect_back fallback_location: root_path
        end
      end
    end

    private

    def reportable
      @reportable ||= GlobalID::Locator.locate_signed params[:sgid]
    end

    def permission_class_chain
      [Decidim::ReportUserPermissions, Decidim::Permissions]
    end

    def permission_scope
      :public
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
decidim-core-0.30.0.rc3 app/controllers/decidim/report_users_controller.rb
decidim-core-0.30.0.rc2 app/controllers/decidim/report_users_controller.rb
decidim-core-0.30.0.rc1 app/controllers/decidim/report_users_controller.rb
decidim-core-0.29.2 app/controllers/decidim/report_users_controller.rb
decidim-core-0.29.1 app/controllers/decidim/report_users_controller.rb
decidim-core-0.29.0 app/controllers/decidim/report_users_controller.rb
decidim-core-0.29.0.rc4 app/controllers/decidim/report_users_controller.rb
decidim-core-0.29.0.rc3 app/controllers/decidim/report_users_controller.rb
decidim-core-0.29.0.rc2 app/controllers/decidim/report_users_controller.rb
decidim-core-0.29.0.rc1 app/controllers/decidim/report_users_controller.rb