Skip to content
Snippets Groups Projects
Select Git revision
  • c79532809d448adca567d0d70a6261dbb826302c
  • master default protected
  • release_1.4.0
  • release_1.3.0
  • release_1.2.0
  • 8.4
  • release_1.1.0
  • release_1.0.6
  • release_1.0.5
  • release_1.0.4
  • 1.2.3
  • 1.2.2
  • 1.2.1
  • 1.2.0
  • 1.1.0
  • 1.0.7
  • 1.0.6
  • 1.0.5
  • 1.0.4
  • 1.0.3
  • 1.0.2
21 results

init_autoloader.php

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    TemplateController.php 3.50 KiB
    <?php
    
    namespace UnicaenRenderer\Controller;
    
    use UnicaenRenderer\Entity\Db\Template;
    use UnicaenRenderer\Form\Template\TemplateFormAwareTrait;
    use UnicaenRenderer\Service\Template\TemplateServiceAwareTrait;
    use UnicaenRenderer\Service\Macro\MacroServiceAwareTrait;
    use Laminas\Http\Request;
    use Laminas\Mvc\Controller\AbstractActionController;
    use Laminas\View\Model\ViewModel;
    
    class TemplateController extends AbstractActionController {
        use TemplateServiceAwareTrait;
        use MacroServiceAwareTrait;
        use TemplateFormAwareTrait;
    
        public function indexAction()
        {
            $templates = $this->getTemplateService()->getTemplates();
    
            return new ViewModel([
                'title' => 'Gestion des templates',
                'templates' => $templates,
            ]);
        }
    
        public function afficherAction()
        {
            $template = $this->getTemplateService()->getRequestedTemplate($this);
    
            return new ViewModel([
                'title' => "Affichage du template",
                'template' => $template,
            ]);
        }
    
        public function ajouterAction()
        {
            $template = new Template();
    
            $form = $this->getTemplateForm();
            $form->setAttribute('action', $this->url()->fromRoute('contenu/template/ajouter', [], [], true));
            $form->bind($template);
    
            $request = $this->getRequest();
            if ($request->isPost()) {
                $data = $request->getPost();
                $form->setData($data);
                if ($form->isValid()) {
                    $this->getTemplateService()->create($template);
                }
            }
    
            $vm = new ViewModel();
            $vm->setTemplate('unicaen-renderer/template/modifier');
            $vm->setVariables([
                'title' => "Création d'un template",
                'form' => $form,
            ]);
            return $vm;
        }
    
        public function modifierAction()
        {
            $template = $this->getTemplateService()->getRequestedTemplate($this);
    
            $form = $this->getTemplateForm();
            $form->setAttribute('action', $this->url()->fromRoute('contenu/template/modifier', ['template' => $template->getId()], [], true));
            $form->bind($template);
            $form->setOldCode($template->getCode());
    
            $request = $this->getRequest();
            if ($request->isPost()) {
                $data = $request->getPost();
                $form->setData($data);
                if ($form->isValid()) {
                    $this->getTemplateService()->update($template);
                }
            }
    
            return new ViewModel([
                'title' => "Modification d'un template",
                'form' => $form,
            ]);
        }
    
        public function detruireAction()
        {
            $template = $this->getTemplateService()->getRequestedTemplate($this);
    
            /** @var Request $request */
            $request = $this->getRequest();
            if ($request->isPost()) {
                $data = $request->getPost();
                if ($data["reponse"] === "oui") {
                    $this->getTemplateService()->delete($template);
                }
                exit();
            }
    
            $vm = new ViewModel();
            if ($template !== null) {
                $vm->setTemplate('unicaen-renderer/default/confirmation');
                $vm->setVariables([
                    'title' => "Suppression du template [" . $template->getCode() . "]",
                    'text' => "La suppression est définitive êtes-vous sûr&middot;e de vouloir continuer ?",
                    'action' => $this->url()->fromRoute('contenu/template/detruire', ["template" => $template->getId()], [], true),
                ]);
            }
            return $vm;
        }
    }