demarches-normaliennes/app/controllers/root_controller.rb

96 lines
2.8 KiB
Ruby
Raw Normal View History

class RootController < ApplicationController
include ApplicationHelper
def index
if administrateur_signed_in?
2016-12-19 16:54:41 +01:00
return redirect_to admin_procedures_path
elsif instructeur_signed_in?
return redirect_to instructeur_procedures_path
elsif user_signed_in?
return redirect_to dossiers_path
elsif super_admin_signed_in?
2018-01-16 17:09:25 +01:00
return redirect_to manager_root_path
end
2016-12-14 18:41:33 +01:00
2020-10-06 14:23:15 +02:00
@stat = Stat.first
2017-06-14 14:42:09 +02:00
render 'landing'
end
def administration
end
2017-06-14 14:42:09 +02:00
def patron
description = "Allez voir le super site : #{APPLICATION_BASE_URL}"
2017-08-02 15:29:12 +02:00
2017-08-02 14:56:08 +02:00
all_champs = TypeDeChamp.type_champs
2019-10-23 12:07:21 +02:00
.map { |name, _| TypeDeChamp.new(type_champ: name, private: false, libelle: name.humanize, description: description, mandatory: true) }
2018-02-09 17:38:30 +01:00
.map.with_index { |type_de_champ, i| type_de_champ.champ.build(id: i) }
2017-08-02 14:56:08 +02:00
all_champs
2019-09-12 11:26:22 +02:00
.filter { |champ| champ.type_champ == TypeDeChamp.type_champs.fetch(:header_section) }
2019-10-23 12:07:21 +02:00
.each { |champ| champ.type_de_champ.libelle = 'Un super titre de section' }
2017-08-02 14:56:08 +02:00
all_champs
2020-07-17 11:07:33 +02:00
.filter { |champ| champ.type_de_champ.drop_down_list? }
.each do |champ|
2020-07-17 11:07:33 +02:00
if champ.type_de_champ.linked_drop_down_list?
champ.type_de_champ.drop_down_list_value =
"-- section 1 --
option A
option B
-- section 2 --
option C"
else
champ.type_de_champ.drop_down_list_value =
"option A
option B
-- avant l'option C --
option C"
champ.value = '["option B", "option C"]'
end
end
all_champs
.filter { |champ| champ.type_champ == TypeDeChamp.type_champs.fetch(:repetition) }
.each do |champ_repetition|
libelles = ['Prénom', 'Nom'];
champ_repetition.champs << libelles.map.with_index do |libelle, i|
text_tdc = TypeDeChamp.new(type_champ: :text, private: false, libelle: libelle, description: description, mandatory: true)
text_tdc.champ.build(id: all_champs.length + i)
end
end
type_champ_values = {
2018-08-28 11:52:15 +02:00
TypeDeChamp.type_champs.fetch(:date) => '2016-07-26',
TypeDeChamp.type_champs.fetch(:datetime) => '26/07/2016 07:35',
TypeDeChamp.type_champs.fetch(:textarea) => 'Une description de mon projet'
}
type_champ_values.each do |(type_champ, value)|
2017-08-02 14:56:08 +02:00
all_champs
2019-09-12 11:26:22 +02:00
.filter { |champ| champ.type_champ == type_champ }
.each { |champ| champ.value = value }
end
2017-08-02 14:56:08 +02:00
@dossier = Dossier.new(champs: all_champs)
end
2018-11-07 16:54:18 +01:00
def suivi
end
def dismiss_outdated_browser
dismiss_outdated_browser_banner
respond_to do |format|
format.html { redirect_back(fallback_location: root_path) }
format.js { render js: helpers.remove_element('#outdated-browser-banner') }
end
end
2021-05-12 16:30:35 +02:00
def save_locale
cookies[:locale] = params[:locale]
redirect_to request.referer
end
end