vendor/uvdesk/core-framework/Controller/Privilege.php line 26

Open in your IDE?
  1. <?php
  2. namespace Webkul\UVDesk\CoreFrameworkBundle\Controller;
  3. use Symfony\Component\HttpFoundation\Request;
  4. use Symfony\Component\HttpFoundation\Response;
  5. use Webkul\UVDesk\CoreFrameworkBundle\Entity\SupportPrivilege;
  6. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  7. use Webkul\UVDesk\CoreFrameworkBundle\Services\UserService;
  8. use Symfony\Contracts\Translation\TranslatorInterface;
  9. use Webkul\UVDesk\CoreFrameworkBundle\Services\UVDeskService;
  10. class Privilege extends AbstractController
  11. {
  12.     private $userService;
  13.     private $translator;
  14.     private $uvdeskService;
  15.     
  16.     public function __construct(UserService $userServiceTranslatorInterface $translatorUVDeskService $uvdeskService)
  17.     {
  18.         $this->userService $userService;
  19.         $this->translator $translator;
  20.         $this->uvdeskService $uvdeskService;
  21.     }
  22.     public function listPrivilege(Request $request)
  23.     {
  24.         if (!$this->userService->isAccessAuthorized('ROLE_AGENT_MANAGE_AGENT_PRIVILEGE')){
  25.             return $this->redirect($this->generateUrl('helpdesk_member_dashboard'));
  26.         }
  27.         return $this->render('@UVDeskCoreFramework/Privileges/listSupportPriveleges.html.twig');
  28.     }
  29.     public function createPrivilege(Request $request)
  30.     {
  31.         if (!$this->userService->isAccessAuthorized('ROLE_AGENT_MANAGE_AGENT_PRIVILEGE')){
  32.             return $this->redirect($this->generateUrl('helpdesk_member_dashboard'));
  33.         }
  34.         $formErrors = [];
  35.         $supportPrivilege = new SupportPrivilege();
  36.         $supportPrivilegeResources $this->uvdeskService->getSupportPrivelegesResources();
  37.         if ('POST' == $request->getMethod()) {
  38.             $entityManager $this->getDoctrine()->getManager();
  39.             $supportPrivelegeFormDetails $request->request->get('privilege_form');
  40.             $supportPrivilege->setName($supportPrivelegeFormDetails['name']);
  41.             $supportPrivilege->setDescription($supportPrivelegeFormDetails['description']);
  42.             $supportPrivilege->setPrivileges($supportPrivelegeFormDetails['privileges']);
  43.             $entityManager->persist($supportPrivilege);
  44.             $entityManager->flush();
  45.             $this->addFlash('success'$this->translator->trans('Success ! Privilege information saved successfully.'));
  46.             return $this->redirect($this->generateUrl('helpdesk_member_privilege_collection'));
  47.         }
  48.         return $this->render('@UVDeskCoreFramework/Privileges/createSupportPrivelege.html.twig', [
  49.             'errors' => json_encode($formErrors),
  50.             'supportPrivilege' => $supportPrivilege,
  51.             'supportPrivilegeResources' => $supportPrivilegeResources,
  52.         ]);
  53.     }
  54.     public function editPrivilege($supportPrivilegeId)
  55.     {
  56.         if (!$this->userService->isAccessAuthorized('ROLE_AGENT_MANAGE_AGENT_PRIVILEGE')){
  57.             return $this->redirect($this->generateUrl('helpdesk_member_dashboard'));
  58.         }
  59.         $entityManager $this->getDoctrine()->getManager();
  60.         $request $this->get('request_stack')->getCurrentRequest();
  61.         $supportPrivilege $entityManager->getRepository(SupportPrivilege::class)->findOneById($supportPrivilegeId);
  62.         if (empty($supportPrivilege)) {
  63.             $this->noResultFound();
  64.         }
  65.         $formErrors = [];
  66.         $supportPrivilegeResources $this->uvdeskService->getSupportPrivelegesResources();
  67.         if ('POST' == $request->getMethod()) {
  68.             $supportPrivilegeDetails $request->request->get('privilege_form');
  69.             $supportPrivilege->setName($supportPrivilegeDetails['name']);
  70.             $supportPrivilege->setDescription($supportPrivilegeDetails['description']);
  71.             $supportPrivilege->setPrivileges($supportPrivilegeDetails['privileges']);
  72.             $entityManager->persist($supportPrivilege);
  73.             $entityManager->flush();
  74.             $this->addFlash('success'$this->translator->trans('Privilege updated successfully.'));
  75.             
  76.             return $this->redirect($this->generateUrl('helpdesk_member_privilege_collection'));
  77.         }
  78.         return $this->render('@UVDeskCoreFramework/Privileges/updateSupportPrivelege.html.twig', [
  79.             'errors' => json_encode($formErrors),
  80.             'supportPrivilege' => $supportPrivilege,
  81.             'supportPrivilegeResources' => $supportPrivilegeResources,
  82.         ]);
  83.     }
  84. }