1: <?php
2: namespace TIC\MailBundle\Controller;
3:
4: use TIC\CoreBundle\Base\TICController as BaseController;
5: use TIC\DormBundle\Traits\ControllerCrudable;
6:
7: use Symfony\Component\Routing\Annotation\Route;
8: use Symfony\Component\HttpFoundation\Request;
9: use Symfony\Component\HttpFoundation\Response;
10: use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
11: use Sensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted;
12:
13: /**
14: * Consultation des évènements du journal des envois.
15: * @Route("/")
16: * @IsGranted("ROLE_ADMIN")
17: */
18: class MaillogController extends BaseController
19: {
20: use ControllerCrudable;
21:
22: /**
23: * Liste des évènements du journal d'envoi.
24: * @Route("/logs", name="ticmail_maillog_list")
25: * @Security("is_granted('ROLE_TICMAIL_LOGS')")
26: */
27: public function list(Request $request): Response
28: {
29: return $this->crudList();
30: }
31:
32: /**
33: * Liste des évènements du journal d'envoi pour un modèle donné.
34: * @Route("/logs/{ref}", name="ticmail_maillog_listref")
35: * @Security("is_granted('ROLE_TICMAIL_LOGS')")
36: */
37: public function listRef(Request $request, $ref): Response
38: {
39: return $this->renderAction('list_ref', array(
40: 'items' => $this->getRepo()->listAllByTemplate($ref),
41: 'ref' => $ref,
42: ));
43: }
44:
45: /**
46: * Fiche détaillée d'un évènement du journal d'envoi.
47: * @Route("/log/{id}", name="ticmail_maillog_show")
48: * @Security("is_granted('ROLE_TICMAIL_LOGS')")
49: */
50: public function show(Request $request, $id): Response
51: {
52: return $this->crudShow($id);
53: }
54:
55: }
56: