Commit 06290bf2 authored by Stephane Bouvry's avatar Stephane Bouvry
Browse files

Merge branch '2026-10-path-limit'

parents ab280cba dd67b59e
Loading
Loading
Loading
Loading
Loading
+10 −0
Changes for config/unicaen-signature.local.php.full-dist: 10 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -214,6 +214,16 @@ return [

                    // Créateur
                    'createdByEppn' => 'bouvry@unicaen.fr',
                ],

                // Limite sur la taille du fichier
                'limitSize' => 10000000, // 10Mo

                // Restriction sur le Format du fichier
                'limitFormat' => [
                    'application/pdf; charset=iso-8859-1',
                    'application/pdf; charset=binary',
                    'application/pdf',
                ]
            ],
            [
+8 −0
Changes for src/Service/SignatureConfigurationService.php: 8 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -81,6 +81,14 @@ class SignatureConfigurationService
        $out = [];
        foreach ($this->getLetterfileConfiguration() as $letterFileConfiguration) {
            $key = $letterFileConfiguration['name'];

            // ---------------------------------
            // On ajoute les options par défaut
            // Taille
            $letterFileConfiguration['limitSize'] = $letterFileConfiguration['limitSize']??0;
            $letterFileConfiguration['limitFormat'] = $letterFileConfiguration['limitFormat']??[];
            //

            $levelsInfos = $this->getLetterFileLevelsInfos($letterFileConfiguration['levels']);
            $letterFileConfiguration['levels_infos'] = $levelsInfos;
            $out[$key] = $letterFileConfiguration;
+5 −1
Changes for src/Service/SignatureService.php: 5 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -261,10 +261,12 @@ class SignatureService
        /** @var SignatureFlowStep $step */
        foreach ($signatureFlow->getSteps() as $step) {
            $letterfile = $letterfiles[$step->getLetterfileName()];

            $limitSize = $letterfile['limitSize'];
            $limitFormat = $letterfile['limitFormat'];
            $levels = $letterfile['levels_infos'];

            $method = $this->getSignatureConfigurationService()->getMethodByKey($step->getRecipientsMethod());

            $currentStep = [];
            $currentStep['id'] = $step->getId();
            $currentStep['label'] = $step->getLabel();
@@ -275,6 +277,8 @@ class SignatureService
            $currentStep['letterfilename'] = $step->getLetterfileName();
            $currentStep['letterfile_label'] = $letterfile['label'];
            $currentStep['level'] = $step->getLevel();
            $currentStep['limitFormat'] = $limitFormat;
            $currentStep['limitSize'] = $limitSize;
            $currentStep['level_label'] = $levels[$step->getLevel()]['label'];
            $currentStep['level_in_letterfile'] = $levels[$step->getLevel()]['key_in_letterfile'];
            $currentStep['allSignToComplete'] = $step->isAllRecipientsSign();
+16 −1
Changes for src/Strategy/Letterfile/Esup/EsupLetterfileStrategy.php: 16 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -434,11 +434,26 @@ class EsupLetterfileStrategy implements ILetterfileStrategy
                $send['post'],
                $send['files']
            );
            return strval($jsonDatas['result']);

            // On récupère le REMOTEID
            $remoteId = intval($jsonDatas['result']);
            if( $remoteId < 1 ){
                $this->getLoggerService()->critical("ERROR SEND : " . json_encode($jsonDatas));
                throw new Exception("Le numéro de document retourné par ESUP est invalide");
            }
            return strval($remoteId);
        } catch (Exception $e) {
            $msg = "Impossible de créer la signature dans ESUP";
            $this->getLoggerService()->critical("$msg : " . $e->getMessage());
            throw new SignatureException($msg);
        }
    }

    public function limitFileSize(): int {
        return intval($this->config['limitSize']);
    }

    public function limitFileExtensions(): array {
        return $this->config['limitFormat'];
    }
}
 No newline at end of file
+12 −0
Changes for src/Strategy/Letterfile/ILetterfileStrategy.php: 12 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -110,6 +110,18 @@ interface ILetterfileStrategy
     */
    public function checkAccess(): void;

    /**
     * Retourne la taille limite des fichiers pris en charge (en octet) par le parapheur
     * @return int
     */
    public function limitFileSize(): int;

    /**
     * Retourne les formats de fichier (extension, ex: pdf) pris en charge par le parapheur
     * @return array
     */
    public function limitFileExtensions(): array;

    /**
     * Configuration issue du fichier signature.local.php
     *
Loading