Skip to content
Snippets Groups Projects
Select Git revision
  • 3dafb6012bab24c67c05878f9b4cd0d6ec51a4e2
  • master default protected
  • alc-scindage-donnees-pj
  • b24
  • ll-workflow
  • FJ_LL_Tbl_Contrat
  • alc-docker-node
  • ll-apiplatform
  • php84
  • ll-rgpd
  • b23
  • alc-filtre-type-intervenant
  • ll-sans-mdb5
  • formules-ancienne-infra
  • ll-formules
  • alc-intervenant-dmep
  • ll-suppr-v_vol-s
  • b20
  • ll-postgresql
  • b23.0.1
  • b22
  • 24.8
  • 24.7
  • 24.6
  • 24.5
  • 24.4
  • 24.3
  • 24.2
  • 24.1
  • 24.0
  • 23.15
  • 24.0-beta19
  • 24.0-beta18
  • 24.0-beta17
  • 24.0-beta16
  • 24.0-beta15
  • 24.0-beta14
  • 24.0-beta13
  • 23.14
  • 24.0-beta12
  • 24.0-beta11
41 results

DataGen.php

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    MacroController.php 3.89 KiB
    <?php
    
    namespace UnicaenRenderer\Controller;
    
    use Application\Service\Agent\AgentServiceAwareTrait;
    use UnicaenRenderer\Entity\Db\Macro;
    use UnicaenRenderer\Form\Macro\MacroFormAwareTrait;
    use UnicaenRenderer\Service\Macro\MacroServiceAwareTrait;
    use Laminas\Http\Request;
    use Laminas\Mvc\Controller\AbstractActionController;
    use Laminas\View\Model\ViewModel;
    
    class MacroController extends AbstractActionController {
        use MacroServiceAwareTrait;
        use MacroFormAwareTrait;
    
        public function indexAction() {
            $macrosAll = $this->getMacroService()->getMacros();
            $variable = $this->params()->fromQuery('variable');
    
            $macros = [];
            $variables = [];
            foreach ($macrosAll as $macro) {
                $variables[$macro->getVariable()] = $macro->getVariable();
                if ($variable === null OR $variable ==='' OR $macro->getVariable() === $variable) {
                    $macros[] = $macro;
                }
            }
    
            return new ViewModel([
                'title' => 'Gestion des macros',
                'macros' => $macros,
                'variables' => $variables,
                'variable' => $variable,
            ]);
        }
    
        public function ajouterAction() {
            $macro = new Macro();
            $form = $this->getMacroForm();
            $form->setAttribute('action', $this->url()->fromRoute('contenu/macro/ajouter', [], [], true));
            $form->bind($macro);
    
            /** @var Request $request */
            $request = $this->getRequest();
            if ($request->isPost()) {
                $data = $request->getPost();
                $form->setData($data);
                if ($form->isValid()) {
                    $this->getMacroService()->create($macro);
                }
            }
    
            $vm = new ViewModel();
            $vm->setTemplate('unicaen-renderer/default/default-form');
            $vm->setVariables([
                'title' => "Ajout d'une nouvelle macro",
                'form' => $form,
            ]);
            return $vm;
        }
    
        public function modifierAction() {
            $macro = $this->getMacroService()->getRequestedMacro($this);
            $form = $this->getMacroForm();
            $form->setAttribute('action', $this->url()->fromRoute('contenu/macro/modifier', ['macro' => $macro->getId()], [], true));
            $form->bind($macro);
            $form->setOldCode($macro->getCode());
    
            /** @var Request $request */
            $request = $this->getRequest();
            if ($request->isPost()) {
                $data = $request->getPost();
                $form->setData($data);
                if ($form->isValid()) {
                    $this->getMacroService()->update($macro);
                }
            }
    
            $vm = new ViewModel();
            $vm->setTemplate('unicaen-renderer/default/default-form');
            $vm->setVariables([
                'title' => "Modification d'une macro",
                'form' => $form,
            ]);
            return $vm;
        }
    
        public function supprimerAction()
        {
            $macro = $this->getMacroService()->getRequestedMacro($this);
    
            /** @var Request $request */
            $request = $this->getRequest();
            if ($request->isPost()) {
                $data = $request->getPost();
                if ($data["reponse"] === "oui") $this->getMacroService()->delete($macro);
                exit();
            }
    
            $vm = new ViewModel();
            if ($macro !== null) {
                $vm->setTemplate('unicaen-renderer/default/confirmation');
                $vm->setVariables([
                    'title' => "Suppression de la macro " . $macro->getCode(),
                    'text' => "La suppression est définitive êtes-vous sûr&middot;e de vouloir continuer ?",
                    'action' => $this->url()->fromRoute('contenu/macro/supprimer', ["macro" => $macro->getId()], [], true),
                ]);
            }
            return $vm;
        }
    
        public function genererJsonAction()
        {
            $json = $this->getMacroService()->generateJSON();
    
            return new ViewModel([
                'title' => 'JSON pour tinyMCE',
                'json' => $json,
            ]);
        }
    
    }