Sha256: da86af07fcbd57351e1f84c1ad45f77d7049614ff8ba99538d82ef6bcf002074

Contents?: true

Size: 1.24 KB

Versions: 7

Compression:

Stored size: 1.24 KB

Contents

class ExamAuthorizationRequestsController < ApplicationController

  before_action :set_registration!
  before_action :set_exam!
  before_action :verify_registration_opened!

  def create
    authorization_request = @registration.request_authorization! current_user, @exam
    current_user.read_notification! @registration
    flash.notice = friendly_flash_notice(:exam_authorization_request_created)
    redirect_to exam_authorizations_user_path
  end

  def update
    @registration.update_authorization_request_by_id! params[:id], @exam
    flash.notice = friendly_flash_notice(:exam_authorization_request_saved)
    redirect_to exam_authorizations_user_path
  end

  private

  def friendly_flash_notice(key)
    I18n.t key, friendly_date: helpers.local_time(@exam.start_time)
  end

  def authorization_request_params
    params.require(:exam_authorization_request).permit(:exam_id, :exam_registration_id)
  end

  def set_registration!
    @registration = Organization.current.exam_registrations.find(authorization_request_params[:exam_registration_id])
  end

  def set_exam!
    @exam = @registration.exams.find(authorization_request_params[:exam_id])
  end

  def verify_registration_opened!
    raise Mumuki::Domain::GoneError if @registration.ended?
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
mumuki-laboratory-9.23.0 app/controllers/exam_authorization_requests_controller.rb
mumuki-laboratory-9.22.0 app/controllers/exam_authorization_requests_controller.rb
mumuki-laboratory-9.21.0 app/controllers/exam_authorization_requests_controller.rb
mumuki-laboratory-9.20.1 app/controllers/exam_authorization_requests_controller.rb
mumuki-laboratory-9.20.0 app/controllers/exam_authorization_requests_controller.rb
mumuki-laboratory-9.19.0 app/controllers/exam_authorization_requests_controller.rb
mumuki-laboratory-9.18.1 app/controllers/exam_authorization_requests_controller.rb