/** * Pre delete diagnosis. * * Stops a diagnosis from being deleted if it contains second level data. * * @param ResourceEvent $event */ public function preDeleteDiagnosis(ResourceEvent $event) { $diagnosis = $event->getSubject(); $hasActivities = (bool) count($diagnosis->getActivities()); $hasRegimens = (bool) count($diagnosis->getRegimens()); if ($hasActivities || $hasRegimens) { $entities = array(); $hasActivities && ($entities[] = 'activities'); $hasRegimens && ($entities[] = 'regimens'); $string = $this->createEntityString($entities); $event->stop('accard.flashes.no_delete', 'warning', array('%entities%' => $string)); } }