src/Application/Internit/TipoSolicitacaoBundle/Controller/AssuntoAdminController.php line 103

Open in your IDE?
  1. <?php
  2. namespace App\Application\Internit\TipoSolicitacaoBundle\Controller;
  3. use App\Application\Internit\TipoSolicitacaoBundle\Entity\Assunto;
  4. use App\Application\Internit\TipoSolicitacaoBundle\Entity\TipoSolicitacao;
  5. use App\Application\Project\ContentBundle\Attributes\Acl as ACL;
  6. use App\Application\Project\ContentBundle\Controller\Base\BaseAdminController;
  7. use Sonata\AdminBundle\Datagrid\ProxyQueryInterface;
  8. use Symfony\Component\HttpFoundation\JsonResponse;
  9. use Symfony\Component\HttpFoundation\Request;
  10. use Symfony\Component\HttpFoundation\Response;
  11. #[ACL\Admin(enabletruetitle'Assunto'description'Permissões modulo Assunto')]
  12. class AssuntoAdminController extends BaseAdminController
  13. {
  14.     #[ACL\Admin(enabletruetitle'Listar'description'Listar Assunto')]
  15.     public function listAction(Request $request): Response
  16.     {
  17.         $this->validateAccess("listAction");
  18.         return parent::listAction($request);
  19.     }
  20.     #[ACL\Admin(enabletruetitle'Visualizar'description'Visualizar Assunto')]
  21.     public function showAction(Request $request): Response
  22.     {
  23.         $this->validateAccess("showAction");
  24.         return parent::showAction($request);
  25.     }
  26.     #[ACL\Admin(enabletruetitle'Criar'description'Criar Assunto')]
  27.     public function createAction(Request $request): Response
  28.     {
  29.         $this->validateAccess("createAction");
  30.         return parent::createAction($request);
  31.     }
  32.     #[ACL\Admin(enabletruetitle'Editar'description'Editar Assunto')]
  33.     public function editAction(Request $request): Response
  34.     {
  35.         $this->validateAccess("editAction");
  36.         return parent::editAction($request);
  37.     }
  38.     #[ACL\Admin(enabletruetitle'Excluir'description'Excluir Assunto')]
  39.     public function deleteAction(Request $request): Response
  40.     {
  41.         $this->validateAccess("deleteAction");
  42.         return parent::deleteAction($request);
  43.     }
  44.     #[ACL\Admin(enabletruetitle'Excluir em Lote'description'Excluir Assunto em lote')]
  45.     public function batchActionDelete(ProxyQueryInterface $query): Response
  46.     {
  47.         $this->validateAccess("batchActionDelete");
  48.         return parent::batchActionDelete($query);
  49.     }
  50.     public function batchAction(Request $request): Response
  51.     {
  52.         $this->validateAccess("batchActionDelete");
  53.         return parent::batchAction($request);
  54.     }
  55.     #[ACL\Admin(enabletruetitle'Exportar'description'Exportar Assunto')]
  56.     public function exportAction(Request $request): Response
  57.     {
  58.         $this->validateAccess("exportAction");
  59.         return parent::exportAction($request);
  60.     }
  61.     #[ACL\Admin(enabletruetitle'Auditoria'description'Auditar Assunto')]
  62.     public function historyAction(Request $request): Response
  63.     {
  64.         $this->validateAccess("historyAction");
  65.         return parent::historyAction($request);
  66.     }
  67.     public function historyViewRevisionAction(Request $requeststring $revision): Response
  68.     {
  69.         $this->validateAccess("historyAction");
  70.         return parent::historyViewRevisionAction($request$revision);
  71.     }
  72.     public function historyCompareRevisionsAction(Request $requeststring $baseRevisionstring $compareRevision): Response
  73.     {
  74.         $this->validateAccess("historyAction");
  75.         return parent::historyCompareRevisionsAction($request$baseRevision$compareRevision);
  76.     }
  77.     public function apiAssuntosAction(Request $request)
  78.     {
  79.         $this->validateAccess("createAction");
  80.         $tipo $request->get('tipoSolicitacao');
  81.         $tipo $this->managerRegistry->getRepository(TipoSolicitacao::class)->findOneBy(['id' =>  $tipo]);
  82.         if(!$tipo)
  83.             return $this->json(['status' => false'message' => 'Tipo não encontrado'], 400);
  84.         $assuntos $this->managerRegistry->getRepository(Assunto::class)->findBy(['tipoSolicitacao' =>  $tipo]);
  85.         $response = [];
  86.         /** @var $assunto Assunto */
  87.         foreach ($assuntos as $assunto) {
  88.             $response[] = [
  89.                 'id' => $assunto->getId(),
  90.                 'assunto' => $assunto->getAssunto(),
  91.             ];
  92.         }
  93.         return $this->json($response);
  94.     }
  95.     public function apiTipoAssuntosAction(Request $request)
  96.     {
  97.         $this->validateAccess("createAction");
  98.         $assunto $request->get('assunto');
  99.         $assunto $this->managerRegistry->getRepository(Assunto::class)->findOneBy(['id' =>  $assunto]);
  100.         return new JsonResponse($assunto->getTipoSolicitacao()->getId());
  101.     }
  102. }