/**
  * Ajax Add Agenda
  *
  * @return JsonResponse|RedirectResponse|Response
  */
 public function ajaxAddAction()
 {
     $urlFrom = $this->getReferer();
     if (null == $urlFrom || trim($urlFrom) == '') {
         return $this->redirect($this->generateUrl('_security_agenda_index'));
     }
     $sc = $this->getSecurityTokenStorage();
     $user = $sc->getToken()->getUser();
     $event = new Agenda();
     $event->setUser($user);
     $eventAddForm = $this->createForm(EventAddTForm::class, $event);
     $request = $this->getRequest();
     $reqData = $request->request->all();
     if (isset($reqData['EventAddForm']) && $request->isXmlHttpRequest()) {
         //
         $eventAddForm->handleRequest($request);
         if ($eventAddForm->isValid()) {
             $em = $this->getEntityManager();
             $response = new Response();
             try {
                 $em->persist($event);
                 $em->flush();
                 $jsonResponse = new JsonResponse();
                 $jsonResponse->setData(array('id' => $event->getId(), 'title' => $event->getTitle(), 'backgroundColor' => $event->getBackgroundColor(), 'borderColor' => $event->getBorderColor(), 'textColor' => $event->getTextColor(), 'dtStart' => $event->getEvStart(), 'dtEnd' => $event->getEvEnd(), 'msg' => $this->translate('Agenda.add.success.txt', array('%agenda%' => $event->getTitle()))));
                 return $jsonResponse;
             } catch (\Exception $e) {
                 $logger = $this->getLogger();
                 $logger->addError($e->getLine() . ' ' . $e->getFile() . ' ' . $e->getMessage());
                 $response->setStatusCode(415);
                 $response->setContent($this->translate('Agenda.add.failure'));
                 return $response;
             }
         } else {
             $response->setStatusCode(415);
             $response->setContent($this->translate('Agenda.add.failure'));
         }
     }
     return $this->redirect($urlFrom);
 }
Beispiel #2
0
 /**
  * Add event
  *
  * @param Agenda $event
  *
  * @return User
  */
 public function addSharedEvent(Agenda $event)
 {
     $this->sharedEvents[] = $event;
     $event->addUser($this);
     return $this;
 }