Commit 1e855045 authored by Johnny Leveneur's avatar Johnny Leveneur
Browse files

Merge branch 'ceation_billets_pdf'

parents 1f24b459 597eb0aa
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -125,7 +125,7 @@ return [
                [
                    'controller' => InscriptionController::class,
                    'action' => [
                        'desinscription',
                        'desinscription','genererBillets'
                    ],
                    'privileges' => [
                        EvenementielinscriptionPrivileges::ANNULER,
@@ -313,6 +313,16 @@ return [
                                    ],
                                ],
                            ],
                            'generer-billets' => [
                                'type' => Segment::class,
                                'options' => [
                                    'route' => '/generer-billets/:entity',
                                    'defaults' => [
                                        /** @see InscriptionController::genererBilletsAction() */
                                        'action' => 'genererBillets',
                                    ],
                                ],
                            ],
                        ],
                    ],
                ],
+24 −3
Original line number Diff line number Diff line
@@ -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() */
@@ -32,6 +34,8 @@ class InscriptionController extends AbstractActionController
    use UserServiceAwareTrait;
    use EvenementServiceAwareTrait;
    use NotificationServiceAwareTrait;
    use RenduServiceAwareTrait;


    /**
     * Afficher la liste des entités
@@ -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
    {
+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
+1 −2
Original line number Diff line number Diff line
@@ -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';
@@ -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
+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