/** * Add events * * @param $key * @param TriggerEvent $event * * @return Point */ public function addTriggerEvent($key, TriggerEvent $event) { if ($changes = $event->getChanges()) { $this->isChanged('events', array($key, $changes)); } $this->events[$key] = $event; return $this; }
/** * {@inheritDoc} */ public function getLog() { $this->__initializer__ && $this->__initializer__->__invoke($this, 'getLog', array()); return parent::getLog(); }
/** * Undeletes the entity. * * @param int $objectId * * @return JsonResponse */ public function undeleteAction($objectId) { $session = $this->get('session'); $triggerId = $this->request->get('triggerId'); $events = $session->get('mautic.point.' . $triggerId . '.triggerevents.modified', []); $delete = $session->get('mautic.point.' . $triggerId . '.triggerevents.deleted', []); //ajax only for form fields if (!$this->request->isXmlHttpRequest() || !$this->get('mautic.security')->isGranted(['point:triggers:edit', 'point:triggers:create'], 'MATCH_ONE')) { return $this->accessDenied(); } $triggerEvent = array_key_exists($objectId, $events) ? $events[$objectId] : null; if ($this->request->getMethod() == 'POST' && $triggerEvent !== null) { //add the field to the delete list if (in_array($objectId, $delete)) { $key = array_search($objectId, $delete); unset($delete[$key]); $session->set('mautic.point.' . $triggerId . '.triggerevents.deleted', $delete); } $template = empty($triggerEvent['settings']['template']) ? 'MauticPointBundle:Event:generic.html.php' : $triggerEvent['settings']['template']; //prevent undefined errors $entity = new TriggerEvent(); $blank = $entity->convertToArray(); $triggerEvent = array_merge($blank, $triggerEvent); $dataArray = ['mauticContent' => 'pointTriggerEvent', 'success' => 1, 'target' => '#triggerEvent' . $objectId, 'route' => false, 'eventId' => $objectId, 'eventHtml' => $this->renderView($template, ['event' => $triggerEvent, 'id' => $objectId, 'deleted' => false, 'triggerId' => $triggerId])]; } else { $dataArray = ['success' => 0]; } $response = new JsonResponse($dataArray); return $response; }