protected function isGrantedOr403($permission)
 {
     if (!$this->container->has('sylius.authorization_checker')) {
         return true;
     }
     $permission = $this->config->getPermission($permission);
     if ($permission && !$this->get('sylius.authorization_checker')->isGranted(sprintf('%s.%s.%s', $this->config->getBundlePrefix(), $this->config->getResourceName(), $permission))) {
         throw new AccessDeniedException();
     }
 }
Example #2
0
 protected function isGrantedOr403($permission)
 {
     if (!$this->container->has('sylius.authorization_checker')) {
         return true;
     }
     $permission = $this->config->getPermission($permission);
     if ($permission) {
         $grant = sprintf('%s.%s.%s', $this->config->getBundlePrefix(), $this->config->getResourceName(), $permission);
         if (!$this->get('sylius.authorization_checker')->isGranted($grant)) {
             throw new AccessDeniedException(sprintf('Access denied to "%s" for "%s".', $grant, $this->getUser() ? $this->getUser()->getUsername() : 'anon.'));
         }
     }
 }
Example #3
0
 /**
  * @param Request $request
  * @param array   $criteria
  *
  * @return object
  *
  * @throws NotFoundHttpException
  */
 public function findOr404(Request $request, array $criteria = array())
 {
     if ($request->get('slug')) {
         $default = array('slug' => $request->get('slug'));
     } elseif ($request->get('id')) {
         $default = array('id' => $request->get('id'));
     } else {
         $default = array();
     }
     $criteria = array_merge($default, $criteria);
     if (!($resource = $this->resourceResolver->getResource($this->getRepository(), 'findOneBy', array($this->config->getCriteria($criteria))))) {
         throw new NotFoundHttpException(sprintf('Requested %s does not exist with these criteria: %s.', $this->config->getResourceName(), json_encode($this->config->getCriteria($criteria))));
     }
     return $resource;
 }
Example #4
0
 /**
  * @param string $message
  * @param array  $params
  *
  * @return string
  */
 private function translateFlashMessage($message, $params = array())
 {
     $resource = ucfirst(str_replace('_', ' ', $this->config->getResourceName()));
     return $this->translator->trans($message, array_merge(array('%resource%' => $resource), $params), 'flashes');
 }