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

Premier jet rapport de soutenance

parent 461846c5
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -71,6 +71,7 @@ return [
                        'proces-verbal-soutenance',
                        'modifier-adresse',
                        'envoyer-convocation',
                        'rapport-soutenance',
                        'rapport-technique',
                    ],
                    'privileges' => PresoutenancePrivileges::PRESOUTENANCE_DATE_RETOUR_MODIFICATION,
@@ -176,6 +177,17 @@ return [
                                    ],
                                ],
                            ],
                            'rapport-soutenance' => [
                                'type' => Segment::class,
                                'may_terminate' => true,
                                'options' => [
                                    'route' => '/rapport-soutenance',
                                    'defaults' => [
                                        'controller' => PresoutenanceController::class,
                                        'action' => 'rapport-soutenance',
                                    ],
                                ],
                            ],
                            'rapport-technique' => [
                                'type' => Segment::class,
                                'may_terminate' => true,
+18 −0
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ use Soutenance\Service\Evenement\EvenementServiceAwareTrait;
use Soutenance\Service\Exporter\AvisSoutenance\AvisSoutenancePdfExporter;
use Soutenance\Service\Exporter\Convocation\ConvocationPdfExporter;
use Soutenance\Service\Exporter\ProcesVerbal\ProcesVerbalSoutenancePdfExporter;
use Soutenance\Service\Exporter\RapportSoutenance\RapportSoutenancePdfExporter;
use Soutenance\Service\Exporter\RapportTechnique\RapportTechniquePdfExporter;
use Soutenance\Service\Justificatif\JustificatifServiceAwareTrait;
use Soutenance\Service\Membre\MembreServiceAwareTrait;
@@ -422,6 +423,23 @@ class PresoutenanceController extends AbstractController
        exit;
    }

    public function rapportSoutenanceAction()
    {
        $these = $this->requestedThese();
        $proposition = $this->getPropositionService()->findOneForThese($these);

        $pdcData = $this->getTheseService()->fetchInformationsPageDeCouverture($these);

        $exporter = new RapportSoutenancePdfExporter($this->renderer, 'A4');
        $exporter->setVars([
            'proposition' => $proposition,
            'these' => $these,
            'informations' => $pdcData,
        ]);
        $exporter->export($these->getId() . '_rapport_soutenance.pdf');
        exit;
    }

    public function rapportTechniqueAction()
    {
        $these = $this->requestedThese();
+36 −0
Original line number Diff line number Diff line
<?php

namespace Soutenance\Service\Exporter\RapportSoutenance;

use UnicaenApp\Exporter\Pdf as PdfExporter;
use Laminas\View\Renderer\PhpRenderer;
use Laminas\View\Resolver\TemplatePathStack;

class RapportSoutenancePdfExporter extends PdfExporter
{
    private $vars;

    public function setVars(array $vars)
    {
        $this->vars = $vars;
        $this->vars['exporter'] = $this;

        return $this;
    }

    public function __construct(PhpRenderer $renderer = null, $format = 'A4', $orientationPaysage = false, $defaultFontSize = 10)
    {
        parent::__construct($renderer, $format, $orientationPaysage, $defaultFontSize);
        $resolver = $renderer->resolver();
        $resolver->attach(new TemplatePathStack(['script_paths' => [__DIR__]]));
    }

    public function export($filename = null, $destination = self::DESTINATION_BROWSER, $memoryLimit = null)
    {
//        $this->addBodyHtml('<style>' . file_get_contents(APPLICATION_DIR . '/public/css/page-unicaen.css') . '</style>');
        $this->setHeaderScript('empty.phtml');
        $this->setFooterScript('footer.phtml', null, $this->vars);
        $this->addBodyScript('rapport-soutenance.phtml', false, $this->vars);
        return PdfExporter::export($filename, $destination, $memoryLimit);
    }
}
 No newline at end of file
+0 −0

Empty file added.

+27 −0
Original line number Diff line number Diff line
<?php

/** @var \These\Service\FichierThese\PdcData $data */

use These\Entity\Db\Acteur;

$membres = $data->getMembres();
$position = 0;
$nbPerLine = 4;
?>

Fait à ........................................, le ........................................

<table style="width: 100%;">
    <tr>
        <?php foreach ($membres as $membre) : ?>
            <td>
                <?php echo $membre->getIndividu()->getNomComplet(); ?>
                <br/>&nbsp;<br/>&nbsp;<br/>&nbsp;
                <?php $position += 1; ?>
            </td>
            <?php if ($position % $nbPerLine === 0) : ?>
                </tr><tr>
            <?php endif; ?>
        <?php endforeach; ?>
    </tr>
</table>
Loading