/** * newUser * * @param string $email * @param string $password * @return User $user */ public function newUser($email, $password) { $user = new User(); $user->setEmail($email); $user->setPlainPassword($password); $this->em->persist($user); $this->em->flush(); return $user; }
/** * Find product in cart * * @param \Aisel\UserBundle\Entity\User $user * @param \Aisel\ProductBundle\Entity\Product $product * * @return \Aisel\CartBundle\Entity\Cart $cartItem */ public function findProduct($user, $product) { $query = $this->getEntityManager()->createQueryBuilder(); $query->select('c')->from('AiselCartBundle:Cart', 'c')->where('c.product = :productId')->setParameter('productId', $product->getId())->andWhere('c.user = :userId')->setParameter('userId', $user->getId()); $cartItem = $query->getQuery()->getResult(); if ($cartItem) { return $cartItem[0]; } return false; }
/** * Create order for given userId * * @param User $user * @param User $seller * @param mixed $orderInfo * * @throws LogicException * * @return Order $order */ public function createOrderFromCart(User $user, User $seller, array $orderInfo) { if (count($user->getCart()) == 0) { throw new LogicException('User cart is empty'); } $order = $this->em->getRepository('AiselOrderBundle:Order')->createOrderFromCartForUser($user, $seller, $this->getCurrencyCode($orderInfo['locale']), $orderInfo); return $order; }
/** * sendAccountTerminateEmail * * @param User $user * @return mixed */ public function sendAccountTerminateEmail(User $user) { $message = \Swift_Message::newInstance()->setSubject($this::MAIL_ACCOUNT_TERMINATE)->setFrom($this->websiteEmail)->setTo($user->getEmail())->setBody($this->templating->render('AiselUserBundle:Email:accountTerminate.txt.twig', array('email' => $user->getEmail()))); $this->mailer->send($message); }
/** * loginUser * * @param User $user */ protected function loginUser(User $user) { $token = new UsernamePasswordToken($user, null, 'main', $user->getRoles()); $this->get('security.context')->setToken($token); $this->get('session')->set('_security_main', serialize($token)); }
/** * resetPassword * * @param User $user * @return mixed */ public function resetPassword(User $user) { if ($user) { $utility = new PasswordUtility(); $password = $utility->generatePassword(); $user->setPlainPassword($password); $user->setPassword($password); $this->em->persist($user); $this->em->flush(); $this->mailer->sendNewPasswordEmail($user, $password); } }