Esempio n. 1
0
 /**
  * Добавляет событие в календарь пользователя
  * @Route("/addmycalendar/{event_id}", name = "add_user_calendar", options={"expose"=true} )
  */
 public function addMyCalendarAction(Request $request, $event_id)
 {
     $event = new UserCalendar();
     $event_tmp = $this->getDoctrine()->getManager()->getRepository('EvrikaMainBundle:Event')->findOneById($event_id);
     $event->setEvent($event_tmp);
     $event->setUser($this->getUser());
     $event->setStarts($event_tmp->getStarts());
     $event->setEnds($event_tmp->getEnds());
     $event->setTitle($event_tmp->getTitle());
     $em = $this->getDoctrine()->getManager();
     $em->persist($event);
     $em->flush();
     $referer = $request->headers->get('referer');
     return new RedirectResponse($referer);
 }
Esempio n. 2
0
 /** Пригласить на мероприятие, на которое сам НЕ подписан
  * @Secure(roles="IS_AUTHENTICATED_REMEMBERED")
  * @Route("/sharecalendarother/{guestId}/{eventId}", name = "User_calendar_share_other", defaults={"guestId"=null, "eventId"=null }, requirements = {"guestId" = "\d+", "eventId" = "\d+"}, options={"expose"=true})
  */
 public function shareUserCalendarOtherAction($guestId, $eventId)
 {
     $UserEvent = new UserCalendar();
     $event = $this->getDoctrine()->getManager()->getRepository('EvrikaMainBundle:Event')->findOneById($eventId);
     $user = $this->getDoctrine()->getManager()->getRepository('EvrikaMainBundle:User')->findOneById($guestId);
     //Нет ли у него уже этого события
     $is = $this->getDoctrine()->getManager()->getRepository('EvrikaMainBundle:UserCalendar')->findBy(array('event' => $event, 'user' => $user));
     if ($is == NULL) {
         $is = $this->getDoctrine()->getManager()->getRepository('EvrikaMainBundle:UserCalendar')->findBy(array('event' => $event, 'guest' => $user));
     }
     if ($is == NULL) {
         $UserEvent = new UserCalendar();
         $UserEvent->setEvent($event);
         $UserEvent->setUser($user);
         $UserEvent->setStarts($event->getStarts());
         $UserEvent->setEnds($event->getEnds());
         $UserEvent->setTitle($event->getTitle());
         $recipient = $user;
         $em = $this->getDoctrine()->getManager();
         $message = new PrivateMessage();
         $message->setRecipient($recipient);
         $message->setSender($this->getUser());
         $message->setHeader('Вас пригласили на событие');
         $msg = "Пользователь ";
         $msg .= $this->getUser()->getLastName() . " " . $this->getUser()->getFirstName();
         $msg .= " пригласил вас на событие";
         $message->setBody($msg);
         $em->persist($UserEvent);
         $em->persist($message);
         $em->flush();
     }
     return $this->render('EvrikaMainBundle::response.json.twig', array('status' => 'OK', 'data' => 'ok'));
 }