Example #1
0
 /**
  * @param object $resource
  *
  * @return object|ResourceEvent|null
  */
 public function delete($resource)
 {
     $eventName = $this->config->getEvent('delete');
     $event = $this->dispatchEvent(sprintf('pre_%s', $eventName), new ResourceEvent($resource));
     if ($event->isStopped()) {
         if (null !== $this->flashHelper) {
             $this->flashHelper->setFlash($event->getMessageType(), $event->getMessage(), $event->getMessageParameters());
         }
         return $event;
     }
     $this->manager->remove($resource);
     $this->manager->flush();
     if (null !== $this->flashHelper) {
         $this->flashHelper->setFlash('success', 'delete');
     }
     $this->dispatchEvent(sprintf('post_%s', $eventName), new ResourceEvent($resource));
     return $resource;
 }