demarches-normaliennes/app/controllers/users/commencer_controller.rb

68 lines
1.8 KiB
Ruby
Raw Normal View History

2019-03-25 10:53:45 +01:00
module Users
2018-11-01 13:00:35 +01:00
class CommencerController < ApplicationController
2019-01-16 11:57:58 +01:00
layout 'procedure_context'
def commencer
@procedure = Procedure.publiees.find_by(path: params[:path])
return procedure_not_found if @procedure.blank?
2019-01-16 11:57:58 +01:00
render 'commencer/show'
2018-11-01 13:00:35 +01:00
end
2019-01-16 11:57:58 +01:00
def commencer_test
@procedure = Procedure.brouillons.find_by(path: params[:path])
return procedure_not_found if @procedure.blank?
2019-01-16 11:57:58 +01:00
render 'commencer/show'
end
def sign_in
@procedure = Procedure.find_by(path: params[:path])
return procedure_not_found if @procedure.blank?
store_user_location!(@procedure)
2019-01-16 11:57:58 +01:00
redirect_to new_user_session_path
end
def sign_up
@procedure = Procedure.find_by(path: params[:path])
return procedure_not_found if @procedure.blank?
store_user_location!(@procedure)
2019-01-16 11:57:58 +01:00
redirect_to new_user_registration_path
end
def france_connect
@procedure = Procedure.find_by(path: params[:path])
return procedure_not_found if @procedure.blank?
store_user_location!(@procedure)
redirect_to france_connect_particulier_path
end
def procedure_for_help
Procedure.publiees.find_by(path: params[:path]) || Procedure.brouillons.find_by(path: params[:path])
end
2019-01-16 11:57:58 +01:00
private
def procedure_not_found
2019-01-16 11:57:58 +01:00
procedure = Procedure.find_by(path: params[:path])
if procedure&.archivee?
flash.alert = t('errors.messages.procedure_archived')
elsif procedure&.publiee?
flash.alert = t('errors.messages.procedure_not_draft')
else
flash.alert = t('errors.messages.procedure_not_found')
end
return redirect_to root_path
end
def store_user_location!(procedure)
store_location_for(:user, helpers.procedure_lien(procedure))
2018-11-01 13:00:35 +01:00
end
end
end