Commit ba48ae44 authored by Thomas Hamel's avatar Thomas Hamel
Browse files

champ ecoleDoctorale devenu required, chgt du libellé Admission dans le menu pour l'adminTech

parent 31683e27
Loading
Loading
Loading
Loading
+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>',
@@ -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>
@@ -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>
+2 −2
Original line number Diff line number Diff line
@@ -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 => [
@@ -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,
+17 −13
Original line number Diff line number Diff line
@@ -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;
@@ -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);
@@ -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;
+4 −1
Original line number Diff line number Diff line
@@ -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;
    }

    /**
+25 −11
Original line number Diff line number Diff line
@@ -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
@@ -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(
@@ -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([
@@ -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