Example #1
0
 public function setUserAgreed(UserInterface $user)
 {
     if ($this->hasAgreedToLatestTerms($user)) {
         return;
     }
     $latest = $this->termsRepo->findLatestTerms();
     $agreement = new Agreement();
     $agreement->setUser($user)->setTermsOfService($latest);
     $this->em->persist($agreement);
     $this->em->flush();
 }
 /**
  * @Route("/terms/agree", name="tos_agree")
  * @Template()
  */
 public function askAction(Request $request)
 {
     $termsRepo = $this->getDoctrine()->getRepository('LoginCidadaoTOSBundle:TermsOfService');
     $latest = $termsRepo->findLatestTerms();
     if (!$latest instanceof TOSInterface || $this->agreedToTermsOfService()) {
         return $this->continueNavigation($request);
     }
     $agreement = new Agreement();
     $agreement->setTermsOfService($latest)->setUser($this->getUser());
     $form = $this->getAgreementForm($agreement);
     $form->handleRequest($request);
     if ($form->isValid()) {
         $em = $this->getDoctrine()->getManager();
         $em->persist($agreement);
         $em->flush();
         return $this->continueNavigation($request);
     }
     return compact('latest', 'form');
 }