src/CompanyGroupBundle/Modules/ProvisioningOps/Controller/ProvisioningAdminController.php line 49

Open in your IDE?
  1. <?php
  2. namespace CompanyGroupBundle\Modules\ProvisioningOps\Controller;
  3. use ApplicationBundle\Controller\GenericController;
  4. use ApplicationBundle\Modules\Authentication\Constants\UserConstants;
  5. use CompanyGroupBundle\Entity\ProvisioningJourney;
  6. use Symfony\Component\HttpFoundation\Request;
  7. class ProvisioningAdminController extends GenericController
  8. {
  9.     public function indexAction(Request $request)
  10.     {
  11.         if (!$this->isAdmin($request)) { return $this->redirectToRoute('dashboard'); }
  12.         $queue $this->get('app.provisioning_queue_service')->blocked((int)$request->query->get('limit'50));
  13.         return $this->render('@CompanyGroup/Modules/ProvisioningOps/admin_queue.html.twig', array(
  14.             'page_title' => 'Provisioning Queue''queue' => $queue,
  15.         ));
  16.     }
  17.     public function assignAction(Request $request$id)
  18.     {
  19.         if (!$this->isAdmin($request)) { throw $this->createAccessDeniedException(); }
  20.         if (!$this->isCsrfTokenValid('provisioning_assign_' . (int)$id, (string)$request->request->get('_token'))) { throw $this->createAccessDeniedException('Invalid request token.'); }
  21.         $em $this->getDoctrine()->getManager('company_group');
  22.         $journey $em->getRepository(ProvisioningJourney::class)->find((int)$id);
  23.         if ($journey instanceof ProvisioningJourney) {
  24.             $journey->setAssignedOwnerId((int)$request->getSession()->get(UserConstants::USER_ID));
  25.             $em->flush(); $this->addFlash('success''Provisioning case assigned to you.');
  26.         }
  27.         return $this->redirectToRoute('admin_provisioning_queue');
  28.     }
  29.     public function retryAction(Request $request$id)
  30.     {
  31.         if (!$this->isAdmin($request)) { throw $this->createAccessDeniedException(); }
  32.         if (!$this->isCsrfTokenValid('provisioning_retry_' . (int)$id, (string)$request->request->get('_token'))) { throw $this->createAccessDeniedException('Invalid request token.'); }
  33.         $journey $this->getDoctrine()->getManager('company_group')->getRepository(ProvisioningJourney::class)->find((int)$id);
  34.         if ($journey instanceof ProvisioningJourney) {
  35.             $result $this->get('app.provisioning_reconciliation_service')->retry($journey);
  36.             $this->addFlash(!empty($result['success']) ? 'success' 'warning', !empty($result['success']) ? 'Provisioning checks are now clear.' 'Provisioning still needs attention. No payment action was taken.');
  37.         }
  38.         return $this->redirectToRoute('admin_provisioning_queue');
  39.     }
  40.     private function isAdmin(Request $request)
  41.     {
  42.         $session $request->getSession();
  43.         return (int)$session->get(UserConstants::USER_ID0) > && ((int)$session->get(UserConstants::IS_BUDDYBEE_ADMIN0) === || (int)$session->get(UserConstants::ALL_MODULE_ACCESS_FLAG0) === 1);
  44.     }
  45. }