Sha256: a72eed5ce0117378c5bf076772723ea0cb8dff73943e8918b9df85c7f8ba88a0

Contents?: true

Size: 1.5 KB

Versions: 1

Compression:

Stored size: 1.5 KB

Contents

module EgovUtils
  class RegistrationRequestsController < ApplicationController
    before_action :find_registration_request, only: %i[show update]
    before_action :require_login, except: %i[new create]

    def index
      @registration_requests =
        RegistrationRequest.order(created_at: :desc).page(params[:page] || 1)
    end

    def show; end

    def new
      @registration_request = RegistrationRequest.new
    end

    def create
      @registration_request = RegistrationRequests::Create.run!(create_params)
      if @registration_request.valid?
        redirect_to egov_utils.new_session_path,
                    notice: I18n.t('registration_request.create.success')
      else
        render :new
      end
    end

    def update
      RegistrationRequests::HandleRequest.run!(
        update_params.merge(registration_request: @registration_request)
      )

      if @registration_request.valid?
        redirect_to @registration_request,
                    notice: I18n.t('registration_request.update.success')
      else
        render :show
      end
    end

    private

    def find_registration_request
      @registration_request = EgovUtils::RegistrationRequest.find(params[:id])
    end

    def create_params
      params
        .require(:registration_request)
        .permit(:mail, :firstname, :lastname, :organization, :note)
    end

    def update_params
      params
        .require(:registration_request)
        .permit(:status, :reason, :internal_reason, roles: [])
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
egov_utils-1.2.0 app/controllers/egov_utils/registration_requests_controller.rb