Select Git revision
FunctionCreationHelper.php
Forked from
lib / unicaen / db-import
Source project has a limited visibility.
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·e de vouloir continuer ?",
'action' => $this->url()->fromRoute('contenu/template/detruire', ["template" => $template->getId()], [], true),
]);
}
return $vm;
}
}