/** * 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); }
/** * Add event * * @param Agenda $event * * @return User */ public function addSharedEvent(Agenda $event) { $this->sharedEvents[] = $event; $event->addUser($this); return $this; }