Loading config/autoload/unicaen-evenement.global.php +7 −30 Original line number Diff line number Diff line <?php use Application\Event\RgpdRenderer\RgpdRendererEvenement; use Application\Provider\EvenementProvider; use Application\Provider\EvenementProvider as ApplicationEvenementProvider; use Application\Service\Evenement\SynchroOctopusService; use EntretienProfessionnel\Provider\Event\EvenementProvider as EntretienProfessionnelEvenementProvider; use EntretienProfessionnel\Service\Evenement\RappelCampagneAvancementAutoriteService; use EntretienProfessionnel\Service\Evenement\RappelCampagneAvancementSuperieurService; use EntretienProfessionnel\Service\Evenement\RappelEntretienProfessionnelService; use EntretienProfessionnel\Service\Evenement\RappelPasObservationService; use Atelier\Event\Convocation\ConvocationEvent; use Atelier\Event\DemandeRetour\DemandeRetourEvent; use Atelier\Event\InscriptionCloture\InscriptionClotureEvent; use Atelier\Event\SessionCloture\SessionClotureEvent; use Atelier\Provider\Event\EvenementProvider as FormationEvenementProvider; use Atelier\Service\Evenement\NotificationFormationsOuvertesService; use Atelier\Service\Evenement\RappelAgentAvantFormationService; use Atelier\Event\CloturerSession\CloturerSessionEvenement; use Atelier\Event\ConvoquerSession\ConvoquerSessionEvenement; use Atelier\Event\RetourSession\RetourSessionEvenement; use Atelier\Provider\Evenement\SessionEvenements; use UnicaenEvenement\Entity\Db\Type; use UnicaenEvenement\Service\EvenementCollection\EvenementCollectionService; Loading @@ -25,20 +13,9 @@ return [ // Évènements de base Type::COLLECTION => EvenementCollectionService::class, // ApplicationEvenementProvider::SYNCHRO_OCTOPUS => SynchroOctopusService::class, // EvenementProvider::RGPD_UNICAEN_RENDERER => RgpdRendererEvenement::class, // FormationEvenementProvider::NOTIFICATION_FORMATION_OUVERTE => NotificationFormationsOuvertesService::class, // FormationEvenementProvider::RAPPEL_FORMATION_AGENT_AVANT => RappelAgentAvantFormationService::class, // FormationEvenementProvider::INSCRIPTION_CLOTURE => InscriptionClotureEvent::class, // FormationEvenementProvider::CONVOCATION => ConvocationEvent::class, // FormationEvenementProvider::DEMANDE_RETOUR => DemandeRetourEvent::class, // FormationEvenementProvider::SESSION_CLOTURE => SessionClotureEvent::class, // EntretienProfessionnelEvenementProvider::RAPPEL_CAMPAGNE_AVANCEMENT_AUTORITE => RappelCampagneAvancementAutoriteService::class, // EntretienProfessionnelEvenementProvider::RAPPEL_CAMPAGNE_AVANCEMENT_SUPERIEUR => RappelCampagneAvancementSuperieurService::class, // EntretienProfessionnelEvenementProvider::RAPPEL_ENTRETIEN_PROFESSIONNEL => RappelEntretienProfessionnelService::class, // EntretienProfessionnelEvenementProvider::RAPPEL_PAS_OBSERVATION_ENTRETIEN_PROFESSIONNEL => RappelPasObservationService::class, SessionEvenements::CONVOQUER_EVENEMENT => ConvoquerSessionEvenement::class, SessionEvenements::RETOUR_EVENEMENT => RetourSessionEvenement::class, SessionEvenements::CLOTURER_EVENEMENT => CloturerSessionEvenement::class, ], 'icone' => [ Loading module/Atelier/config/merged/session.config.php +11 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,12 @@ use Atelier\Assertion\SessionAssertion; use Atelier\Assertion\SessionAssertionFactory; use Atelier\Controller\SessionController; use Atelier\Controller\SessionControllerFactory; use Atelier\Event\CloturerSession\CloturerSessionEvenement; use Atelier\Event\CloturerSession\CloturerSessionEvenementFactory; use Atelier\Event\ConvoquerSession\ConvoquerSessionEvenement; use Atelier\Event\ConvoquerSession\ConvoquerSessionEvenementFactory; use Atelier\Event\RetourSession\RetourSessionEvenement; use Atelier\Event\RetourSession\RetourSessionEvenementFactory; use Atelier\Form\Session\SessionForm; use Atelier\Form\Session\SessionFormFactory; use Atelier\Form\Session\SessionHydrator; Loading Loading @@ -449,6 +455,11 @@ return [ 'factories' => [ SessionAssertion::class => SessionAssertionFactory::class, SessionService::class => SessionServiceFactory::class, //Evenement RetourSessionEvenement::class => RetourSessionEvenementFactory::class, CloturerSessionEvenement::class => CloturerSessionEvenementFactory::class, ConvoquerSessionEvenement::class => ConvoquerSessionEvenementFactory::class, ], ], 'form_elements' => [ Loading module/Atelier/src/Controller/SeanceController.php +16 −2 Original line number Diff line number Diff line Loading @@ -10,10 +10,15 @@ use Atelier\Service\Session\SessionServiceAwareTrait; use Laminas\Http\Request; use Laminas\Http\Response; use Laminas\Mvc\Controller\AbstractActionController; use Laminas\Mvc\Plugin\FlashMessenger\FlashMessenger; use Laminas\View\Model\ViewModel; use UnicaenEvenement\Service\Evenement\EvenementServiceAwareTrait; /** @method FlashMessenger flashMessenger() */ class SeanceController extends AbstractActionController { use EvenementServiceAwareTrait; use SessionServiceAwareTrait; use SeanceServiceAwareTrait; use SeanceFormAwareTrait; Loading @@ -38,7 +43,7 @@ class SeanceController extends AbstractActionController $form->setData($data); if ($form->isValid()) { $this->getSeanceService()->create($seance); $this->getSeanceService()->gererEvenement($seance, $this->flashMessenger()); } } Loading @@ -65,6 +70,7 @@ class SeanceController extends AbstractActionController $form->setData($data); if ($form->isValid()) { $this->getSeanceService()->update($seance); $this->getSeanceService()->gererEvenement($seance, $this->flashMessenger()); } } Loading @@ -81,6 +87,8 @@ class SeanceController extends AbstractActionController { $seance = $this->getSeanceService()->getRequestedSeance($this); $this->getSeanceService()->historise($seance); $this->getSeanceService()->gererEvenement($seance, $this->flashMessenger()); return $this->redirect()->toRoute('atelier/session/afficher', ['session' => $seance->getSession()->getId()], [], true); } Loading @@ -88,6 +96,8 @@ class SeanceController extends AbstractActionController { $seance = $this->getSeanceService()->getRequestedSeance($this); $this->getSeanceService()->restore($seance); $this->getSeanceService()->gererEvenement($seance, $this->flashMessenger()); return $this->redirect()->toRoute('atelier/session/afficher', ['session' => $seance->getSession()->getId()], [], true); } Loading @@ -99,7 +109,11 @@ class SeanceController extends AbstractActionController $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); if ($data["reponse"] === "oui") $this->getSeanceService()->delete($seance); if ($data["reponse"] === "oui") { $this->getSeanceService()->delete($seance); if ($seance->estNonHistorise()) $this->getSeanceService()->gererEvenement($seance, $this->flashMessenger()); } exit(); } Loading module/Atelier/src/Controller/SeanceControllerFactory.php +4 −0 Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ use Atelier\Service\Session\SessionService; use Interop\Container\ContainerInterface; use Psr\Container\ContainerExceptionInterface; use Psr\Container\NotFoundExceptionInterface; use UnicaenEvenement\Service\Evenement\EvenementService; class SeanceControllerFactory { Loading @@ -22,17 +23,20 @@ class SeanceControllerFactory public function __invoke(ContainerInterface $container): SeanceController { /** * @var EvenementService $evenementService * @var SessionService $sessionService * @var SeanceService $seanceService * @var SeanceForm $seanceForm * @var SeanceRecurrenteForm $recurrenteForm */ $evenementService = $container->get(EvenementService::class); $sessionService = $container->get(SessionService::class); $seanceService = $container->get(SeanceService::class); $seanceForm = $container->get('FormElementManager')->get(SeanceForm::class); $recurrenteForm = $container->get('FormElementManager')->get(SeanceRecurrenteForm::class); $controller = new SeanceController(); $controller->setEvenementService($evenementService); $controller->setSessionService($sessionService); $controller->setSeanceService($seanceService); $controller->setSeanceForm($seanceForm); Loading module/Atelier/src/Entity/Db/Mapping/Atelier.Entity.Db.Session.dcm.xml +11 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,17 @@ </join-table> </many-to-many> <many-to-many field="evenements" target-entity="UnicaenEvenement\Entity\Db\Evenement"> <join-table name="atelier_session_evenement"> <join-columns> <join-column name="session_id" referenced-column-name="id" /> </join-columns> <inverse-join-columns> <join-column name="evenement_instance_id" referenced-column-name="ID" /> </inverse-join-columns> </join-table> </many-to-many> <one-to-many field="seances" target-entity="Atelier\Entity\Db\Seance" mapped-by="session"/> <one-to-many field="inscriptions" target-entity="Atelier\Entity\Db\Inscription" mapped-by="session"/> Loading Loading
config/autoload/unicaen-evenement.global.php +7 −30 Original line number Diff line number Diff line <?php use Application\Event\RgpdRenderer\RgpdRendererEvenement; use Application\Provider\EvenementProvider; use Application\Provider\EvenementProvider as ApplicationEvenementProvider; use Application\Service\Evenement\SynchroOctopusService; use EntretienProfessionnel\Provider\Event\EvenementProvider as EntretienProfessionnelEvenementProvider; use EntretienProfessionnel\Service\Evenement\RappelCampagneAvancementAutoriteService; use EntretienProfessionnel\Service\Evenement\RappelCampagneAvancementSuperieurService; use EntretienProfessionnel\Service\Evenement\RappelEntretienProfessionnelService; use EntretienProfessionnel\Service\Evenement\RappelPasObservationService; use Atelier\Event\Convocation\ConvocationEvent; use Atelier\Event\DemandeRetour\DemandeRetourEvent; use Atelier\Event\InscriptionCloture\InscriptionClotureEvent; use Atelier\Event\SessionCloture\SessionClotureEvent; use Atelier\Provider\Event\EvenementProvider as FormationEvenementProvider; use Atelier\Service\Evenement\NotificationFormationsOuvertesService; use Atelier\Service\Evenement\RappelAgentAvantFormationService; use Atelier\Event\CloturerSession\CloturerSessionEvenement; use Atelier\Event\ConvoquerSession\ConvoquerSessionEvenement; use Atelier\Event\RetourSession\RetourSessionEvenement; use Atelier\Provider\Evenement\SessionEvenements; use UnicaenEvenement\Entity\Db\Type; use UnicaenEvenement\Service\EvenementCollection\EvenementCollectionService; Loading @@ -25,20 +13,9 @@ return [ // Évènements de base Type::COLLECTION => EvenementCollectionService::class, // ApplicationEvenementProvider::SYNCHRO_OCTOPUS => SynchroOctopusService::class, // EvenementProvider::RGPD_UNICAEN_RENDERER => RgpdRendererEvenement::class, // FormationEvenementProvider::NOTIFICATION_FORMATION_OUVERTE => NotificationFormationsOuvertesService::class, // FormationEvenementProvider::RAPPEL_FORMATION_AGENT_AVANT => RappelAgentAvantFormationService::class, // FormationEvenementProvider::INSCRIPTION_CLOTURE => InscriptionClotureEvent::class, // FormationEvenementProvider::CONVOCATION => ConvocationEvent::class, // FormationEvenementProvider::DEMANDE_RETOUR => DemandeRetourEvent::class, // FormationEvenementProvider::SESSION_CLOTURE => SessionClotureEvent::class, // EntretienProfessionnelEvenementProvider::RAPPEL_CAMPAGNE_AVANCEMENT_AUTORITE => RappelCampagneAvancementAutoriteService::class, // EntretienProfessionnelEvenementProvider::RAPPEL_CAMPAGNE_AVANCEMENT_SUPERIEUR => RappelCampagneAvancementSuperieurService::class, // EntretienProfessionnelEvenementProvider::RAPPEL_ENTRETIEN_PROFESSIONNEL => RappelEntretienProfessionnelService::class, // EntretienProfessionnelEvenementProvider::RAPPEL_PAS_OBSERVATION_ENTRETIEN_PROFESSIONNEL => RappelPasObservationService::class, SessionEvenements::CONVOQUER_EVENEMENT => ConvoquerSessionEvenement::class, SessionEvenements::RETOUR_EVENEMENT => RetourSessionEvenement::class, SessionEvenements::CLOTURER_EVENEMENT => CloturerSessionEvenement::class, ], 'icone' => [ Loading
module/Atelier/config/merged/session.config.php +11 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,12 @@ use Atelier\Assertion\SessionAssertion; use Atelier\Assertion\SessionAssertionFactory; use Atelier\Controller\SessionController; use Atelier\Controller\SessionControllerFactory; use Atelier\Event\CloturerSession\CloturerSessionEvenement; use Atelier\Event\CloturerSession\CloturerSessionEvenementFactory; use Atelier\Event\ConvoquerSession\ConvoquerSessionEvenement; use Atelier\Event\ConvoquerSession\ConvoquerSessionEvenementFactory; use Atelier\Event\RetourSession\RetourSessionEvenement; use Atelier\Event\RetourSession\RetourSessionEvenementFactory; use Atelier\Form\Session\SessionForm; use Atelier\Form\Session\SessionFormFactory; use Atelier\Form\Session\SessionHydrator; Loading Loading @@ -449,6 +455,11 @@ return [ 'factories' => [ SessionAssertion::class => SessionAssertionFactory::class, SessionService::class => SessionServiceFactory::class, //Evenement RetourSessionEvenement::class => RetourSessionEvenementFactory::class, CloturerSessionEvenement::class => CloturerSessionEvenementFactory::class, ConvoquerSessionEvenement::class => ConvoquerSessionEvenementFactory::class, ], ], 'form_elements' => [ Loading
module/Atelier/src/Controller/SeanceController.php +16 −2 Original line number Diff line number Diff line Loading @@ -10,10 +10,15 @@ use Atelier\Service\Session\SessionServiceAwareTrait; use Laminas\Http\Request; use Laminas\Http\Response; use Laminas\Mvc\Controller\AbstractActionController; use Laminas\Mvc\Plugin\FlashMessenger\FlashMessenger; use Laminas\View\Model\ViewModel; use UnicaenEvenement\Service\Evenement\EvenementServiceAwareTrait; /** @method FlashMessenger flashMessenger() */ class SeanceController extends AbstractActionController { use EvenementServiceAwareTrait; use SessionServiceAwareTrait; use SeanceServiceAwareTrait; use SeanceFormAwareTrait; Loading @@ -38,7 +43,7 @@ class SeanceController extends AbstractActionController $form->setData($data); if ($form->isValid()) { $this->getSeanceService()->create($seance); $this->getSeanceService()->gererEvenement($seance, $this->flashMessenger()); } } Loading @@ -65,6 +70,7 @@ class SeanceController extends AbstractActionController $form->setData($data); if ($form->isValid()) { $this->getSeanceService()->update($seance); $this->getSeanceService()->gererEvenement($seance, $this->flashMessenger()); } } Loading @@ -81,6 +87,8 @@ class SeanceController extends AbstractActionController { $seance = $this->getSeanceService()->getRequestedSeance($this); $this->getSeanceService()->historise($seance); $this->getSeanceService()->gererEvenement($seance, $this->flashMessenger()); return $this->redirect()->toRoute('atelier/session/afficher', ['session' => $seance->getSession()->getId()], [], true); } Loading @@ -88,6 +96,8 @@ class SeanceController extends AbstractActionController { $seance = $this->getSeanceService()->getRequestedSeance($this); $this->getSeanceService()->restore($seance); $this->getSeanceService()->gererEvenement($seance, $this->flashMessenger()); return $this->redirect()->toRoute('atelier/session/afficher', ['session' => $seance->getSession()->getId()], [], true); } Loading @@ -99,7 +109,11 @@ class SeanceController extends AbstractActionController $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); if ($data["reponse"] === "oui") $this->getSeanceService()->delete($seance); if ($data["reponse"] === "oui") { $this->getSeanceService()->delete($seance); if ($seance->estNonHistorise()) $this->getSeanceService()->gererEvenement($seance, $this->flashMessenger()); } exit(); } Loading
module/Atelier/src/Controller/SeanceControllerFactory.php +4 −0 Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ use Atelier\Service\Session\SessionService; use Interop\Container\ContainerInterface; use Psr\Container\ContainerExceptionInterface; use Psr\Container\NotFoundExceptionInterface; use UnicaenEvenement\Service\Evenement\EvenementService; class SeanceControllerFactory { Loading @@ -22,17 +23,20 @@ class SeanceControllerFactory public function __invoke(ContainerInterface $container): SeanceController { /** * @var EvenementService $evenementService * @var SessionService $sessionService * @var SeanceService $seanceService * @var SeanceForm $seanceForm * @var SeanceRecurrenteForm $recurrenteForm */ $evenementService = $container->get(EvenementService::class); $sessionService = $container->get(SessionService::class); $seanceService = $container->get(SeanceService::class); $seanceForm = $container->get('FormElementManager')->get(SeanceForm::class); $recurrenteForm = $container->get('FormElementManager')->get(SeanceRecurrenteForm::class); $controller = new SeanceController(); $controller->setEvenementService($evenementService); $controller->setSessionService($sessionService); $controller->setSeanceService($seanceService); $controller->setSeanceForm($seanceForm); Loading
module/Atelier/src/Entity/Db/Mapping/Atelier.Entity.Db.Session.dcm.xml +11 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,17 @@ </join-table> </many-to-many> <many-to-many field="evenements" target-entity="UnicaenEvenement\Entity\Db\Evenement"> <join-table name="atelier_session_evenement"> <join-columns> <join-column name="session_id" referenced-column-name="id" /> </join-columns> <inverse-join-columns> <join-column name="evenement_instance_id" referenced-column-name="ID" /> </inverse-join-columns> </join-table> </many-to-many> <one-to-many field="seances" target-entity="Atelier\Entity\Db\Seance" mapped-by="session"/> <one-to-many field="inscriptions" target-entity="Atelier\Entity\Db\Inscription" mapped-by="session"/> Loading