formation_formation_index:
    path:     /
    defaults:
      _controller: FormationBundle:Default:index
      filtre_active: true

formation_formation_index_desactive:
    path:     /index_desactives
    defaults:
      _controller: FormationBundle:Default:index
      filtre_active: false

formation_formation_show:
    path:     /infos/{id}
    defaults: { _controller: FormationBundle:Default:infos }

formation_formation_edit:
    path:     /edit/{id}
    defaults: { _controller: FormationBundle:Default:edit }

formation_formation_create:
    path:     /create
    defaults: { _controller: FormationBundle:Default:create }

formation_formation_active:
    path:     /active/{id}
    defaults: { _controller: FormationBundle:Default:activeFormation }

#sous-CRUD pour autres entités (élèves et profs sont dans UserBundle)

formation_autres_eleves_index:
    path:     /{id}/autres_eleves
    defaults: { _controller: FormationBundle:Default:getElevesNotInFormation }
    methods:  [GET, POST]

formation_formation_add_eleves:
    path:     /{id}/add_eleves
    defaults: { _controller: FormationBundle:Default:addEleves }
    methods:  [GET, POST]

formation_formation_remove_eleves:
    path:     /{id}/remove_eleves
    defaults: { _controller: FormationBundle:Default:removeEleves }
    methods:  [GET, POST]

formation_autres_profs_index:
    path:     /{id}/autres_profs
    defaults: { _controller: FormationBundle:Default:getprofsNotInFormation }
    methods:  [GET, POST]

formation_formation_add_profs:
    path:     /{id}/add_profs
    defaults: { _controller: FormationBundle:Default:addprofs }
    methods:  [GET, POST]

formation_formation_remove_profs:
    path:     /{id}/remove_profs
    defaults: { _controller: FormationBundle:Default:removeprofs }
    methods:  [GET, POST]

formation_autres_modules_index:
    path:     /{id}/autres_modules
    defaults: { _controller: FormationBundle:Default:getmodulesNotInFormation }
    methods:  [GET, POST]

formation_formation_add_modules:
    path:     /{id}/add_modules
    defaults: { _controller: FormationBundle:Default:addmodules }
    methods:  [GET, POST]

formation_formation_remove_modules:
    path:     /{id}/remove_modules
    defaults: { _controller: FormationBundle:Default:removemodules }
    methods:  [GET, POST]

formation_formation_update_order_module:
    path:     /update_order_module/{id}
    defaults: { _controller: FormationBundle:Default:updateordermodule }
    methods:  [GET, POST]


formation_niveau:
    resource: "@FormationBundle/Resources/config/routing/niveau.yml"
    prefix:   /niveau

formation_typeformation:
    resource: "@FormationBundle/Resources/config/routing/typeformation.yml"
    prefix:   /typeformation

formation_compterendu:
    resource: "@FormationBundle/Resources/config/routing/compterendu.yml"
    prefix:   /compterendu

formation_formationeleve:
    resource: "@FormationBundle/Resources/config/routing/formationeleve.yml"
    prefix:   /formationeleve

formation_compterenduformation:
    resource: "@FormationBundle/Resources/config/routing/compterenduformation.yml"
    prefix:   /compterenduformation

#connexion eleve TODO: supprimer si plus d'actualité
formation_formation_eleve_liste_registered:
    path:     /eleve_registered
    defaults: { _controller: FormationBundle:Default:registered }

formation_formation_pdf:
    path:     /pdf/{id}
    defaults: { _controller: FormationBundle:Default:pdf }
    methods:  [GET, POST]

formation_mes_formations_eleve:
    path:     /mes-formations
    defaults: { _controller: FormationBundle:Default:mesFormationsEleve }
    methods:  [GET, POST]

formation_ma_formations_eleve:
    path:     /mes-formations/{id}
    defaults: { _controller: FormationBundle:Default:maFormationEleve }
    methods:  [GET, POST]

formation_formation_export:
    path:     /export/{id}
    defaults: { _controller: FormationBundle:Default:export }
    methods:  [GET, POST]

formation_formation_statlecon:
    path:     /statlecon/{formation}/{module}/{lecon}
    defaults: { _controller: FormationBundle:Default:statlecon }
    methods:  [GET, POST]

formation_formation_stat:
    path:     /stat/{formation}
    defaults: { _controller: FormationBundle:Default:statformation }
    methods:  [GET, POST]

formation_formation_exportbilan:
    path:     /exportbilan
    defaults: { _controller: FormationBundle:Default:exportbilan }
    methods:  [GET, POST]

formation_formation_export_eleves_vers_formation:
    path:     /export-eleves-vers-formation
    defaults: { _controller: FormationBundle:Default:exportElevesVersFormation }
    methods:  [GET, POST]

formation_formation_bilan_intermediaire:
    path:     /bilan-intermediaire/{id}
    defaults: { _controller: FormationBundle:Default:bilanIntermediaire }

formation_formation_bilan_intermediaire_json:
    path:     /bilan-intermediaire/{id}/json
    defaults: { _controller: FormationBundle:Default:jsonBilanIntermediaire }
# Routes concernant la géstion des cursus

cursus_liste:
    path:     /cursus
    defaults: { _controller: FormationBundle:Cursus:index }
    methods:  [GET, POST]

cursus_show:
    path:     /cursus/infos/{id}
    defaults: { _controller: FormationBundle:Cursus:infos }
    methods:  [GET, POST]

cursus_create:
    path:     /cursus/create/
    defaults: { _controller: FormationBundle:Cursus:create }
    methods:  [GET, POST]

cursus_edit:
    path:     /cursus/edit/{id}
    defaults: { _controller: FormationBundle:Cursus:edit }
    methods:  [GET, POST]

import_info_cursus:
    path:     /cursus/import_info_cursus/{id}
    defaults: { _controller: FormationBundle:Cursus:importFormation }
    methods:  [GET, POST]

# Routes AJAX gestion des formations dans un cursus
cursus_autres_formation_index:
    path:     /autres_formations/{id}
    defaults: { _controller: FormationBundle:Cursus:listeFormation }
    methods:  [GET, POST]

liste_formation_json:
    path:     /autres_formations_json
    defaults: { _controller: FormationBundle:Cursus:listeFormationJson }
    methods:  [GET, POST]
cursus_add_formation:
    path:     /{id}/cursus_add_formation
    defaults: { _controller: FormationBundle:Cursus:addFormation }
    methods:  [GET, POST]

cursus_remove_formation:
    path:     /{id}/cursus_remove_formation
    defaults: { _controller: FormationBundle:Cursus:removeFormation }
    methods:  [GET, POST]

cursus_formation_liste_module:
    path:     /{id}/planning/module_liste
    defaults: { _controller: FormationBundle:Cursus:formationListeModule }
    methods:  [GET, POST]

cursus_formation_liste_module_json:
    path:     /{id}/planning/module_liste_json
    defaults: { _controller: FormationBundle:Cursus:formationListeModuleJson }
    methods:  [GET, POST]

# Routes AJAX gestion des eleves dans un cursus
cursus_autres_eleve_index:
    path:     /autres_eleves/{id}
    defaults: { _controller: FormationBundle:Cursus:listeEleve }
    methods:  [GET, POST]

liste_eleve_json:
    path:     /autres_eleves_json
    defaults: { _controller: FormationBundle:Cursus:listeEleveJson }
    methods:  [GET, POST]

cursus_add_eleve:
    path:     /{id}/cursus_add_eleve
    defaults: { _controller: FormationBundle:Cursus:addEleve }
    methods:  [GET, POST]

cursus_remove_eleve:
    path:     /{id}/cursus_remove_eleve
    defaults: { _controller: FormationBundle:Cursus:removeEleve }
    methods:  [GET, POST]

# Routes AJAX gestion des profs dans un cursus
cursus_autres_prof_index:
    path:     /autres_profs/{id}
    defaults: { _controller: FormationBundle:Cursus:listeProf }
    methods:  [GET, POST]

liste_prof_json:
    path:     /autres_profs_json
    defaults: { _controller: FormationBundle:Cursus:listeProfJson }
    methods:  [GET, POST]

cursus_add_prof:
    path:     /{id}/cursus_add_prof
    defaults: { _controller: FormationBundle:Cursus:addProf }
    methods:  [GET, POST]

cursus_remove_prof:
    path:     /{id}/cursus_remove_prof
    defaults: { _controller: FormationBundle:Cursus:removeProf }
    methods:  [GET, POST]

# Routes AJAX gestion des groupes dans un cursus
liste_groupe_json:
    path:     /liste_groupe_json
    defaults: { _controller: FormationBundle:Cursus:listeGroupeJson }
    methods:  [GET, POST]

cursus_cree_groupe_formation_index:
    path:     /cree_groupe_formation/{id}
    defaults: { _controller: FormationBundle:Cursus:creeGroupeFormation }
    methods:  [GET, POST]

cursus_cree_groupe_index:
    path:     /cree_groupe/{id}
    defaults: { _controller: FormationBundle:Cursus:creeGroupe }
    methods:  [GET, POST]

cursus_add_groupe:
    path:     /{id}/add_groupe
    defaults: { _controller: FormationBundle:Cursus:addGroupe }
    methods:  [GET, POST]

cursus_add_groupe_formation:
    path:     /{id}/add_groupe_formation
    defaults: { _controller: FormationBundle:Cursus:addGroupeFormation }
    methods:  [GET, POST]

cursus_remove_groupe:
    path:     /{id}/cursus_remove_groupe
    defaults: { _controller: FormationBundle:Cursus:removeGroupe }
    methods:  [GET, POST]

cursus_liste_groupe:
    path:     /{id}/planning/groupe_liste
    defaults: { _controller: FormationBundle:Cursus:cursusListeGroupe }
    methods:  [GET, POST]

cursus_liste_groupe_json:
    path:     /{id}/planning/groupe_liste_json
    defaults: { _controller: FormationBundle:Cursus:cursusListeGroupeJson }
    methods:  [GET, POST]

cursus_get_groupe:
    path:     /{id}/planning/groupe_get
    defaults: { _controller: FormationBundle:Cursus:getGroupe }
    methods:  [GET, POST]
# ===============================================
# Routes AJAX gestion des planning dans un cursus
# ===============================================

planning_index:
    path:     /{id}/planning
    defaults: { _controller: FormationBundle:Planning:index }
    methods:  [GET, POST]

# Routes AJAX gestion semestre
planning_liste_semestre:
    path:     /{id}/planning/semestres
    defaults: { _controller: FormationBundle:Planning:listeSemestre }
    methods:  [GET, POST]

planning_add_semestre:
    path:     /{id}/planning/semestre_add
    defaults: { _controller: FormationBundle:Planning:addSemestre }
    methods:  [GET, POST]

planning_edit_semestre:
    path:     /{id}/planning/semestre_edit
    defaults: { _controller: FormationBundle:Planning:editSemestre }
    methods:  [GET, POST]

planning_order_semestre:
    path:     /{id}/planning/semestres_order
    defaults: { _controller: FormationBundle:Planning:ordreSemestre }
    methods:  [GET, POST]

planning_remove_semestre:
    path:     /{id}/planning/semestre_remove
    defaults: { _controller: FormationBundle:Planning:removeSemestre }
    methods:  [GET, POST]


# Routes AJAX gestion cours
semestre_liste_cours:
    path:     /{id}/planning/cours
    defaults: { _controller: FormationBundle:Planning:listeCours }
    methods:  [GET, POST]

semestre_add_cours:
    path:     /{id}/planning/cours_add
    defaults: { _controller: FormationBundle:Planning:addCours }
    methods:  [GET, POST]

semestre_add_one_cours:
    path:     /{id}/planning/cours_one_add
    defaults: { _controller: FormationBundle:Planning:addOneCoursJSON }
    methods:  [GET, POST]

semestre_remove_cours:
    path:     /{id}/planning/cours_remove
    defaults: { _controller: FormationBundle:Planning:removeCours }
    methods:  [GET, POST]

semestre_edit_cours:
    path:     /{id}/planning/cours_edit
    defaults: { _controller: FormationBundle:Planning:editCours }
    methods:  [GET, POST]

semestre_order_cours:
    path:     /{id}/planning/cours_order
    defaults: { _controller: FormationBundle:Planning:ordreCours }
    methods:  [GET, POST]

cursus_typeCours:
    resource: "@FormationBundle/Resources/config/routing/typeCours.yml"
    prefix:  /typeCours

# Routes AJAX gestion modules
cours_liste_module:
    path:     /{id}/planning/module
    defaults: { _controller: FormationBundle:Planning:listeModule }
    methods:  [GET, POST]

cours_add_module:
    path:     /{id}/planning/module_add
    defaults: { _controller: FormationBundle:Planning:addModule }
    methods:  [GET, POST]

cours_add_lecons:
    path:     /{id}/planning/lecons_add
    defaults: { _controller: FormationBundle:Planning:addLecons }
    methods:  [GET, POST]

cours_remove_module:
    path:     /{id}/planning/module_remove
    defaults: { _controller: FormationBundle:Planning:removeModule }
    methods:  [GET, POST]

cours_edit_module:
    path:     /{id}/planning/module_edit
    defaults: { _controller: FormationBundle:Planning:editModule }
    methods:  [GET, POST]

cours_order_module:
    path:     /{id}/planning/module_order
    defaults: { _controller: FormationBundle:Planning:ordreModule }
    methods:  [GET, POST]

cours_add_one_module:
    path:     /{id}/planning/module_one_add
    defaults: { _controller: FormationBundle:Planning:addOneModuleJSON }
    methods:  [GET, POST]
    

# Routes AJAX gestion horaires
cours_liste_horaire:
    path:     /{id}/planning/horaire
    defaults: { _controller: FormationBundle:Planning:listeHoraire }
    methods:  [GET, POST]

cours_add_horaire:
    path:     /{id}/planning/horaire_add
    defaults: { _controller: FormationBundle:Planning:addHoraire }
    methods:  [GET, POST]

cours_remove_horaire:
    path:     /{id}/planning/horaire_remove
    defaults: { _controller: FormationBundle:Planning:removeHoraire }
    methods:  [GET, POST]

cours_edit_horaire:
    path:     /{id}/planning/horaire_edit
    defaults: { _controller: FormationBundle:Planning:editHoraire }
    methods:  [GET, POST]

cours_order_horaire:
    path:     /{id}/planning/horaire_order
    defaults: { _controller: FormationBundle:Planning:ordreHoraire }
    methods:  [GET, POST]


# Routes AJAX gestion groupes
horaire_add_groupe:
    path:     /{id}/planning/groupe_add
    defaults: { _controller: FormationBundle:Planning:addGroupe }
    methods:  [GET, POST]

horaire_liste_groupe:
    path:     /{id}/planning/groupe_liste
    defaults: { _controller: FormationBundle:Planning:listeGroupe }
    methods:  [GET, POST]

horaire_remove_groupe:
    path:     /{id}/planning/groupe_remove
    defaults: { _controller: FormationBundle:Planning:removeGroupe }
    methods:  [GET, POST]

horaire_order_groupe:
    path:     /{id}/planning/groupe_order
    defaults: { _controller: FormationBundle:Planning:ordreGroupe }
    methods:  [GET, POST]

horaire_add_one_groupe:
    path:     /{id}/planning/groupe_one_add
    defaults: { _controller: FormationBundle:Planning:addOneGroupeJSON }
    methods:  [GET, POST]

cursus_planning:
    path:     /planning-cursus/{id}
    defaults: { _controller: FormationBundle:Planning:planningCursus }
    methods:  [GET, POST]

cursus_planning_pdf:
    path:     /planning-cursus-pdf/{id}
    defaults: { _controller: FormationBundle:Planning:exportPlanningPDF }
    methods:  [GET, POST]

cursus_planning_pdf_export:
    path:     /planning-cursus-pdf/export/{id}
    defaults: { _controller: FormationBundle:Planning:exportPlanningPDFexport }
    methods:  [GET, POST]

cursus_planning_excel_export:
    path:     /planning-cursus-excel/export/{id}
    defaults: { _controller: FormationBundle:Planning:exportPlanningExcelExport }
    methods:  [GET, POST]

cursus_active:
    path:     /cursus/active/{id}
    defaults: { _controller: FormationBundle:Cursus:editActive }
    methods:  [GET, POST]

cursus_delete:
    path:     /cursus/delete/{id}
    defaults: { _controller: FormationBundle:Cursus:delete }
    methods:  [GET, POST]

cursus_notif:
    path:     /cursus-notif/{id}
    defaults: { _controller: FormationBundle:Planning:notifEleves }
    methods:  [GET, POST]