Loading CHANGELOG.md +1 −0 Changes for CHANGELOG.md: 1 added line, 0 removed lines. Original line number Diff line number Diff line Loading @@ -12,6 +12,7 @@ Journal des modifications - Module Formation : 1ère version d'un export des sessions depuis l'index, en fonction des filtres choisis - Module Formation : Ajout sur l'index des sessions, d'un tri sur les séances - Module Soutenances : Affichage de l'historique des actions effectuées (horodatages) en dessous de chacune d'elles - Amélioration de la page consacrée aux profils (filtrage, explications, esthétique) et harmonisation de la page Rôles et privilèges. - [FIX] Notifications de demande d'engagement d'impartialité et d'avis de soutenance : utilisation en priorité du mail de l'acteur. - [FIX] Impossible d'accèder aux pages de consultation/modification d'ED ou d'UR. - [FIX] Coquille dans le procès verbal de soutenance (PDF). Loading module/Structure/src/Structure/Form/InputFilter/Etablissement/Ced/EtablissementCedInputFilter.php +4 −0 Changes for module/Structure/src/Structure/Form/InputFilter/Etablissement/Ced/EtablissementCedInputFilter.php: 4 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -46,6 +46,10 @@ class EtablissementCedInputFilter extends EtablissementInputFilter implements Et ], ], ]); $this->add([ 'name' => 'cheminLogo', 'required' => true, ]); } public function prepareForm(EtablissementForm $etablissementForm): void Loading module/Structure/src/Structure/Form/InputFilter/Etablissement/EtablissementInputFilter.php +15 −124 Changes for module/Structure/src/Structure/Form/InputFilter/Etablissement/EtablissementInputFilter.php: 15 added lines, 124 removed lines. Original line number Diff line number Diff line Loading @@ -3,31 +3,28 @@ namespace Structure\Form\InputFilter\Etablissement; use Doctrine\ORM\EntityManager; use DoctrineModule\Validator\NoObjectExists; use DoctrineModule\Validator\UniqueObject; use Laminas\Filter\StringToLower; use Laminas\Filter\StringTrim; use Laminas\Filter\ToNull; use Laminas\Form\Form; use Laminas\InputFilter\InputFilter; use Laminas\Validator\EmailAddress; use Laminas\Validator\File\Extension; use Laminas\Validator\File\UploadFile; use Laminas\Validator\NotEmpty; use Laminas\Validator\Uri; use Structure\Entity\Db\Etablissement; use Structure\Entity\Db\Structure; use Structure\Form\EtablissementForm; use Structure\Form\InputFilter\StructureInputFilter; class EtablissementInputFilter extends InputFilter implements EtablissementInputFilterInterface class EtablissementInputFilter extends StructureInputFilter implements EtablissementInputFilterInterface { private EntityManager $entityManager; public function __construct(EntityManager $entityManager) { $this->entityManager = $entityManager; parent::__construct($entityManager); $this->add([ 'name' => 'libelle', 'required' => true, ]); $this->add([ 'name' => 'code', 'required' => true, Loading Loading @@ -56,14 +53,10 @@ class EtablissementInputFilter extends InputFilter implements EtablissementInput $this->add([ 'name' => 'sourceCode', 'required' => false, 'filters' => [ ['name' => StringTrim::class], ['name' => ToNull::class], ], 'validators' => [ [ 'name' => UniqueObject::class, 'priority' => -98, // pour passer en dernier 'priority' => -97, // pour passer juste avant celui déclaré dans la classe mère 'options' => [ 'object_manager' => $this->entityManager, 'object_repository' => $this->entityManager->getRepository(Etablissement::class), Loading @@ -74,19 +67,6 @@ class EtablissementInputFilter extends InputFilter implements EtablissementInput ], ], ], [ 'name' => UniqueObject::class, 'priority' => -99, // pour passer en dernier 'options' => [ 'object_manager' => $this->entityManager, 'object_repository' => $this->entityManager->getRepository(Structure::class), 'fields' => ['sourceCode'], 'use_context' => true, 'messages' => [ UniqueObject::ERROR_OBJECT_NOT_UNIQUE => "Une structure existante possède déjà ce 'source code'", ], ], ], ], ]); $this->add([ Loading @@ -113,41 +93,6 @@ class EtablissementInputFilter extends InputFilter implements EtablissementInput ], ], ]); $this->add([ 'name' => 'adresse', 'required' => false, 'filters' => [ ['name' => StringTrim::class], ['name' => ToNull::class], ], ]); $this->add([ 'name' => 'telephone', 'required' => false, 'filters' => [ ['name' => StringTrim::class], ['name' => ToNull::class], ], ]); $this->add([ 'name' => 'fax', 'required' => false, 'filters' => [ ['name' => StringTrim::class], ['name' => ToNull::class], ], ]); $this->add([ 'name' => 'email', 'required' => false, 'filters' => [ ['name' => StringTrim::class], ['name' => ToNull::class], ], 'validators' => [ ['name' => EmailAddress::class], ], ]); $this->add([ 'name' => 'emailAssistance', 'required' => false, Loading Loading @@ -181,33 +126,6 @@ class EtablissementInputFilter extends InputFilter implements EtablissementInput ['name' => EmailAddress::class], ], ]); $this->add([ 'name' => 'siteWeb', 'required' => false, 'filters' => [ ['name' => StringTrim::class], ['name' => ToNull::class], ], 'validators' => [ ['name' => Uri::class, 'options' => ['allowRelative' => false]], ], ]); $this->add([ 'name' => 'id_ref', 'required' => false, 'filters' => [ ['name' => StringTrim::class], ['name' => ToNull::class], ], ]); $this->add([ 'name' => 'id_hal', 'required' => false, 'filters' => [ ['name' => StringTrim::class], ['name' => ToNull::class], ], ]); $this->add([ 'name' => 'estInscription', 'required' => false, Loading @@ -224,44 +142,17 @@ class EtablissementInputFilter extends InputFilter implements EtablissementInput 'name' => 'estCed', 'required' => false, ]); $this->add([ 'name' => 'estFerme', 'required' => false, ]); $this->add([ 'name' => 'cheminLogo', 'required' => false, 'filters' => [ ['name' => StringTrim::class], ['name' => ToNull::class], ], // 'validators' => [ // [ // 'name' => Extension::class, // 'options' => [ // 'extension' => ['bmp', 'png', 'jpg', 'jpeg'], // 'case' => false, // 'break_chain_on_failure' => true, // ], // ], // ], ]); } public function prepareForm(EtablissementForm $etablissementForm): void public function prepareForm(Form $structureConcreteForm): void { $etablissementForm->remove('domaine'); $etablissementForm->remove('emailAssistance'); $etablissementForm->remove('emailBibliotheque'); $etablissementForm->remove('emailDoctorat'); $etablissementForm->remove('estInscription'); $etablissementForm->remove('estCed'); if (!$etablissementForm->getObject()->getId()) { $etablissementForm->remove('estFerme'); } parent::prepareForm($structureConcreteForm); if ($etablissementForm->getObject()->getId()) { $etablissementForm->get('sourceCode')->setAttribute('disabled', 'disabled'); } $structureConcreteForm->remove('domaine'); $structureConcreteForm->remove('emailAssistance'); $structureConcreteForm->remove('emailBibliotheque'); $structureConcreteForm->remove('emailDoctorat'); $structureConcreteForm->remove('estInscription'); $structureConcreteForm->remove('estCed'); } } No newline at end of file module/Structure/src/Structure/Form/InputFilter/Etablissement/Inscription/EtablissementInscriptionInputFilter.php +4 −0 Changes for module/Structure/src/Structure/Form/InputFilter/Etablissement/Inscription/EtablissementInscriptionInputFilter.php: 4 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -184,6 +184,10 @@ class EtablissementInscriptionInputFilter extends EtablissementInputFilter imple ], ], ]); $this->add([ 'name' => 'cheminLogo', 'required' => true, ]); } public function prepareForm(EtablissementForm $etablissementForm): void Loading module/Structure/src/Structure/Form/InputFilter/Etablissement/EtablissementInputFilterInterface.php→module/Structure/src/Structure/Form/InputFilter/StructureInputFilterInterface.php +4 −4 Changes for module/Structure/src/Structure/Form/InputFilter/StructureInputFilterInterface.php: 4 added lines, 4 removed lines. Original line number Diff line number Diff line <?php namespace Structure\Form\InputFilter\Etablissement; namespace Structure\Form\InputFilter; use Doctrine\ORM\EntityManager; use Structure\Form\EtablissementForm; use Laminas\Form\Form; interface EtablissementInputFilterInterface interface StructureConcreteInputFilterInterface { public function __construct(EntityManager $entityManager); public function prepareForm(EtablissementForm $etablissementForm): void; public function prepareForm(Form $structureConcreteForm): void; } No newline at end of file Loading
CHANGELOG.md +1 −0 Changes for CHANGELOG.md: 1 added line, 0 removed lines. Original line number Diff line number Diff line Loading @@ -12,6 +12,7 @@ Journal des modifications - Module Formation : 1ère version d'un export des sessions depuis l'index, en fonction des filtres choisis - Module Formation : Ajout sur l'index des sessions, d'un tri sur les séances - Module Soutenances : Affichage de l'historique des actions effectuées (horodatages) en dessous de chacune d'elles - Amélioration de la page consacrée aux profils (filtrage, explications, esthétique) et harmonisation de la page Rôles et privilèges. - [FIX] Notifications de demande d'engagement d'impartialité et d'avis de soutenance : utilisation en priorité du mail de l'acteur. - [FIX] Impossible d'accèder aux pages de consultation/modification d'ED ou d'UR. - [FIX] Coquille dans le procès verbal de soutenance (PDF). Loading
module/Structure/src/Structure/Form/InputFilter/Etablissement/Ced/EtablissementCedInputFilter.php +4 −0 Changes for module/Structure/src/Structure/Form/InputFilter/Etablissement/Ced/EtablissementCedInputFilter.php: 4 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -46,6 +46,10 @@ class EtablissementCedInputFilter extends EtablissementInputFilter implements Et ], ], ]); $this->add([ 'name' => 'cheminLogo', 'required' => true, ]); } public function prepareForm(EtablissementForm $etablissementForm): void Loading
module/Structure/src/Structure/Form/InputFilter/Etablissement/EtablissementInputFilter.php +15 −124 Changes for module/Structure/src/Structure/Form/InputFilter/Etablissement/EtablissementInputFilter.php: 15 added lines, 124 removed lines. Original line number Diff line number Diff line Loading @@ -3,31 +3,28 @@ namespace Structure\Form\InputFilter\Etablissement; use Doctrine\ORM\EntityManager; use DoctrineModule\Validator\NoObjectExists; use DoctrineModule\Validator\UniqueObject; use Laminas\Filter\StringToLower; use Laminas\Filter\StringTrim; use Laminas\Filter\ToNull; use Laminas\Form\Form; use Laminas\InputFilter\InputFilter; use Laminas\Validator\EmailAddress; use Laminas\Validator\File\Extension; use Laminas\Validator\File\UploadFile; use Laminas\Validator\NotEmpty; use Laminas\Validator\Uri; use Structure\Entity\Db\Etablissement; use Structure\Entity\Db\Structure; use Structure\Form\EtablissementForm; use Structure\Form\InputFilter\StructureInputFilter; class EtablissementInputFilter extends InputFilter implements EtablissementInputFilterInterface class EtablissementInputFilter extends StructureInputFilter implements EtablissementInputFilterInterface { private EntityManager $entityManager; public function __construct(EntityManager $entityManager) { $this->entityManager = $entityManager; parent::__construct($entityManager); $this->add([ 'name' => 'libelle', 'required' => true, ]); $this->add([ 'name' => 'code', 'required' => true, Loading Loading @@ -56,14 +53,10 @@ class EtablissementInputFilter extends InputFilter implements EtablissementInput $this->add([ 'name' => 'sourceCode', 'required' => false, 'filters' => [ ['name' => StringTrim::class], ['name' => ToNull::class], ], 'validators' => [ [ 'name' => UniqueObject::class, 'priority' => -98, // pour passer en dernier 'priority' => -97, // pour passer juste avant celui déclaré dans la classe mère 'options' => [ 'object_manager' => $this->entityManager, 'object_repository' => $this->entityManager->getRepository(Etablissement::class), Loading @@ -74,19 +67,6 @@ class EtablissementInputFilter extends InputFilter implements EtablissementInput ], ], ], [ 'name' => UniqueObject::class, 'priority' => -99, // pour passer en dernier 'options' => [ 'object_manager' => $this->entityManager, 'object_repository' => $this->entityManager->getRepository(Structure::class), 'fields' => ['sourceCode'], 'use_context' => true, 'messages' => [ UniqueObject::ERROR_OBJECT_NOT_UNIQUE => "Une structure existante possède déjà ce 'source code'", ], ], ], ], ]); $this->add([ Loading @@ -113,41 +93,6 @@ class EtablissementInputFilter extends InputFilter implements EtablissementInput ], ], ]); $this->add([ 'name' => 'adresse', 'required' => false, 'filters' => [ ['name' => StringTrim::class], ['name' => ToNull::class], ], ]); $this->add([ 'name' => 'telephone', 'required' => false, 'filters' => [ ['name' => StringTrim::class], ['name' => ToNull::class], ], ]); $this->add([ 'name' => 'fax', 'required' => false, 'filters' => [ ['name' => StringTrim::class], ['name' => ToNull::class], ], ]); $this->add([ 'name' => 'email', 'required' => false, 'filters' => [ ['name' => StringTrim::class], ['name' => ToNull::class], ], 'validators' => [ ['name' => EmailAddress::class], ], ]); $this->add([ 'name' => 'emailAssistance', 'required' => false, Loading Loading @@ -181,33 +126,6 @@ class EtablissementInputFilter extends InputFilter implements EtablissementInput ['name' => EmailAddress::class], ], ]); $this->add([ 'name' => 'siteWeb', 'required' => false, 'filters' => [ ['name' => StringTrim::class], ['name' => ToNull::class], ], 'validators' => [ ['name' => Uri::class, 'options' => ['allowRelative' => false]], ], ]); $this->add([ 'name' => 'id_ref', 'required' => false, 'filters' => [ ['name' => StringTrim::class], ['name' => ToNull::class], ], ]); $this->add([ 'name' => 'id_hal', 'required' => false, 'filters' => [ ['name' => StringTrim::class], ['name' => ToNull::class], ], ]); $this->add([ 'name' => 'estInscription', 'required' => false, Loading @@ -224,44 +142,17 @@ class EtablissementInputFilter extends InputFilter implements EtablissementInput 'name' => 'estCed', 'required' => false, ]); $this->add([ 'name' => 'estFerme', 'required' => false, ]); $this->add([ 'name' => 'cheminLogo', 'required' => false, 'filters' => [ ['name' => StringTrim::class], ['name' => ToNull::class], ], // 'validators' => [ // [ // 'name' => Extension::class, // 'options' => [ // 'extension' => ['bmp', 'png', 'jpg', 'jpeg'], // 'case' => false, // 'break_chain_on_failure' => true, // ], // ], // ], ]); } public function prepareForm(EtablissementForm $etablissementForm): void public function prepareForm(Form $structureConcreteForm): void { $etablissementForm->remove('domaine'); $etablissementForm->remove('emailAssistance'); $etablissementForm->remove('emailBibliotheque'); $etablissementForm->remove('emailDoctorat'); $etablissementForm->remove('estInscription'); $etablissementForm->remove('estCed'); if (!$etablissementForm->getObject()->getId()) { $etablissementForm->remove('estFerme'); } parent::prepareForm($structureConcreteForm); if ($etablissementForm->getObject()->getId()) { $etablissementForm->get('sourceCode')->setAttribute('disabled', 'disabled'); } $structureConcreteForm->remove('domaine'); $structureConcreteForm->remove('emailAssistance'); $structureConcreteForm->remove('emailBibliotheque'); $structureConcreteForm->remove('emailDoctorat'); $structureConcreteForm->remove('estInscription'); $structureConcreteForm->remove('estCed'); } } No newline at end of file
module/Structure/src/Structure/Form/InputFilter/Etablissement/Inscription/EtablissementInscriptionInputFilter.php +4 −0 Changes for module/Structure/src/Structure/Form/InputFilter/Etablissement/Inscription/EtablissementInscriptionInputFilter.php: 4 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -184,6 +184,10 @@ class EtablissementInscriptionInputFilter extends EtablissementInputFilter imple ], ], ]); $this->add([ 'name' => 'cheminLogo', 'required' => true, ]); } public function prepareForm(EtablissementForm $etablissementForm): void Loading
module/Structure/src/Structure/Form/InputFilter/Etablissement/EtablissementInputFilterInterface.php→module/Structure/src/Structure/Form/InputFilter/StructureInputFilterInterface.php +4 −4 Changes for module/Structure/src/Structure/Form/InputFilter/StructureInputFilterInterface.php: 4 added lines, 4 removed lines. Original line number Diff line number Diff line <?php namespace Structure\Form\InputFilter\Etablissement; namespace Structure\Form\InputFilter; use Doctrine\ORM\EntityManager; use Structure\Form\EtablissementForm; use Laminas\Form\Form; interface EtablissementInputFilterInterface interface StructureConcreteInputFilterInterface { public function __construct(EntityManager $entityManager); public function prepareForm(EtablissementForm $etablissementForm): void; public function prepareForm(Form $structureConcreteForm): void; } No newline at end of file