Exemple #1
0
 /**
  * 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;
 }