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

Merge branch 'hotfix_integration_signature' into release-3.1.6

parents 42b62d07 684c542c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -25,7 +25,7 @@
        "guzzlehttp/guzzle":             "^6.3",
        "ramsey/uuid":                   "^3.3",
        "unicaen/app":                   "^3.1",
        "unicaen/auth":                  "dev-release-3.2.0 as 3.1.2",
        "unicaen/auth":                  "dev-release-3.2.0",
        "unicaen/bjy-authorize":         "^3.0",
        "unicaen/code":                  "^3.0",
        "unicaen/db-import":             "^3.1",
+2 −9
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@
        "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
        "This file is @generated automatically"
    ],
    "content-hash": "a726480d5d45b634617a92d3f08be01b",
    "content-hash": "96f7e1a50a95226e8fcf609f1459d7cc",
    "packages": [
        {
            "name": "beberlei/assert",
@@ -7952,14 +7952,7 @@
            "time": "2019-06-11T19:33:38+00:00"
        }
    ],
    "aliases": [
        {
            "alias": "3.1.2",
            "alias_normalized": "3.1.2.0",
            "version": "dev-release-3.2.0",
            "package": "unicaen/auth"
        }
    ],
    "aliases": [],
    "minimum-stability": "stable",
    "stability-flags": {
        "unicaen/auth": 20
+2 −0
Original line number Diff line number Diff line
@@ -182,4 +182,6 @@ where not exists (
    select * from role_privilege where role_id = p2r.role_id and privilege_id = pp.privilege_id
)
;

INSERT INTO SYGAL_TEST.SOUTENANCE_CONFIGURATION (ID, CODE, LIBELLE, VALEUR) VALUES (18, 'PERIODE_INTERVENTION_DIRECTEUR', 'Période autorisant les directeurs à intervenir', '7');
```
+20 −0
Original line number Diff line number Diff line
@@ -45,6 +45,8 @@ return [
                    'action'     => [
                        'modifier',
                        'supprimer-logo',
                        'televerser-signature-convocation',
                        'supprimer-signature-convocation',
                    ],
                    'privileges' => [
                        StructurePrivileges::STRUCTURE_MODIFICATION_TOUTES_STRUCTURES,
@@ -124,6 +126,24 @@ return [
                            ],
                        ],
                    ],
                    'televerser-signature-convocation' => [
                        'type'          => Segment::class,
                        'options'       => [
                            'route'       => '/televerser-signature-convocation/:structure',
                            'defaults'    => [
                                'action' => 'televerser-signature-convocation',
                            ],
                        ],
                    ],
                    'supprimer-signature-convocation' => [
                        'type'          => Segment::class,
                        'options'       => [
                            'route'       => '/supprimer-signature-convocation/:structure',
                            'defaults'    => [
                                'action' => 'supprimer-signature-convocation',
                            ],
                        ],
                    ],
                ],
            ],
        ],
+43 −0
Original line number Diff line number Diff line
@@ -5,10 +5,13 @@ namespace Application\Controller;
use Application\Entity\Db\Etablissement;
use Application\Entity\Db\Individu;
use Application\Entity\Db\IndividuRole;
use Application\Entity\Db\NatureFichier;
use Application\Entity\Db\Role;
use Application\Entity\Db\TypeStructure;
use Application\Service\Etablissement\EtablissementService;
use Application\Service\Etablissement\EtablissementServiceAwareTrait;
use Application\Service\Fichier\FichierServiceAwareTrait;
use Application\Service\NatureFichier\NatureFichierServiceAwareTrait;
use Application\Service\Role\RoleServiceAwareTrait;
use Application\SourceCodeStringHelperAwareTrait;
use UnicaenApp\Exception\RuntimeException;
@@ -21,6 +24,8 @@ use Zend\View\Model\ViewModel;
class EtablissementController extends StructureConcreteController
{
    use EtablissementServiceAwareTrait;
    use FichierServiceAwareTrait;
    use NatureFichierServiceAwareTrait;
    use RoleServiceAwareTrait;
    use SourceCodeStringHelperAwareTrait;

@@ -65,6 +70,7 @@ class EtablissementController extends StructureConcreteController
    public function informationAction()
    {
        $id = $this->params()->fromRoute('structure');
        /** @var Etablissement $etablissement */
        $etablissement = $this->getStructureConcreteService()->getRepository()->findByStructureId($id);
        if ($etablissement === null) {
            throw new RuntimeException("Aucun établissement ne possède l'identifiant renseigné.");
@@ -104,6 +110,7 @@ class EtablissementController extends StructureConcreteController
            'roleListing'     => $roleListings,
            'individuListing' => $individuListings,
            'logoContent'     => $this->structureService->getLogoStructureContent($etablissement),
            'signatureConvocation' => $this->etablissementService->getSignatureConvocationContent($etablissement),
        ]);
    }

@@ -138,4 +145,40 @@ class EtablissementController extends StructureConcreteController

        return $viewModel;
    }

    /** gestion des signatures */
    public function televerserSignatureConvocationAction()
    {
        $structure = $this->getStructureService()->getRequestedStructure($this);
        $etablissement = $this->getStructureConcreteService()->getRepository()->findByStructureId($structure->getId());
        $nature = $this->natureFichierService->getRepository()->findOneBy(['code' => NatureFichier::CODE_SIGNATURE_CONVOCATION]);
        $request = $this->getRequest();
        if ($request->isPost()) {
                $files = $request->getFiles()->toArray();
                $fichiers = $this->fichierService->createFichiersFromUpload(['files' => $files], $nature);
                $this->fichierService->saveFichiers($fichiers);
                $etablissement->setCheminSignatureConvocation($fichiers[0]);
                $this->getEtablissementService()->update($etablissement);
        }

        $vm =  new ViewModel([
            'title' => "Ajout d'une signature pour les convocation pour l'établissement [".$structure->getLibelle()."]",
            'nature' => 'SIGNATURE_CONVOCATION',
            'action' => $this->url()->fromRoute('etablissement/televerser-signature-convocation', ['structure' => $structure->getId()], [], true),
        ]);
        $vm->setTemplate('application/etablissement/televerser-document');
        return $vm;
    }

    public function supprimerSignatureConvocationAction()
    {
        /** @var Etablissement $etablissement */
        $structure = $this->getStructureService()->getRequestedStructure($this);
        $etablissement = $this->getStructureConcreteService()->getRepository()->findByStructureId($structure->getId());
        $this->fichierService->supprimerFichiers([$etablissement->getSignatureConvocation()]);
        $etablissement->setSignatureConvocation(null);
        $this->etablissementService->update($etablissement);

        return $this->redirect()->toRoute($this->routeName."/information", [], ['query' => ['selected' => $structure->getId()], "fragment" => $structure->getId()], true);
    }
}
 No newline at end of file
Loading