Sha256: 65338154925b7438f217c3672c08bc4d2243f568445d22758f6c6b514155a181

Contents?: true

Size: 1.91 KB

Versions: 10

Compression:

Stored size: 1.91 KB

Contents

# frozen_string_literal: true

module Decidim
  module Proposals
    module Admin
      class ValuationAssignmentsController < Admin::ApplicationController
        def create
          @form = form(Admin::ValuationAssignmentForm).from_params(params)

          @form.proposals.each do |proposal|
            enforce_permission_to :assign_to_valuator, :proposals, proposal:
          end

          Admin::AssignProposalsToValuator.call(@form) do
            on(:ok) do |_proposal|
              flash[:notice] = I18n.t("valuation_assignments.create.success", scope: "decidim.proposals.admin")
              redirect_to EngineRouter.admin_proxy(current_component).root_path
            end

            on(:invalid) do
              flash.now[:alert] = I18n.t("valuation_assignments.create.invalid", scope: "decidim.proposals.admin")
              redirect_to EngineRouter.admin_proxy(current_component).root_path
            end
          end
        end

        def destroy
          @form = form(Admin::ValuationAssignmentForm).from_params(params)

          @form.valuator_roles.each do |valuator_role|
            enforce_permission_to :unassign_from_valuator, :proposals, valuator: valuator_role.user
          end

          Admin::UnassignProposalsFromValuator.call(@form) do
            on(:ok) do |_proposal|
              flash.keep[:notice] = I18n.t("valuation_assignments.delete.success", scope: "decidim.proposals.admin")
              redirect_back fallback_location: EngineRouter.admin_proxy(current_component).root_path
            end

            on(:invalid) do
              flash.keep[:alert] = I18n.t("valuation_assignments.delete.invalid", scope: "decidim.proposals.admin")
              redirect_back fallback_location: EngineRouter.admin_proxy(current_component).root_path
            end
          end
        end

        private

        def skip_manage_component_permission
          true
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
decidim-proposals-0.30.0.rc3 app/controllers/decidim/proposals/admin/valuation_assignments_controller.rb
decidim-proposals-0.30.0.rc2 app/controllers/decidim/proposals/admin/valuation_assignments_controller.rb
decidim-proposals-0.30.0.rc1 app/controllers/decidim/proposals/admin/valuation_assignments_controller.rb
decidim-proposals-0.29.2 app/controllers/decidim/proposals/admin/valuation_assignments_controller.rb
decidim-proposals-0.29.1 app/controllers/decidim/proposals/admin/valuation_assignments_controller.rb
decidim-proposals-0.29.0 app/controllers/decidim/proposals/admin/valuation_assignments_controller.rb
decidim-proposals-0.29.0.rc4 app/controllers/decidim/proposals/admin/valuation_assignments_controller.rb
decidim-proposals-0.29.0.rc3 app/controllers/decidim/proposals/admin/valuation_assignments_controller.rb
decidim-proposals-0.29.0.rc2 app/controllers/decidim/proposals/admin/valuation_assignments_controller.rb
decidim-proposals-0.29.0.rc1 app/controllers/decidim/proposals/admin/valuation_assignments_controller.rb