/** * @ParamConverter("user", class="CoreUserBundle:User", options={"mapping":{"user_username" = "username"}}) * @ParamConverter("idea", class="AppBundle:Idea", options={"mapping":{"idea_slug" = "slug"}}) * @ParamConverter("comment", class="AppBundle:Comment", options={"mapping":{"comment_id" = "id"}}) */ public function addAction(Request $request, User $user, Idea $idea, Comment $comment) { if ($idea->getUserId() !== $user->getId() || $comment->getIdeaId() !== $idea->getId()) { throw new $this->createNotFoundException(); } $doctrine = $this->getDoctrine(); $manager = $doctrine->getManager(); $voteUser = $this->get('security.authorization_checker')->isGranted('IS_AUTHENTICATED_FULLY') ? $this->getUser() : null; $hash = $voteUser ? null : $this->get('core.base.form')->getUserHash($request); if ($voteUser && $voteUser->getId() === $comment->getUserId()) { $this->get('session')->getFlashBag()->add('error', "You can't vote for your own idea."); } else { $exist = $doctrine->getRepository('AppBundle:Vote')->findOneBy(['user' => $voteUser, 'hash' => $hash, 'comment' => $comment]); if ($exist) { $this->get('session')->getFlashBag()->add('error', 'You have already voted for this comment.'); } else { $vote = new Vote(); $vote->setComment($comment); if ($voteUser) { $vote->setUser($voteUser); } else { $vote->setHash($hash); } $manager->persist($vote); $manager->flush(); } } return $this->end($request, $user, $idea, $comment); }
/** * Initialize Vote with required data. * * @param Vote $vote * @param User $user * @param Site $site * @param Annuaire $annuaire * @param $tracker * @param $point * * @return Vote */ public function initVote(Vote $vote, User $user, Site $site, Annuaire $annuaire, $tracker, $point) { if ($site->getAnnuaires()->contains($annuaire)) { $vote->setUser($user); $vote->setSite($site); $vote->setAnnuaire($annuaire); $vote->setTracker($tracker); $vote->setPoint($point); } else { //@todo Générer une exception ! } return $vote; }
public function load(ObjectManager $manager) { // UserSkill : 1 $repository = $manager->getRepository('AppBundle:UserSkill'); $userSkillEntity = $repository->find(1); // User : 2 $repository = $manager->getRepository('AppBundle:User'); $userEntity = $repository->find(2); $voteEntity = new Vote(); $voteEntity->setUserSkill($userSkillEntity); $voteEntity->setUser($userEntity); $manager->persist($voteEntity); $manager->flush(); }
/** * @Security("has_role('ROLE_USER')") */ public function addAction(Request $request) { if (($type = $request->request->get("type", null)) === null) { return new Response($type, 406); } $types = array(Vote::VOTE_TYPE_DISLIKE, Vote::VOTE_TYPE_LIKE, Vote::VOTE_TYPE_REPEAT, Vote::VOTE_TYPE_VOLUME_DOWN, Vote::VOTE_TYPE_VOLUME_UP); if (!in_array($type, $types)) { return new Response($type, 406); } $voteRepository = $this->getDoctrine()->getManager()->getRepository("AppBundle:Vote"); $vote = $voteRepository->findOneBy(array("user" => $this->getUser())); if ($vote != null) { return new Response($type, 403); } $vote = new Vote(); $vote->setUser($this->getUser()); $vote->setType($type); $this->getDoctrine()->getManager()->persist($vote); $this->getDoctrine()->getManager()->flush(); return new Response(); }
/** * Test getter and setter of User property. * * @covers AppBundle\Entity\Vote::setUser() * @covers AppBundle\Entity\Vote::getUser() */ public function testUser() { $user = new User(); $this->vote->setUser($user); $this->assertEquals($user, $this->vote->getUser()); }
/** * @Route("/rating", name="rating", options={"expose"=true}) */ public function rateSkillAction(Request $request) { $result = 'false'; $id = $request->get('term'); $em = $this->getDoctrine()->getManager(); $userSkill = $em->getRepository('AppBundle:UserSkill')->find($id); $userSkillId = $userSkill->getUserSkillId(); $user = $this->get('security.token_storage')->getToken()->getUser(); $userId = $user->getUserId(); $userVoting = $em->getRepository('AppBundle:User')->find($userId); $userInVoteExistObject = $em->getRepository('AppBundle:Vote')->findOneBy(array('user' => $userId, 'userkill' => $userSkillId)); if ($userInVoteExistObject) { $em->remove($userInVoteExistObject); $em->flush(); } else { $voteEntity = new Vote(); $voteEntity->setUserSkill($userSkill); $voteEntity->setUser($userVoting); $em->persist($voteEntity); $em->flush(); $result = 'true'; } $counts = $em->getRepository('AppBundle:Vote')->counting($id); foreach ($counts as $count) { $total = $count['rate']; } $response = new Response(); $response->setContent(json_encode(array('total' => $total, 'status' => $result))); return $response; }
/** * {@inheritDoc} */ public function setUser(\AppBundle\Entity\User $user) { $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUser', [$user]); return parent::setUser($user); }