Commit dbed44c8 authored by Jean-Philippe Metivier's avatar Jean-Philippe Metivier
Browse files

Presence et inscription

parent 4ae0000a
Loading
Loading
Loading
Loading
+0 −74
Changes for module/Formation/config/merged/formation-instance-frais.config.php: 0 added lines, 74 removed lines.
Original line number Diff line number Diff line
<?php

namespace Formation;

use Formation\Controller\FormationInstanceFraisController;
use Formation\Controller\FormationInstanceFraisControllerFactory;
use Formation\Form\FormationInstanceFrais\FormationInstanceFraisForm;
use Formation\Form\FormationInstanceFrais\FormationInstanceFraisFormFactory;
use Formation\Form\FormationInstanceFrais\FormationInstanceFraisHydrator;
use Formation\Form\FormationInstanceFrais\FormationInstanceFraisHydratorFactory;
use Formation\Provider\Privilege\FormationinstancefraisPrivileges;
use Formation\Service\FormationInstanceFrais\FormationInstanceFraisService;
use Formation\Service\FormationInstanceFrais\FormationInstanceFraisServiceFactory;
use UnicaenPrivilege\Guard\PrivilegeController;
use Laminas\Router\Http\Segment;

return [
    'bjyauthorize' => [
        'guards' => [
            PrivilegeController::class => [
                [
                    'controller' => FormationInstanceFraisController::class,
                    'action' => [
                        'renseigner-frais',
                    ],
                    'privileges' => [
                        FormationinstancefraisPrivileges::FORMATIONINSTANCEFRAIS_MODIFIER,
                    ],
                ],
            ],
        ],
    ],

    'router'          => [
        'routes' => [
            'formation-instance' => [
                'child_routes' => [
                    'renseigner-frais' => [
                        'type'  => Segment::class,
                        'options' => [
                            'route'    => '/renseigner-frais/:inscrit',
                            'defaults' => [
                                'controller' => FormationInstanceFraisController::class,
                                'action'     => 'renseigner-frais',
                            ],
                        ],
                    ],
                ],
            ],
        ],
    ],

    'service_manager' => [
        'factories' => [
            FormationInstanceFraisService::class => FormationInstanceFraisServiceFactory::class,
        ],
    ],
    'controllers'     => [
        'factories' => [
            FormationInstanceFraisController::class => FormationInstanceFraisControllerFactory::class,
        ],
    ],
    'form_elements' => [
        'factories' => [
            FormationInstanceFraisForm::class => FormationInstanceFraisFormFactory::class,
        ],
    ],
    'hydrators' => [
        'factories' => [
            FormationInstanceFraisHydrator::class => FormationInstanceFraisHydratorFactory::class,
        ],
    ]

];
 No newline at end of file
+33 −2
Changes for module/Formation/config/merged/inscription.config.php: 33 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -2,12 +2,17 @@

namespace Formation;

use Formation\Controller\FormationController;
use Formation\Controller\InscriptionController;
use Formation\Controller\InscriptionControllerFactory;
use Formation\Form\Inscription\InscriptionForm;
use Formation\Form\Inscription\InscriptionFormFactory;
use Formation\Form\Inscription\InscriptionHydrator;
use Formation\Form\Inscription\InscriptionHydratorFactory;
use Formation\Form\InscriptionFrais\InscriptionFraisForm;
use Formation\Form\InscriptionFrais\InscriptionFraisFormFactory;
use Formation\Form\InscriptionFrais\InscriptionFraisHydrator;
use Formation\Form\InscriptionFrais\InscriptionFraisHydratorFactory;
use Formation\Form\Justificatif\JustificatifForm;
use Formation\Form\Justificatif\JustificatifFormFactory;
use Formation\Form\Justificatif\JustificatifHydrator;
@@ -16,6 +21,8 @@ use Formation\Provider\Privilege\FormationinstanceinscritPrivileges;
use Formation\Provider\Privilege\FormationinstancePrivileges;
use Formation\Service\Inscription\InscriptionService;
use Formation\Service\Inscription\InscriptionServiceFactory;
use Formation\Service\InscriptionFrais\InscriptionFraisService;
use Formation\Service\InscriptionFrais\InscriptionFraisServiceFactory;
use UnicaenPrivilege\Guard\PrivilegeController;
use Laminas\Router\Http\Literal;
use Laminas\Router\Http\Segment;
@@ -42,6 +49,7 @@ return [
                        'historiser',
                        'restaurer',
                        'supprimer',
                        'renseigner-frais',
                    ],
                    'privileges' => [
                        FormationinstancePrivileges::FORMATIONINSTANCE_GERER_INSCRIPTION,
@@ -78,13 +86,21 @@ return [
    'router'          => [
        'routes' => [
            'formation' => [
                'type'  => Literal::class,
                'options' => [
                    'route'    => '/formation',
                    'defaults' => [
                        'controller' => FormationController::class,
                        'action'     => 'index',
                    ],
                ],
                'may_terminate' => true,
                'child_routes' => [
                    'inscription' => [
                        'type'  => Literal::class,
                        'options' => [
                            'route'    => '/inscription',
                            'defaults' => [
                                /** @see InscriptionController::indexAction() */
                                'controller' => InscriptionController::class,
                                'action'     => 'index',
                            ],
@@ -233,6 +249,18 @@ return [
                                    ],
                                ],
                            ],
                            /** autre * */
                            'renseigner-frais' => [
                                'type'  => Segment::class,
                                'options' => [
                                    'route'    => '/renseigner-frais/:inscription',
                                    'defaults' => [
                                        /** @see InscriptionController::renseignerFraisAction() */
                                        'controller' => InscriptionController::class,
                                        'action'     => 'renseigner-frais',
                                    ],
                                ],
                            ],
                        ],
                    ],
                ],
@@ -242,7 +270,8 @@ return [

    'service_manager' => [
        'factories' => [
            InscriptionService::class => InscriptionServiceFactory::class
            InscriptionService::class => InscriptionServiceFactory::class,
            InscriptionFraisService::class => InscriptionFraisServiceFactory::class,
        ],
    ],
    'controllers'     => [
@@ -253,6 +282,7 @@ return [
    'form_elements' => [
        'factories' => [
            InscriptionForm::class => InscriptionFormFactory::class,
            InscriptionFraisForm::class => InscriptionFraisFormFactory::class,
            JustificatifForm::class => JustificatifFormFactory::class,
        ],
    ],
@@ -260,6 +290,7 @@ return [
        'factories' => [
            InscriptionHydrator::class => InscriptionHydratorFactory::class,
            JustificatifHydrator::class => JustificatifHydratorFactory::class,
            InscriptionFraisHydrator::class => InscriptionFraisHydratorFactory::class,
        ],
    ]

+2 −2
Changes for module/Formation/config/merged/presence.config.php: 2 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -55,7 +55,7 @@ return [
                    'toggle-presence' => [
                        'type'  => Segment::class,
                        'options' => [
                            'route'    => '/toggle-presence/:journee/:inscrit',
                            'route'    => '/toggle-presence/:journee/:inscription',
                            'defaults' => [
                                /** @see PresenceController::togglePresenceAction() */
                                'controller' => PresenceController::class,
@@ -66,7 +66,7 @@ return [
                    'toggle-presences' => [
                        'type'  => Segment::class,
                        'options' => [
                            'route'    => '/toggle-presences/:mode/:inscrit',
                            'route'    => '/toggle-presences/:mode/:inscription',
                            'defaults' => [
                                /** @see PresenceController::togglePresencesAction() */
                                'controller' => PresenceController::class,
+1 −1
Changes for module/Formation/src/Formation/Controller/FormationInstanceController.php: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -84,7 +84,7 @@ class FormationInstanceController extends AbstractActionController

        $dictionnaire = [];
        foreach ($presences as $presence) {
            $dictionnaire[$presence->getJournee()->getId()][$presence->getInscrit()->getId()] = $presence;
            $dictionnaire[$presence->getJournee()->getId()][$presence->getInscription()->getId()] = $presence;
        }

        return new ViewModel([
+0 −53
Changes for module/Formation/src/Formation/Controller/FormationInstanceFraisController.php: 0 added lines, 53 removed lines.
Original line number Diff line number Diff line
<?php

namespace Formation\Controller;

use Formation\Entity\Db\InscriptionFrais;
use Formation\Form\FormationInstanceFrais\FormationInstanceFraisFormAwareTrait;
use Formation\Service\FormationInstance\FormationInstanceServiceAwareTrait;
use Formation\Service\FormationInstanceFrais\FormationInstanceFraisServiceAwareTrait;
use Formation\Service\FormationInstanceInscrit\FormationInstanceInscritServiceAwareTrait;
use Formation\Service\Seance\SeanceServiceAwareTrait;
use Laminas\Mvc\Controller\AbstractActionController;
use Laminas\View\Model\ViewModel;

class FormationInstanceFraisController extends AbstractActionController
{
    use FormationInstanceServiceAwareTrait;
    use FormationInstanceInscritServiceAwareTrait;
    use FormationInstanceFraisServiceAwareTrait;
    use FormationInstanceFraisFormAwareTrait;
    use SeanceServiceAwareTrait;

    public function renseignerFraisAction(): ViewModel
    {
        $inscrit = $this->getFormationInstanceInscritService()->getRequestedFormationInstanceInscrit($this);
        if ($inscrit->getFrais() === null) {
            $frais = new InscriptionFrais();
            $frais->setInscrit($inscrit);
            $this->getFormationInstanceFraisService()->create($frais);
        }
        $frais = $inscrit->getFrais();

        $form = $this->getFormationInstanceFraisForm();
        $form->setAttribute('action', $this->url()->fromRoute('formation-instance/renseigner-frais', ['inscrit' => $inscrit->getId()], [], true));
        $form->bind($frais);

        $request = $this->getRequest();
        if ($request->isPost()) {
            $data = $request->getPost();
            $form->setData($data);
            if ($form->isValid()) {
                $this->getFormationInstanceFraisService()->update($frais);
            }
        }

        $vm = new ViewModel();
        $vm->setTemplate('default/default-form');
        $vm->setVariables([
            'title' => "Saisie des frais de " . $inscrit->getAgent()->getDenomination(),
            'form' => $form,
        ]);
        return $vm;
    }
}
 No newline at end of file
Loading