Loading doc/release-notes/8.5.0/03_admission.sql +6 −1 Original line number Diff line number Diff line INSERT INTO unicaen_renderer_macro (code, description, variable_name, methode_name) VALUES ('AdmissionInscription#DisciplineInscription', '<p>Retourne la discipline d''inscription choisie pour le doctorat de l''étudiant</p>', 'admissionInscription', 'getDisciplineDoctorat'); INSERT INTO unicaen_renderer_macro (code, description, variable_name, methode_name) VALUES ('AdmissionFinancement#EtablissementPartenaire', '<p>Retourne les détails de l''établissement partenaire dans le cas d''une convention de collaboration</p>', Loading Loading @@ -62,6 +67,7 @@ SET document_corps = '<h1 style="text-align: center;">Récapitulatif du dossier <h2>Inscription </h2> <h3>Informations concernant son inscription demandée</h3> <ul> <li><strong>Discipline d''inscription : </strong>VAR[AdmissionInscription#DisciplineInscription]</li> <li><strong>Spécialité d''inscription :</strong> VAR[AdmissionInscription#SpecialiteDoctorat]</li> <li><strong>Composante de rattachement : </strong>VAR[AdmissionInscription#ComposanteRattachement]</li> <li><strong>École Doctorale :</strong> VAR[AdmissionInscription#EcoleDoctorale]</li> Loading Loading @@ -107,7 +113,6 @@ SET document_corps = '<h1 style="text-align: center;">Récapitulatif du dossier </ul> </li> </ul> <h2>Validations et Avis accordés au dossier d''admission</h2> <p>VAR[AdmissionRecapitulatif#Operations]</p> <h2>Validation par la direction de l''établissement</h2> <ul> Loading module/Admission/config/module.config.php +2 −2 Original line number Diff line number Diff line Loading @@ -338,7 +338,7 @@ return array( 'home' => [ 'pages' => [ /** * Page pour le Candidat. * Page pour le Candidat/Admin tech. */ // DEPTH = 1 ApplicationNavigationFactory::MON_ADMISSION_PAGE_ID => [ Loading @@ -362,7 +362,7 @@ return array( ], ], /** * Page pour Dir, Codir. * Page pour Ecole doct, Unité de rech, Maison du doct */ ApplicationNavigationFactory::NOS_ADMISSIONS_PAGE_ID => [ 'order' => -200, Loading module/Admission/src/Admission/Controller/AdmissionController.php +17 −13 Original line number Diff line number Diff line Loading @@ -111,6 +111,7 @@ class AdmissionController extends AdmissionAbstractController { $individu = $this->individuService->getRepository()->findRequestedIndividu($this); $response->setVariable('admission', $admission); $response->setVariable('individu', $individu); $response->setVariable('role', $this->userContextService->getSelectedIdentityRole()); $response->setTemplate('admission/ajouter-etudiant'); return $response; Loading @@ -121,16 +122,28 @@ class AdmissionController extends AdmissionAbstractController { //Vide la session, si l'utilisateur demandé est différent de celui en session $this->isUserDifferentFromUserInSession(); //Récupération de l'objet Admission en BDD /** @var Admission $admission */ $admission = $this->getAdmission(); if(!empty($admission)){ $canModifierAdmission = $this->isAllowed($admission,AdmissionPrivileges::ADMISSION_MODIFIER_TOUS_DOSSIERS_ADMISSION) || $this->isAllowed($admission, AdmissionPrivileges::ADMISSION_MODIFIER_SON_DOSSIER_ADMISSION); if(!$canModifierAdmission){ /** @var InscriptionFieldset $inscription */ $inscription = $this->admissionForm->get('inscription'); $inscription->disableModificationFieldset(); //permet de rendre le champ ecoleDoctorale non requis lorsque l'utilisateur connecté n'a pas le privilège de modifier le dossier d'admission $inputFilter = $this->admissionForm->getInputFilter()->get('inscription'); $inputFilter->get('ecoleDoctorale')->setRequired(false); } } $response = $this->processMultipageForm($this->admissionForm); if ($response instanceof Response) { return $response; } $data = $this->multipageForm($this->admissionForm)->getFormSessionData(); //Récupération de l'objet Admission en BDD /** @var Admission $admission */ $admission = $this->getAdmission(); if($data['_fieldset'] == "etudiant") { //Enregistrement des informations de l'Etudiant $this->enregistrerEtudiant($data, $admission); Loading @@ -140,15 +153,6 @@ class AdmissionController extends AdmissionAbstractController { $this->enregistrerFinancement($data, $admission); } if(!empty($admission)){ $canModifierAdmission = $this->isAllowed($admission,AdmissionPrivileges::ADMISSION_MODIFIER_TOUS_DOSSIERS_ADMISSION) || $this->isAllowed($admission, AdmissionPrivileges::ADMISSION_MODIFIER_SON_DOSSIER_ADMISSION); if(!$canModifierAdmission){ /** @var InscriptionFieldset $inscription */ $inscription = $this->admissionForm->get('inscription'); $inscription->disableModificationFieldset(); } } $response->setVariable('admission', $admission); $response->setTemplate('admission/ajouter-inscription'); return $response; Loading module/Admission/src/Admission/Entity/AdmissionRecapitulatifDataTemplate.php +4 −1 Original line number Diff line number Diff line Loading @@ -57,7 +57,10 @@ class AdmissionRecapitulatifDataTemplate "dateCreation" => $operation->getId() !== null ? $operation->getHistoCreation()->format(\Application\Constants::DATETIME_FORMAT) : "/" ]; } return $operationsFormatter->htmlifyOperations($operationsToPrint); $string = "<pagebreak /> <h2>Validations et Avis accordés au dossier d'admission</h2>"; $string .= $operationsFormatter->htmlifyOperations($operationsToPrint); return $string; } /** Loading module/Admission/src/Admission/Form/Fieldset/Inscription/InscriptionFieldset.php +25 −11 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ use Laminas\Form\Element\Text; use Laminas\Form\Element\Textarea; use Laminas\Form\FormInterface; use Laminas\InputFilter\InputFilterProviderInterface; use Laminas\Validator\NotEmpty; use UnicaenApp\Form\Element\SearchAndSelect; class InscriptionFieldset extends AdmissionBaseFieldset implements InputFilterProviderInterface Loading Loading @@ -146,18 +147,21 @@ class InscriptionFieldset extends AdmissionBaseFieldset implements InputFilterPr ]) ); //Disciplines à récupérer -> liste en attente de récupération (demandée à Emilie) // $this->add( // (new Select("disciplineDoctorat")) // ->setLabel("Code et libellé de la discipline d'inscription en doctorat souhaitée") // ->setLabelAttributes(['data-after' => " / Discipline code"]) // ->setEmptyOption('Sélectionnez une option') // ->setAttributes([ // 'class' => 'bootstrap-selectpicker show-tick', // 'data-live-search' => 'true', // ]) // ); $this->add( (new Select("disciplineDoctorat")) (new Text('disciplineDoctorat')) ->setLabel("Code et libellé de la discipline d'inscription en doctorat souhaitée") ->setLabelAttributes(['data-after' => " / Discipline code"]) ->setEmptyOption('Sélectionnez une option') ->setEmptyOption("Indisponible") ->setAttributes([ 'class' => 'bootstrap-selectpicker show-tick', 'data-live-search' => 'true', 'disabled' => 'true' ]) ); $this->add( Loading Loading @@ -185,7 +189,7 @@ class InscriptionFieldset extends AdmissionBaseFieldset implements InputFilterPr $this->add( (new Select("ecoleDoctorale")) ->setLabel("Ecole doctorale") ->setLabel("Ecole doctorale *") ->setLabelAttributes(['data-after' => " / Doctoral school"]) ->setEmptyOption('Sélectionnez une option') ->setAttributes([ Loading Loading @@ -441,10 +445,20 @@ class InscriptionFieldset extends AdmissionBaseFieldset implements InputFilterPr ], 'ecoleDoctorale' => [ 'name' => 'ecoleDoctorale', 'required' => false, 'required' => true, 'filters' => [ ['name' => ToNull::class], /** nécessaire et suffisant pour mettre la relation à null */ ], 'validators' => [ [ 'name' => 'NotEmpty', 'options' => [ 'messages' => [ NotEmpty::IS_EMPTY => "Merci de renseigner votre école doctorale afin d'associer un gestionnaire à ce dossier", ], ], ], ], ], 'uniteRecherche' => [ 'name' => 'uniteRecherche', Loading Loading
doc/release-notes/8.5.0/03_admission.sql +6 −1 Original line number Diff line number Diff line INSERT INTO unicaen_renderer_macro (code, description, variable_name, methode_name) VALUES ('AdmissionInscription#DisciplineInscription', '<p>Retourne la discipline d''inscription choisie pour le doctorat de l''étudiant</p>', 'admissionInscription', 'getDisciplineDoctorat'); INSERT INTO unicaen_renderer_macro (code, description, variable_name, methode_name) VALUES ('AdmissionFinancement#EtablissementPartenaire', '<p>Retourne les détails de l''établissement partenaire dans le cas d''une convention de collaboration</p>', Loading Loading @@ -62,6 +67,7 @@ SET document_corps = '<h1 style="text-align: center;">Récapitulatif du dossier <h2>Inscription </h2> <h3>Informations concernant son inscription demandée</h3> <ul> <li><strong>Discipline d''inscription : </strong>VAR[AdmissionInscription#DisciplineInscription]</li> <li><strong>Spécialité d''inscription :</strong> VAR[AdmissionInscription#SpecialiteDoctorat]</li> <li><strong>Composante de rattachement : </strong>VAR[AdmissionInscription#ComposanteRattachement]</li> <li><strong>École Doctorale :</strong> VAR[AdmissionInscription#EcoleDoctorale]</li> Loading Loading @@ -107,7 +113,6 @@ SET document_corps = '<h1 style="text-align: center;">Récapitulatif du dossier </ul> </li> </ul> <h2>Validations et Avis accordés au dossier d''admission</h2> <p>VAR[AdmissionRecapitulatif#Operations]</p> <h2>Validation par la direction de l''établissement</h2> <ul> Loading
module/Admission/config/module.config.php +2 −2 Original line number Diff line number Diff line Loading @@ -338,7 +338,7 @@ return array( 'home' => [ 'pages' => [ /** * Page pour le Candidat. * Page pour le Candidat/Admin tech. */ // DEPTH = 1 ApplicationNavigationFactory::MON_ADMISSION_PAGE_ID => [ Loading @@ -362,7 +362,7 @@ return array( ], ], /** * Page pour Dir, Codir. * Page pour Ecole doct, Unité de rech, Maison du doct */ ApplicationNavigationFactory::NOS_ADMISSIONS_PAGE_ID => [ 'order' => -200, Loading
module/Admission/src/Admission/Controller/AdmissionController.php +17 −13 Original line number Diff line number Diff line Loading @@ -111,6 +111,7 @@ class AdmissionController extends AdmissionAbstractController { $individu = $this->individuService->getRepository()->findRequestedIndividu($this); $response->setVariable('admission', $admission); $response->setVariable('individu', $individu); $response->setVariable('role', $this->userContextService->getSelectedIdentityRole()); $response->setTemplate('admission/ajouter-etudiant'); return $response; Loading @@ -121,16 +122,28 @@ class AdmissionController extends AdmissionAbstractController { //Vide la session, si l'utilisateur demandé est différent de celui en session $this->isUserDifferentFromUserInSession(); //Récupération de l'objet Admission en BDD /** @var Admission $admission */ $admission = $this->getAdmission(); if(!empty($admission)){ $canModifierAdmission = $this->isAllowed($admission,AdmissionPrivileges::ADMISSION_MODIFIER_TOUS_DOSSIERS_ADMISSION) || $this->isAllowed($admission, AdmissionPrivileges::ADMISSION_MODIFIER_SON_DOSSIER_ADMISSION); if(!$canModifierAdmission){ /** @var InscriptionFieldset $inscription */ $inscription = $this->admissionForm->get('inscription'); $inscription->disableModificationFieldset(); //permet de rendre le champ ecoleDoctorale non requis lorsque l'utilisateur connecté n'a pas le privilège de modifier le dossier d'admission $inputFilter = $this->admissionForm->getInputFilter()->get('inscription'); $inputFilter->get('ecoleDoctorale')->setRequired(false); } } $response = $this->processMultipageForm($this->admissionForm); if ($response instanceof Response) { return $response; } $data = $this->multipageForm($this->admissionForm)->getFormSessionData(); //Récupération de l'objet Admission en BDD /** @var Admission $admission */ $admission = $this->getAdmission(); if($data['_fieldset'] == "etudiant") { //Enregistrement des informations de l'Etudiant $this->enregistrerEtudiant($data, $admission); Loading @@ -140,15 +153,6 @@ class AdmissionController extends AdmissionAbstractController { $this->enregistrerFinancement($data, $admission); } if(!empty($admission)){ $canModifierAdmission = $this->isAllowed($admission,AdmissionPrivileges::ADMISSION_MODIFIER_TOUS_DOSSIERS_ADMISSION) || $this->isAllowed($admission, AdmissionPrivileges::ADMISSION_MODIFIER_SON_DOSSIER_ADMISSION); if(!$canModifierAdmission){ /** @var InscriptionFieldset $inscription */ $inscription = $this->admissionForm->get('inscription'); $inscription->disableModificationFieldset(); } } $response->setVariable('admission', $admission); $response->setTemplate('admission/ajouter-inscription'); return $response; Loading
module/Admission/src/Admission/Entity/AdmissionRecapitulatifDataTemplate.php +4 −1 Original line number Diff line number Diff line Loading @@ -57,7 +57,10 @@ class AdmissionRecapitulatifDataTemplate "dateCreation" => $operation->getId() !== null ? $operation->getHistoCreation()->format(\Application\Constants::DATETIME_FORMAT) : "/" ]; } return $operationsFormatter->htmlifyOperations($operationsToPrint); $string = "<pagebreak /> <h2>Validations et Avis accordés au dossier d'admission</h2>"; $string .= $operationsFormatter->htmlifyOperations($operationsToPrint); return $string; } /** Loading
module/Admission/src/Admission/Form/Fieldset/Inscription/InscriptionFieldset.php +25 −11 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ use Laminas\Form\Element\Text; use Laminas\Form\Element\Textarea; use Laminas\Form\FormInterface; use Laminas\InputFilter\InputFilterProviderInterface; use Laminas\Validator\NotEmpty; use UnicaenApp\Form\Element\SearchAndSelect; class InscriptionFieldset extends AdmissionBaseFieldset implements InputFilterProviderInterface Loading Loading @@ -146,18 +147,21 @@ class InscriptionFieldset extends AdmissionBaseFieldset implements InputFilterPr ]) ); //Disciplines à récupérer -> liste en attente de récupération (demandée à Emilie) // $this->add( // (new Select("disciplineDoctorat")) // ->setLabel("Code et libellé de la discipline d'inscription en doctorat souhaitée") // ->setLabelAttributes(['data-after' => " / Discipline code"]) // ->setEmptyOption('Sélectionnez une option') // ->setAttributes([ // 'class' => 'bootstrap-selectpicker show-tick', // 'data-live-search' => 'true', // ]) // ); $this->add( (new Select("disciplineDoctorat")) (new Text('disciplineDoctorat')) ->setLabel("Code et libellé de la discipline d'inscription en doctorat souhaitée") ->setLabelAttributes(['data-after' => " / Discipline code"]) ->setEmptyOption('Sélectionnez une option') ->setEmptyOption("Indisponible") ->setAttributes([ 'class' => 'bootstrap-selectpicker show-tick', 'data-live-search' => 'true', 'disabled' => 'true' ]) ); $this->add( Loading Loading @@ -185,7 +189,7 @@ class InscriptionFieldset extends AdmissionBaseFieldset implements InputFilterPr $this->add( (new Select("ecoleDoctorale")) ->setLabel("Ecole doctorale") ->setLabel("Ecole doctorale *") ->setLabelAttributes(['data-after' => " / Doctoral school"]) ->setEmptyOption('Sélectionnez une option') ->setAttributes([ Loading Loading @@ -441,10 +445,20 @@ class InscriptionFieldset extends AdmissionBaseFieldset implements InputFilterPr ], 'ecoleDoctorale' => [ 'name' => 'ecoleDoctorale', 'required' => false, 'required' => true, 'filters' => [ ['name' => ToNull::class], /** nécessaire et suffisant pour mettre la relation à null */ ], 'validators' => [ [ 'name' => 'NotEmpty', 'options' => [ 'messages' => [ NotEmpty::IS_EMPTY => "Merci de renseigner votre école doctorale afin d'associer un gestionnaire à ce dossier", ], ], ], ], ], 'uniteRecherche' => [ 'name' => 'uniteRecherche', Loading