Sha256: 9727340f856e0fa10dc1fbb0e89b62192745c35d219a90b3b33e02fd1973b953

Contents?: true

Size: 1.22 KB

Versions: 14

Compression:

Stored size: 1.22 KB

Contents

class ExamAuthorizationRequestsController < ApplicationController

  before_action :verify_registration_opened!, on: [:create, :update]

  def create
    authorization_request = ExamAuthorizationRequest.find_or_create_by! create_authorization_request_params do |it|
      it.assign_attributes authorization_request_params
    end
    current_user.read_notification! authorization_request.exam_registration
    flash.notice = I18n.t :exam_authorization_request_created
    redirect_to root_path
  end

  def update
    ExamAuthorizationRequest.update params[:id], authorization_request_params
    flash.notice = I18n.t :exam_authorization_request_saved
    redirect_to root_path
  end

  private

  def create_authorization_request_params
    authorization_request_params.slice :exam_registration_id, :user, :organization
  end

  def authorization_request_params
    params
        .require(:exam_authorization_request).permit(:exam_id, :exam_registration_id)
        .merge(user: current_user, organization: Organization.current)
  end

  def verify_registration_opened!
    exam_registration = ExamRegistration.find(authorization_request_params[:exam_registration_id])
    raise Mumuki::Domain::GoneError if exam_registration.end_time.past?
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
mumuki-laboratory-9.13.2 app/controllers/exam_authorization_requests_controller.rb
mumuki-laboratory-9.13.1 app/controllers/exam_authorization_requests_controller.rb
mumuki-laboratory-9.13.0 app/controllers/exam_authorization_requests_controller.rb
mumuki-laboratory-9.12.1 app/controllers/exam_authorization_requests_controller.rb
mumuki-laboratory-9.12.0 app/controllers/exam_authorization_requests_controller.rb
mumuki-laboratory-9.11.0 app/controllers/exam_authorization_requests_controller.rb
mumuki-laboratory-9.10.0 app/controllers/exam_authorization_requests_controller.rb
mumuki-laboratory-9.9.0 app/controllers/exam_authorization_requests_controller.rb
mumuki-laboratory-9.8.2 app/controllers/exam_authorization_requests_controller.rb
mumuki-laboratory-9.8.1 app/controllers/exam_authorization_requests_controller.rb
mumuki-laboratory-9.8.0 app/controllers/exam_authorization_requests_controller.rb
mumuki-laboratory-9.7.2 app/controllers/exam_authorization_requests_controller.rb
mumuki-laboratory-9.7.1 app/controllers/exam_authorization_requests_controller.rb
mumuki-laboratory-9.7.0 app/controllers/exam_authorization_requests_controller.rb