Sha256: c0030898d11d6680e31bd05e041c3ca92251829ac113f075ca99b41182c46363

Contents?: true

Size: 1.51 KB

Versions: 4

Compression:

Stored size: 1.51 KB

Contents

# frozen_string_literal: true

module Decidim
  module Admin
    class ConflictsController < Decidim::Admin::ApplicationController
      layout "decidim/admin/users"

      def index
        enforce_permission_to :index, :impersonatable_user

        @conflicts = Decidim::Verifications::Conflict.joins(:current_user).where(
          decidim_users: { decidim_organization_id: current_organization.id }
        )
      end

      def edit
        enforce_permission_to :index, :impersonatable_user

        conflict = Decidim::Verifications::Conflict.find(params[:id])

        @form = form(TransferUserForm).from_params(
          user: conflict.current_user,
          managed_user: conflict.managed_user,
          conflict: conflict
        )
      end

      def update
        enforce_permission_to :index, :impersonatable_user

        conflict = Decidim::Verifications::Conflict.find(params[:id])

        @form = form(TransferUserForm).from_params(
          current_user: current_user,
          conflict: conflict,
          reason: params[:transfer_user][:reason],
          email: params[:transfer_user][:email]
        )

        TransferUser.call(@form) do
          on(:ok) do
            flash[:notice] = I18n.t("success", scope: "decidim.admin.conflicts.transfer")
            redirect_to conflicts_path
          end

          on(:invalid) do
            flash.now[:alert] = I18n.t("error", scope: "decidim.admin.conflicts.transfer")
            redirect_to decidim.root_path
          end
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
decidim-admin-0.27.9 app/controllers/decidim/admin/conflicts_controller.rb
decidim-admin-0.27.8 app/controllers/decidim/admin/conflicts_controller.rb
decidim-admin-0.27.7 app/controllers/decidim/admin/conflicts_controller.rb
decidim-admin-0.27.6 app/controllers/decidim/admin/conflicts_controller.rb