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

Forcage du troisième paramètre de getContenuFichier pour bug des signatures

parent dfcefbf0
Loading
Loading
Loading
Loading
+5 −3
Changes for module/Soutenance/src/Soutenance/Controller/PresoutenanceController.php: 5 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -463,7 +463,9 @@ class PresoutenanceController extends AbstractController
        $these = $this->requestedThese();
        $proposition = $this->getPropositionService()->findByThese($these);
        $signature = $this->getStructureDocumentService()->getContenuFichier($these->getEcoleDoctorale()->getStructure(), NatureFichier::CODE_SIGNATURE_CONVOCATION, $these->getEtablissement());
        if ($signature === null) $signature = $this->getStructureDocumentService()->getContenuFichier($these->getEtablissement()->getStructure(), NatureFichier::CODE_SIGNATURE_CONVOCATION);
        if ($signature === null) {
            $signature = $this->getStructureDocumentService()->getContenuFichier($these->getEtablissement()->getStructure(), NatureFichier::CODE_SIGNATURE_CONVOCATION, $these->getEtablissement());
        }

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

@@ -490,7 +492,7 @@ class PresoutenanceController extends AbstractController
        $these = $this->requestedThese();
        $proposition = $this->getPropositionService()->findByThese($these);
        $signature = $this->getStructureDocumentService()->getContenuFichier($these->getEcoleDoctorale()->getStructure(), NatureFichier::CODE_SIGNATURE_CONVOCATION, $these->getEtablissement());
        if ($signature === null) $signature = $this->getStructureDocumentService()->getContenuFichier($these->getEtablissement()->getStructure(), NatureFichier::CODE_SIGNATURE_CONVOCATION);
        if ($signature === null) $signature = $this->getStructureDocumentService()->getContenuFichier($these->getEtablissement()->getStructure(), NatureFichier::CODE_SIGNATURE_CONVOCATION, $these->getEtablissement());

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

@@ -518,7 +520,7 @@ class PresoutenanceController extends AbstractController
        $proposition = $this->getPropositionService()->findByThese($these);
        $membre = $this->getMembreService()->getRequestedMembre($this);
        $signature = $this->getStructureDocumentService()->getContenuFichier($these->getEcoleDoctorale()->getStructure(), NatureFichier::CODE_SIGNATURE_CONVOCATION, $these->getEtablissement());
        if ($signature === null) $signature = $this->getStructureDocumentService()->getContenuFichier($these->getEtablissement()->getStructure(), NatureFichier::CODE_SIGNATURE_CONVOCATION);
        if ($signature === null) $signature = $this->getStructureDocumentService()->getContenuFichier($these->getEtablissement()->getStructure(), NatureFichier::CODE_SIGNATURE_CONVOCATION, $these->getEtablissement());

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

+1 −0
Changes for module/Soutenance/src/Soutenance/Service/Exporter/Convocation/convocation_doctorant.phtml: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -148,6 +148,7 @@ $civilite = ($these->getDoctorant()->getIndividu()->getCivilite() === 'M.')?"Mon
        <td>
        </td>
        <td>
            <?php echo $signature; ?>
            <?php if ($signature) : ?>
            <img id="logo" style="background-color: white; max-width: 50%;"
                 src="data:image/*;base64,<?php echo base64_encode($signature); ?>"/>
+2 −1
Changes for module/Structure/src/Structure/Controller/StructureController.php: 2 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -143,9 +143,10 @@ class StructureController extends AbstractController
        $request = $this->getRequest();
        if ($request->isPost()) {
            $data = $request->getPost();
            if ($data['etablissement'] === 'null') $data['etablissement'] = null;
            /** @var Etablissement|null $etablissement */
            $etablissement = null;
            if ($data['etablissement'] !== 'Aucun') $etablissement = $this->etablissementService->getRepository()->find($data['etablissement']);
            if ($data['etablissement'] !== null ) $etablissement = $this->etablissementService->getRepository()->find($data['etablissement']);
            /** @var NatureFichier $nature */
            $nature = $this->natureFichierService->getRepository()->find($data['nature']);

+24 −1
Changes for module/Structure/src/Structure/Service/StructureDocument/StructureDocumentService.php: 24 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -242,7 +242,7 @@ class StructureDocumentService {
     * @return string|null
     * @throws \Application\Service\Fichier\Exception\FichierServiceException Fichier inexistant ou inaccessible sur le serveur
     */
    public function getContenuFichier(Structure $structure, string $nature_code, ?Etablissement $etablissement = null): ?string
    public function getContenuFichier(Structure $structure, string $nature_code, Etablissement $etablissement): ?string
    {
        $documents = $this->getStructuresDocumentsByStructure($structure);
        foreach ($documents as $document) {
@@ -253,4 +253,27 @@ class StructureDocumentService {
        return null;
    }

    /**
     * @param Structure $structure
     * @param string $nature_code
     * @param Etablissement|null $etablissement
     * @return string|null
     * @throws \Application\Service\Fichier\Exception\FichierServiceException Fichier inexistant ou inaccessible sur le serveur
     */
    public function getCheminFichier(Structure $structure, string $nature_code, ?Etablissement $etablissement = null): ?string
    {
        $documents = $this->getStructuresDocumentsByStructure($structure);
        var_dump(count($documents));

        foreach ($documents as $document) {
            var_dump($document->getNature()->getCode() === $nature_code);
            var_dump("zaza=".$document->getEtablissement()->getId());
            var_dump("sasa=".$etablissement->getId());
            var_dump($document->getEtablissement()->getLibelle() === $etablissement);
            if ($document->getNature()->getCode() === $nature_code && $document->getEtablissement() === $etablissement) {
                return $this->fichierService->computeDestinationFilePathForFichier($document->getFichier());
            }
        }
        return null;
    }
}
 No newline at end of file
+1 −1
Changes for module/Structure/view/structure/structure/televerser-document.phtml: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -27,7 +27,7 @@ use Application\Entity\Db\NatureFichier;
            <div class="mb-2">
                <label for="etablissement" class="form-label">Établissement lié : </label>
                <select class="form-control" id="etablissement" name="etablissement">
                    <option>(Aucun)</option>
                    <option value="null">(Aucun)</option>
                    <?php foreach ($etablissements as $etablissement) : ?>
                        <option value="<?php echo $etablissement->getId(); ?>"> <?php echo $etablissement->getLibelle(); ?> </option>
                    <?php endforeach; ?>