Loading module/Evenementiel/config/merged/Inscription.config.php +11 −1 Original line number Diff line number Diff line Loading @@ -125,7 +125,7 @@ return [ [ 'controller' => InscriptionController::class, 'action' => [ 'desinscription', 'desinscription','genererBillets' ], 'privileges' => [ EvenementielinscriptionPrivileges::ANNULER, Loading Loading @@ -313,6 +313,16 @@ return [ ], ], ], 'generer-billets' => [ 'type' => Segment::class, 'options' => [ 'route' => '/generer-billets/:entity', 'defaults' => [ /** @see InscriptionController::genererBilletsAction() */ 'action' => 'genererBillets', ], ], ], ], ], ], Loading module/Evenementiel/src/Controller/InscriptionController.php +24 −3 Original line number Diff line number Diff line Loading @@ -4,21 +4,23 @@ namespace Evenementiel\Controller; use Etudiant\Service\Etudiant\EtudiantServiceAwareTrait; use Evenementiel\Entity\Db\Inscription; use Evenementiel\Entity\Db\InscriptionPlace; use Evenementiel\Provider\Etat\EvenementEtats; use Evenementiel\Provider\Etat\InscriptionEtats; use Evenementiel\Provider\Template\TemplatesMail; use Evenementiel\Service\Evenement\EvenementServiceAwareTrait; use Evenementiel\Service\Notification\NotificationServiceAwareTrait; use Evenementiel\Service\Participant\ParticipantServiceAwareTrait; use Laminas\Http\Request; use Laminas\Mvc\Controller\AbstractActionController; use Laminas\Mvc\Plugin\FlashMessenger\FlashMessenger; use Laminas\View\Model\ViewModel; use Evenementiel\Form\Inscription\InscriptionParticipantFormAwareTrait; use Evenementiel\Service\Inscription\InscriptionServiceAwareTrait; use Laminas\Http\Response; use Laminas\View\Renderer\PhpRenderer; use Mpdf\MpdfException; use UnicaenEtat\Service\EtatInstance\EtatInstanceServiceAwareTrait; use UnicaenEtat\Service\EtatType\EtatTypeServiceAwareTrait; use UnicaenPdf\Exporter\PdfExporter; use UnicaenRenderer\Service\Rendu\RenduServiceAwareTrait; use UnicaenUtilisateur\Service\User\UserServiceAwareTrait; /** @method FlashMessenger flashMessenger() */ Loading @@ -32,6 +34,8 @@ class InscriptionController extends AbstractActionController use UserServiceAwareTrait; use EvenementServiceAwareTrait; use NotificationServiceAwareTrait; use RenduServiceAwareTrait; /** * Afficher la liste des entités Loading Loading @@ -397,6 +401,23 @@ class InscriptionController extends AbstractActionController return $vm; } /** * @throws MpdfException */ public function genererBilletsAction(): ?string { $inscription = $this->getInscriptionService()->getRequestedEntity($this); // Nom unique + extension .png $prefix = 'billets_'; $sanitizedPrefix = $prefix !== null ? preg_replace('/[^a-zA-Z0-9_\-]/', '_', $prefix) : 'qr_'; $sanitizedPrenomNom = preg_replace('/[^a-zA-Z0-9_\-]/', '_', $inscription->getParticipantDenomination()) ; $filename = $sanitizedPrefix . $sanitizedPrenomNom . '_evenement_' . $inscription->getEvenement()->getId() . '.pdf' ; return $this->getNotificationService()->buildBilletsPdf($inscription, $filename, PdfExporter::DESTINATION_BROWSER_FORCE_DL ); } /** GESTION PAR LES PARTICIPANT·ES ***********************************************************************************/ public function autoInscriptionAction(): ViewModel { Loading module/Evenementiel/src/Provider/Parametre/EtablissementParametres.php 0 → 100644 +12 −0 Original line number Diff line number Diff line <?php namespace Evenementiel\Provider\Parametre; class EtablissementParametres { const TYPE = 'ETABLISSEMENT'; const LOGO = 'LOGO'; const LIBELLE = 'LIBELLE'; const SOUSLIBELLE = 'SOUSLIBELLE'; } No newline at end of file module/Evenementiel/src/Provider/Template/MailTemplates.php→module/Evenementiel/src/Provider/Template/TemplatesMail.php +1 −2 Original line number Diff line number Diff line Loading @@ -2,7 +2,7 @@ namespace Evenementiel\Provider\Template; class MailTemplates { class TemplatesMail { const EVENEMENT_INSCRIPTION_DEMANDE = "EVENEMENT_INSCRIPTION_DEMANDE"; const EVENEMENT_LISTE_PRINCIPALE = 'EVENEMENT_LISTE_PRINCIPALE'; Loading @@ -12,5 +12,4 @@ class MailTemplates { const EVENEMENT_INSCRIPTION_VALIDER = "EVENEMENT_INSCRIPTION_VALIDER"; const EVENEMENT_INSCRIPTION_REFUSER = "EVENEMENT_INSCRIPTION_REFUSER"; } No newline at end of file module/Evenementiel/src/Provider/Template/TemplatesPdf.php 0 → 100644 +8 −0 Original line number Diff line number Diff line <?php namespace Evenementiel\Provider\Template; class TemplatesPdf { const EVENEMENT_BILLETS = 'EVENEMENT_BILLETS'; } No newline at end of file Loading
module/Evenementiel/config/merged/Inscription.config.php +11 −1 Original line number Diff line number Diff line Loading @@ -125,7 +125,7 @@ return [ [ 'controller' => InscriptionController::class, 'action' => [ 'desinscription', 'desinscription','genererBillets' ], 'privileges' => [ EvenementielinscriptionPrivileges::ANNULER, Loading Loading @@ -313,6 +313,16 @@ return [ ], ], ], 'generer-billets' => [ 'type' => Segment::class, 'options' => [ 'route' => '/generer-billets/:entity', 'defaults' => [ /** @see InscriptionController::genererBilletsAction() */ 'action' => 'genererBillets', ], ], ], ], ], ], Loading
module/Evenementiel/src/Controller/InscriptionController.php +24 −3 Original line number Diff line number Diff line Loading @@ -4,21 +4,23 @@ namespace Evenementiel\Controller; use Etudiant\Service\Etudiant\EtudiantServiceAwareTrait; use Evenementiel\Entity\Db\Inscription; use Evenementiel\Entity\Db\InscriptionPlace; use Evenementiel\Provider\Etat\EvenementEtats; use Evenementiel\Provider\Etat\InscriptionEtats; use Evenementiel\Provider\Template\TemplatesMail; use Evenementiel\Service\Evenement\EvenementServiceAwareTrait; use Evenementiel\Service\Notification\NotificationServiceAwareTrait; use Evenementiel\Service\Participant\ParticipantServiceAwareTrait; use Laminas\Http\Request; use Laminas\Mvc\Controller\AbstractActionController; use Laminas\Mvc\Plugin\FlashMessenger\FlashMessenger; use Laminas\View\Model\ViewModel; use Evenementiel\Form\Inscription\InscriptionParticipantFormAwareTrait; use Evenementiel\Service\Inscription\InscriptionServiceAwareTrait; use Laminas\Http\Response; use Laminas\View\Renderer\PhpRenderer; use Mpdf\MpdfException; use UnicaenEtat\Service\EtatInstance\EtatInstanceServiceAwareTrait; use UnicaenEtat\Service\EtatType\EtatTypeServiceAwareTrait; use UnicaenPdf\Exporter\PdfExporter; use UnicaenRenderer\Service\Rendu\RenduServiceAwareTrait; use UnicaenUtilisateur\Service\User\UserServiceAwareTrait; /** @method FlashMessenger flashMessenger() */ Loading @@ -32,6 +34,8 @@ class InscriptionController extends AbstractActionController use UserServiceAwareTrait; use EvenementServiceAwareTrait; use NotificationServiceAwareTrait; use RenduServiceAwareTrait; /** * Afficher la liste des entités Loading Loading @@ -397,6 +401,23 @@ class InscriptionController extends AbstractActionController return $vm; } /** * @throws MpdfException */ public function genererBilletsAction(): ?string { $inscription = $this->getInscriptionService()->getRequestedEntity($this); // Nom unique + extension .png $prefix = 'billets_'; $sanitizedPrefix = $prefix !== null ? preg_replace('/[^a-zA-Z0-9_\-]/', '_', $prefix) : 'qr_'; $sanitizedPrenomNom = preg_replace('/[^a-zA-Z0-9_\-]/', '_', $inscription->getParticipantDenomination()) ; $filename = $sanitizedPrefix . $sanitizedPrenomNom . '_evenement_' . $inscription->getEvenement()->getId() . '.pdf' ; return $this->getNotificationService()->buildBilletsPdf($inscription, $filename, PdfExporter::DESTINATION_BROWSER_FORCE_DL ); } /** GESTION PAR LES PARTICIPANT·ES ***********************************************************************************/ public function autoInscriptionAction(): ViewModel { Loading
module/Evenementiel/src/Provider/Parametre/EtablissementParametres.php 0 → 100644 +12 −0 Original line number Diff line number Diff line <?php namespace Evenementiel\Provider\Parametre; class EtablissementParametres { const TYPE = 'ETABLISSEMENT'; const LOGO = 'LOGO'; const LIBELLE = 'LIBELLE'; const SOUSLIBELLE = 'SOUSLIBELLE'; } No newline at end of file
module/Evenementiel/src/Provider/Template/MailTemplates.php→module/Evenementiel/src/Provider/Template/TemplatesMail.php +1 −2 Original line number Diff line number Diff line Loading @@ -2,7 +2,7 @@ namespace Evenementiel\Provider\Template; class MailTemplates { class TemplatesMail { const EVENEMENT_INSCRIPTION_DEMANDE = "EVENEMENT_INSCRIPTION_DEMANDE"; const EVENEMENT_LISTE_PRINCIPALE = 'EVENEMENT_LISTE_PRINCIPALE'; Loading @@ -12,5 +12,4 @@ class MailTemplates { const EVENEMENT_INSCRIPTION_VALIDER = "EVENEMENT_INSCRIPTION_VALIDER"; const EVENEMENT_INSCRIPTION_REFUSER = "EVENEMENT_INSCRIPTION_REFUSER"; } No newline at end of file
module/Evenementiel/src/Provider/Template/TemplatesPdf.php 0 → 100644 +8 −0 Original line number Diff line number Diff line <?php namespace Evenementiel\Provider\Template; class TemplatesPdf { const EVENEMENT_BILLETS = 'EVENEMENT_BILLETS'; } No newline at end of file