Exemplo n.º 1
0
 /**
  * {@inheritdoc}
  */
 protected function deleteEntity($entity, ObjectManager $em)
 {
     parent::deleteEntity($entity, $em);
     if ($this->aclSidManager->isAclEnabled()) {
         $this->aclSidManager->deleteSid($this->aclSidManager->getSid($entity));
     }
 }
Exemplo n.º 2
0
 /**
  * {@inheritdoc}
  */
 protected function checkPermissions($entity, ObjectManager $em)
 {
     $loggedUserId = $this->securityFacade->getLoggedUserId();
     if ($loggedUserId && $loggedUserId == $entity->getId()) {
         throw new ForbiddenException('self delete');
     }
     parent::checkPermissions($entity, $em);
 }
 /**
  * {@inheritdoc}
  */
 protected function checkPermissions($entity, ObjectManager $em)
 {
     /** @var SystemCalendar|null $calendar */
     $calendar = $entity->getSystemCalendar();
     if ($calendar) {
         if ($calendar->isPublic()) {
             if (!$this->calendarConfig->isPublicCalendarEnabled()) {
                 throw new ForbiddenException('Public calendars are disabled.');
             } elseif (!$this->securityFacade->isGranted('oro_public_calendar_event_management')) {
                 throw new ForbiddenException('Access denied.');
             }
         } else {
             if (!$this->calendarConfig->isSystemCalendarEnabled()) {
                 throw new ForbiddenException('System calendars are disabled.');
             } elseif (!$this->securityFacade->isGranted('oro_system_calendar_event_management')) {
                 throw new ForbiddenException('Access denied.');
             }
         }
     } else {
         parent::checkPermissions($entity, $em);
     }
 }