Commit 5c3849ae authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

WIP nouveau module rapport d'activite : début d'UI pour le futur (?) module UnicaenAvis

parent 319b9404
Loading
Loading
Loading
Loading
+4 −0
Changes for module/Depot/src/Depot/Assertion/These/TheseAssertion.php: 4 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -88,6 +88,10 @@ class TheseAssertion extends AbstractAssertion
            return false;
        }

        if ($this->getRouteMatch() === null) {
            return false;
        }

        $this->these = $this->getRouteMatch()->getThese();

        switch (true) {
+1 −1
Changes for module/RapportActivite/src/RapportActivite/Entity/Db/Mapping/RapportActivite.Entity.Db.RapportActiviteAvis.dcm.xml: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -18,7 +18,7 @@
                <cascade-all/>
            </cascade>
            <join-columns>
                <join-column name="AVIS_ID" referenced-column-name="ID"/>
                <join-column name="AVIS_ID" referenced-column-name="id"/>
            </join-columns>
        </many-to-one>

+115 −10
Changes for module/UnicaenAvis/config/module.config.php: 115 added lines, 10 removed lines.
Original line number Diff line number Diff line
@@ -4,10 +4,27 @@ namespace UnicaenAvis;

use Doctrine\Common\Persistence\Mapping\Driver\MappingDriverChain;
use Doctrine\ORM\Mapping\Driver\XmlDriver;
use Laminas\Router\Http\Literal;
use Laminas\Router\Http\Segment;
use UnicaenAvis\Controller\AvisTypeController;
use UnicaenAvis\Controller\AvisTypeControllerFactory;
use UnicaenAvis\Controller\IndexController;
use UnicaenAvis\Controller\IndexControllerFactory;
use UnicaenAvis\Fieldset\AvisTypeFieldset;
use UnicaenAvis\Fieldset\AvisTypeFieldsetFactory;
use UnicaenAvis\Fieldset\AvisValeurFieldset;
use UnicaenAvis\Fieldset\AvisValeurFieldsetFactory;
use UnicaenAvis\Form\AvisForm;
use UnicaenAvis\Form\AvisFormFactory;
use UnicaenAvis\Form\AvisTypeForm;
use UnicaenAvis\Form\AvisTypeFormFactory;
use UnicaenAvis\Hydrator\AvisHydrator;
use UnicaenAvis\Hydrator\AvisHydratorFactory;
use UnicaenAvis\Hydrator\AvisTypeHydrator;
use UnicaenAvis\Hydrator\AvisTypeHydratorFactory;
use UnicaenAvis\Hydrator\AvisValeurHydrator;
use UnicaenAvis\Hydrator\AvisValeurHydratorFactory;
use UnicaenAvis\Provider\Privilege\AvisPrivileges;
use UnicaenAvis\Service\AvisService;
use UnicaenAvis\Service\AvisServiceFactory;

@@ -30,28 +47,109 @@ return [
        ],
    ],
    'bjyauthorize' => [
        'resource_providers' => [
            'BjyAuthorize\Provider\Resource\Config' => [
                'UnicaenAvis' => [],
        'guards' => [
            'UnicaenAuth\Guard\PrivilegeController' => [
                [
                    'controller' => IndexController::class,
                    'action' => [
                        'index',
                    ],
                    'privileges' => AvisPrivileges::AVIS__AVIS_TYPE__AFFICHER,
                ],
                [
                    'controller' => AvisTypeController::class,
                    'action' => [
                        'index',
                        'afficher',
                    ],
                    'privileges' => AvisPrivileges::AVIS__AVIS_TYPE__AFFICHER,
                ],
                [
                    'controller' => AvisTypeController::class,
                    'action' => [
                        'ajouter',
                    ],
                    'privileges' => AvisPrivileges::AVIS__AVIS_TYPE__AJOUTER,
                ],
                [
                    'controller' => AvisTypeController::class,
                    'action' => [
                        'modifier',
                    ],
                    'privileges' => AvisPrivileges::AVIS__AVIS_TYPE__MODIFIER,
                ],
                [
                    'controller' => AvisTypeController::class,
                    'action' => [
                        'supprimer',
                    ],
                    'privileges' => AvisPrivileges::AVIS__AVIS_TYPE__SUPPRIMER,
                ],
            ],
        'guards' => [

        ],
    ],
    'router' => [
        'routes' => [
            'unicaen-avis' => [
                'type'          => 'Literal',
                'type' => Literal::class,
                'options' => [
                    'route' => '/unicaen-avis',
                    'defaults' => [
//                        'controller' => RapportActiviteController::class,
                        'controller' => IndexController::class,
                        'action' => 'index',
                    ],
                ],
                'may_terminate' => false,
                'may_terminate' => true,
                'child_routes' => [

                    'avis-type' => [
                        'type' => Literal::class,
                        'options' => [
                            'route' => '/avis-type',
                            'defaults' => [
                                'controller' => AvisTypeController::class,
                                'action' => 'index'
                            ],
                        ],
                        'may_terminate' => true,
                        'child_routes' => [
                            'ajouter' => [
                                'type' => Literal::class,
                                'options' => [
                                    'route' => '/ajouter',
                                    'defaults' => [
                                        'action' => 'ajouter'
                                    ],
                                ],
                            ],
                            'afficher' => [
                                'type' => Segment::class,
                                'options' => [
                                    'route' => '/afficher/:avisType',
                                    'defaults' => [
                                        'action' => 'afficher'
                                    ],
                                ],
                            ],
                            'modifier' => [
                                'type' => Segment::class,
                                'options' => [
                                    'route' => '/modifier/:avisType',
                                    'defaults' => [
                                        'action' => 'modifier'
                                    ],
                                ],
                            ],
                            'supprimer' => [
                                'type' => Segment::class,
                                'options' => [
                                    'route' => '/supprimer/:avisType',
                                    'defaults' => [
                                        'action' => 'supprimer'
                                    ],
                                ],
                            ],
                        ],
                    ],
                ],
            ],
        ],
@@ -76,7 +174,8 @@ return [
    ],
    'controllers' => [
        'factories' => [

            IndexController::class => IndexControllerFactory::class,
            AvisTypeController::class => AvisTypeControllerFactory::class,
        ],
    ],
    'controller_plugins' => [
@@ -87,11 +186,17 @@ return [
    'hydrators' => [
        'factories' => [
            AvisHydrator::class => AvisHydratorFactory::class,
            AvisTypeHydrator::class => AvisTypeHydratorFactory::class,
            AvisValeurHydrator::class => AvisValeurHydratorFactory::class,
        ],
    ],
    'form_elements' => [
        'factories' => [
            AvisForm::class => AvisFormFactory::class,
            AvisTypeForm::class => AvisTypeFormFactory::class,
            AvisTypeFieldset::class => AvisTypeFieldsetFactory::class,
            AvisValeurFieldset::class => AvisValeurFieldsetFactory::class,
//            AvisTypeValeurComplemFieldset::class => AvisTypeValeurComplemFieldsetFactory::class,
        ],
    ],
    'view_manager' => [
+255 KiB
Loading image diff...
+47 −0
Changes for module/UnicaenAvis/src/UnicaenAvis/Controller/AvisTypeController.php: 47 added lines, 0 removed lines.
Original line number Diff line number Diff line
<?php

namespace UnicaenAvis\Controller;

use Laminas\Mvc\Controller\AbstractActionController;
use UnicaenAvis\Form\AvisTypeForm;
use UnicaenAvis\Service\AvisServiceAwareTrait;

class AvisTypeController extends AbstractActionController
{
    use AvisServiceAwareTrait;

    private AvisTypeForm $avisTypeForm;

    public function setAvisTypeForm(AvisTypeForm $avisTypeForm): void
    {
        $this->avisTypeForm = $avisTypeForm;
    }

    public function indexAction(): array
    {
        return [
            'avisTypes' => $this->avisService->findAllAvisTypes(),
        ];
    }

    public function modifierAction(): array
    {
        $id = $this->params()->fromRoute('avisType');
        $avisType = $this->avisService->findOneAvisTypeById($id);

        $this->avisTypeForm->bind($avisType);

        if ($data = $this->params()->fromPost()) {
            $this->avisTypeForm->setData($data);
            if ($this->avisTypeForm->isValid()) {
                $this->avisService->saveAvisType($avisType);
                var_dump('yes!');
                $this->flashMessenger()->addSuccessMessage("Bravo !");
            }
        }

        return [
            'form' => $this->avisTypeForm,
        ];
    }
}
 No newline at end of file
Loading