Loading config/merged/utilisateur.config.php +6 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,10 @@ use UnicaenUtilisateur\Controller\UtilisateurController; use UnicaenUtilisateur\Controller\UtilisateurControllerFactory; use UnicaenUtilisateur\Form\SelectionUtilisateur\SelectionUtilisateurForm; use UnicaenUtilisateur\Form\SelectionUtilisateur\SelectionUtilisateurFormFactory; use UnicaenUtilisateur\Form\SelectionUtilisateur\SelectionUtilisateurHydrator; use UnicaenUtilisateur\Form\SelectionUtilisateur\SelectionUtilisateurHydratorFactory; use UnicaenUtilisateur\Form\User\InitCompteForm; use UnicaenUtilisateur\Form\User\UserForm; use UnicaenUtilisateur\Form\User\UserFormFactory; Loading Loading @@ -249,12 +253,14 @@ return [ ], 'factories' => [ UserForm::class => UserFormFactory::class, SelectionUtilisateurForm::class => SelectionUtilisateurFormFactory::class, ], ], 'hydrators' => [ 'factories' => [ UserHydrator::class => UserHydratorFactory::class, SelectionUtilisateurHydrator::class => SelectionUtilisateurHydratorFactory::class, ] ], Loading src/UnicaenUtilisateur/Form/SelectionUtilisateur/SelectionUtilisateurForm.php 0 → 100644 +55 −0 Original line number Diff line number Diff line <?php namespace UnicaenUtilisateur\Form\SelectionUtilisateur; use Laminas\Form\Element\Button; use Laminas\Form\Form; use Laminas\InputFilter\Factory; use UnicaenApp\Form\Element\SearchAndSelect; class SelectionUtilisateurForm extends Form { private ?string $urlRecherche = null; public function setUrlRecherche(string $url) { $this->urlRecherche = $url; } public function init(): void { //agent $agent = new SearchAndSelect('user', ['label' => "Utilisateur·trice <span class='icon icon-obligatoire text-danger' title='Champ obligatoire'></span> :"]); $agent ->setAutocompleteSource($this->urlRecherche) ->setLabelOption('disable_html_escape', true) ->setAttributes([ 'id' => 'user', 'placeholder' => "Nom de l'utilisateur·trice ...", ]); $this->add($agent); //Button $this->add([ 'type' => Button::class, 'name' => 'enregistrer', 'options' => [ 'label' => '<i class="fas fa-save"></i> Enregistrer', 'label_options' => [ 'disable_html_escape' => true, ], ], 'attributes' => [ 'type' => 'submit', 'class' => 'btn btn-success', ], ]); //InputFilter $this->setInputFilter((new Factory())->createInputFilter([ 'user' => [ 'required' => true, ], ])); } } No newline at end of file src/UnicaenUtilisateur/Form/SelectionUtilisateur/SelectionUtilisateurFormAwareTrait.php 0 → 100644 +19 −0 Original line number Diff line number Diff line <?php namespace UnicaenUtilisateur\Form\SelectionUtilisateur; trait SelectionUtilisateurFormAwareTrait { private SelectionUtilisateurForm $selectUserForm; public function getSelectionUtilisateurForm(): SelectionUtilisateurForm { return $this->selectUserForm; } public function setSelectionUtilisateurForm(SelectionUtilisateurForm $selectUserForm): void { $this->selectUserForm = $selectUserForm; } } No newline at end of file src/UnicaenUtilisateur/Form/SelectionUtilisateur/SelectionUtilisateurFormFactory.php 0 → 100644 +32 −0 Original line number Diff line number Diff line <?php namespace UnicaenUtilisateur\Form\SelectionUtilisateur; use Laminas\View\Helper\Url; use Laminas\View\HelperPluginManager; use Psr\Container\ContainerExceptionInterface; use Psr\Container\ContainerInterface; use Psr\Container\NotFoundExceptionInterface; class SelectionUtilisateurFormFactory { /** * @throws ContainerExceptionInterface * @throws NotFoundExceptionInterface */ public function __invoke(ContainerInterface $container) : SelectionUtilisateurForm { /** @var HelperPluginManager $pluginManager */ $pluginManager = $container->get('ViewHelperManager'); /** @var Url $urlManager */ $urlManager = $pluginManager->get('Url'); /** @see AgentController::rechercherAction() */ $url = $urlManager->__invoke('unicaen-utilisateur/rechercher-interne', [], [], true); $hydrator = $container->get('HydratorManager')->get(SelectionUtilisateurHydrator::class); $form = new SelectionUtilisateurForm(); $form->setUrlRecherche($url); $form->setHydrator($hydrator); return $form; } } No newline at end of file src/UnicaenUtilisateur/Form/SelectionUtilisateur/SelectionUtilisateurHydrator.php 0 → 100644 +18 −0 Original line number Diff line number Diff line <?php namespace UnicaenUtilisateur\Form\SelectionUtilisateur; use Laminas\Hydrator\HydratorInterface; class SelectionUtilisateurHydrator implements HydratorInterface { public function extract(object $object): array { return []; } public function hydrate(array $data, object $object): object { return $object; } } No newline at end of file Loading
config/merged/utilisateur.config.php +6 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,10 @@ use UnicaenUtilisateur\Controller\UtilisateurController; use UnicaenUtilisateur\Controller\UtilisateurControllerFactory; use UnicaenUtilisateur\Form\SelectionUtilisateur\SelectionUtilisateurForm; use UnicaenUtilisateur\Form\SelectionUtilisateur\SelectionUtilisateurFormFactory; use UnicaenUtilisateur\Form\SelectionUtilisateur\SelectionUtilisateurHydrator; use UnicaenUtilisateur\Form\SelectionUtilisateur\SelectionUtilisateurHydratorFactory; use UnicaenUtilisateur\Form\User\InitCompteForm; use UnicaenUtilisateur\Form\User\UserForm; use UnicaenUtilisateur\Form\User\UserFormFactory; Loading Loading @@ -249,12 +253,14 @@ return [ ], 'factories' => [ UserForm::class => UserFormFactory::class, SelectionUtilisateurForm::class => SelectionUtilisateurFormFactory::class, ], ], 'hydrators' => [ 'factories' => [ UserHydrator::class => UserHydratorFactory::class, SelectionUtilisateurHydrator::class => SelectionUtilisateurHydratorFactory::class, ] ], Loading
src/UnicaenUtilisateur/Form/SelectionUtilisateur/SelectionUtilisateurForm.php 0 → 100644 +55 −0 Original line number Diff line number Diff line <?php namespace UnicaenUtilisateur\Form\SelectionUtilisateur; use Laminas\Form\Element\Button; use Laminas\Form\Form; use Laminas\InputFilter\Factory; use UnicaenApp\Form\Element\SearchAndSelect; class SelectionUtilisateurForm extends Form { private ?string $urlRecherche = null; public function setUrlRecherche(string $url) { $this->urlRecherche = $url; } public function init(): void { //agent $agent = new SearchAndSelect('user', ['label' => "Utilisateur·trice <span class='icon icon-obligatoire text-danger' title='Champ obligatoire'></span> :"]); $agent ->setAutocompleteSource($this->urlRecherche) ->setLabelOption('disable_html_escape', true) ->setAttributes([ 'id' => 'user', 'placeholder' => "Nom de l'utilisateur·trice ...", ]); $this->add($agent); //Button $this->add([ 'type' => Button::class, 'name' => 'enregistrer', 'options' => [ 'label' => '<i class="fas fa-save"></i> Enregistrer', 'label_options' => [ 'disable_html_escape' => true, ], ], 'attributes' => [ 'type' => 'submit', 'class' => 'btn btn-success', ], ]); //InputFilter $this->setInputFilter((new Factory())->createInputFilter([ 'user' => [ 'required' => true, ], ])); } } No newline at end of file
src/UnicaenUtilisateur/Form/SelectionUtilisateur/SelectionUtilisateurFormAwareTrait.php 0 → 100644 +19 −0 Original line number Diff line number Diff line <?php namespace UnicaenUtilisateur\Form\SelectionUtilisateur; trait SelectionUtilisateurFormAwareTrait { private SelectionUtilisateurForm $selectUserForm; public function getSelectionUtilisateurForm(): SelectionUtilisateurForm { return $this->selectUserForm; } public function setSelectionUtilisateurForm(SelectionUtilisateurForm $selectUserForm): void { $this->selectUserForm = $selectUserForm; } } No newline at end of file
src/UnicaenUtilisateur/Form/SelectionUtilisateur/SelectionUtilisateurFormFactory.php 0 → 100644 +32 −0 Original line number Diff line number Diff line <?php namespace UnicaenUtilisateur\Form\SelectionUtilisateur; use Laminas\View\Helper\Url; use Laminas\View\HelperPluginManager; use Psr\Container\ContainerExceptionInterface; use Psr\Container\ContainerInterface; use Psr\Container\NotFoundExceptionInterface; class SelectionUtilisateurFormFactory { /** * @throws ContainerExceptionInterface * @throws NotFoundExceptionInterface */ public function __invoke(ContainerInterface $container) : SelectionUtilisateurForm { /** @var HelperPluginManager $pluginManager */ $pluginManager = $container->get('ViewHelperManager'); /** @var Url $urlManager */ $urlManager = $pluginManager->get('Url'); /** @see AgentController::rechercherAction() */ $url = $urlManager->__invoke('unicaen-utilisateur/rechercher-interne', [], [], true); $hydrator = $container->get('HydratorManager')->get(SelectionUtilisateurHydrator::class); $form = new SelectionUtilisateurForm(); $form->setUrlRecherche($url); $form->setHydrator($hydrator); return $form; } } No newline at end of file
src/UnicaenUtilisateur/Form/SelectionUtilisateur/SelectionUtilisateurHydrator.php 0 → 100644 +18 −0 Original line number Diff line number Diff line <?php namespace UnicaenUtilisateur\Form\SelectionUtilisateur; use Laminas\Hydrator\HydratorInterface; class SelectionUtilisateurHydrator implements HydratorInterface { public function extract(object $object): array { return []; } public function hydrate(array $data, object $object): object { return $object; } } No newline at end of file