Пример #1
0
 /**
  * Create user event record in database
  *
  * @param $event
  */
 public function createUserEvent($event)
 {
     $userEvent = new UserEvent();
     $userEvent->setIdUser($this->user);
     $userEvent->setIdEvent($event);
     $userEvent->setPaid(0);
     $userEvent->setAcceptedUser(0);
     $userEvent->setAcceptedHost(0);
     $this->em->persist($userEvent);
     $this->em->flush();
 }
Пример #2
0
 /**
  * Join event with secret code
  *
  * @Route("/{id}/join/{secretCode}", name="secret_join_event")
  * @Method("GET")
  */
 public function secretJoinAction($id, $secretCode, Request $request)
 {
     $securityAuthorizationChecker = $this->container->get('security.authorization_checker');
     $securityTokenStorage = $this->get('security.token_storage');
     if ($securityAuthorizationChecker->isGranted('IS_AUTHENTICATED_REMEMBERED')) {
         $user = $securityTokenStorage->getToken()->getUser();
         $em = $this->getDoctrine()->getManager();
         $eventRepository = $em->getRepository('cooFoodEventBundle:Event');
         $event = $eventRepository->findOneByid($id);
         $eventApproveFlag = $event->getReqApprove();
         $userEventRepository = $em->getRepository('cooFoodEventBundle:UserEvent');
         $invitedUserRepository = $em->getRepository('cooFoodEventBundle:InvitedUser');
         $invitedUser = $invitedUserRepository->findOneBysecretCode($secretCode);
         if ($invitedUser && $invitedUser->getEmail() === $user->getEmail()) {
             $userEvent = $userEventRepository->findBy(array('idEvent' => $id, 'idUser' => $user->getId()));
             if (!$userEvent) {
                 $entity = new UserEvent();
                 $entity->setIdUser($user);
                 $entity->setIdEvent($event);
                 $entity->setPaid(0);
                 $entity->setAcceptedUser($eventApproveFlag);
                 $entity->setAcceptedHost($eventApproveFlag);
                 $em->persist($entity);
                 $em->remove($invitedUser);
                 $em->flush();
             }
             $request->getSession()->getFlashBag()->add('success', 'Sveikiname prisijungus prie renginio!');
             return $this->redirectToRoute('event_show', ['id' => $id]);
         } else {
             $request->getSession()->getFlashBag()->add('error', 'Svetimas kvietimas į renginį negalioja!');
             return $this->redirect('/');
         }
     } else {
         $request->getSession()->getFlashBag()->add('error', 'Prisijunkite/užsiregistruokite prie sistemos, o tada panaudokite kvietimo nuorodą');
         return $this->redirect('/login');
     }
 }