/** * @param string $provider * @param OAuth2User $oauthUser * @param string $name * @param string $email * @param string $bio * @return User */ public function create($provider, OAuth2User $oauthUser, $name = null, $email = null, $bio = null) { if ($email === null && $oauthUser->getEmail() == '' || $name === null && $oauthUser->getName() == '') { return; } $user = User::create($name ?: $oauthUser->getName(), $email ?: $oauthUser->getEmail(), $bio); $user->addProfile(SocialProfile::create($provider, $oauthUser, true)); $this->repository->append($user); $message = $this->deliveryService->getMessageFromTemplate('Welcome', array('name' => $user->getName())); $message->setTo($user->getEmail()); $this->deliveryService->send($message); return $user; }
/** * @param Payment $payment * @return Attendee */ public function confirmPayment(Payment $payment) { $attendee = $this->repository->findOneByPayment($payment); if ($attendee === null) { return; } // TODO refactor this! if ($attendee->isStudentRegistration()) { $attendee->setStatus(Attendee::CHECK_PAYMENT); } else { $attendee->approve(); } $this->repository->update($attendee); $message = $this->deliveryService->getMessageFromTemplate('PaymentConfirmation', array('user_name' => $attendee->getUser()->getName(), 'event_name' => $attendee->getEvent()->getName())); $message->setTo($attendee->getUser()->getEmail()); $this->deliveryService->send($message); return $attendee; }