public function sendCloseAccountsMessage(User $client, $systemAccounts, array $closeMessages) { $template = $this->parameters['template']['close_accounts']; $context = array('client' => $client, 'accounts' => $systemAccounts, 'close_messages' => $closeMessages); $ria = $client->getProfile()->getRia(); $this->sendMessage($template, $context, $this->parameters['from_email']['close_accounts'], $ria->getEmail()); }
public function __construct(User $client, EntityManager $em, $validateAdditionalFields = true) { $this->client = $client; $this->em = $em; $this->validateAdditionalFields = $validateAdditionalFields; $riaCompanyInformation = $client->getProfile()->getRia()->getRiaCompanyInformation(); $this->isAllowRetirementPlan = $riaCompanyInformation->getIsAllowRetirementPlan(); }
public function __construct(User $client, $group = AccountGroup::GROUP_EMPLOYER_RETIREMENT, $validateAdditionalFields = true) { $this->client = $client; $this->group = $group; $this->isAllowRetirementPlan = $client->getProfile()->getRia()->getRiaCompanyInformation()->getIsAllowRetirementPlan(); $this->validateAdditionalFields = $validateAdditionalFields; $this->contributionTypes = array('contributions' => 'Contributions', 'distributions' => 'Distributions', 'neither' => 'Neither'); }
public function buildForm(FormBuilderInterface $builder, array $options) { foreach ($this->questions as $question) { if ($question->getIsWithdrawAgeInput()) { $builder->add('client_birth_date', 'date', array('widget' => 'text', 'pattern' => '{{ month }}-{{ day }}-{{ year }}', 'required' => true))->add('answer_' . $question->getId(), 'text', array('label' => $question->getTitle(), 'property_path' => false, 'required' => true, 'data' => $this->user->getProfile()->getWithdrawAge())); } else { $userAnswer = $this->em->getRepository('WealthbotClientBundle:ClientQuestionnaireAnswer')->createQueryBuilder('ua')->where('ua.client_id = :client_id AND ua.question_id = :question_id')->setParameters(array('client_id' => $this->user->getId(), 'question_id' => $question->getId()))->setMaxResults(1)->getQuery()->getOneOrNullResult(); $userAnswer = $userAnswer ? $userAnswer->getAnswer() : $userAnswer; $builder->add('answer_' . $question->getId(), 'entity', array('class' => 'WealthbotRiaBundle:RiskAnswer', 'query_builder' => function (EntityRepository $er) use($question) { return $er->createQueryBuilder('a')->where('a.risk_question_id = :question_id')->setParameter('question_id', $question->getId()); }, 'empty_value' => $userAnswer ? false : 'Choose an Option', 'property' => 'title', 'property_path' => false, 'required' => true, 'label' => $question->getTitle(), 'preferred_choices' => $userAnswer ? array($userAnswer) : array())); } } if (!$this->isPreSave) { $this->addOnBindValidator($builder); } }
public function sendAdvCopyEmailMessage(User $client) { $ria = $client->getProfile()->getRia(); $companyInformation = $ria->getRiaCompanyInformation(); $template = $this->parameters['template']['adv_copy']; $context = array('client' => $client->getUsername(), 'company' => $companyInformation->getName()); $extension = pathinfo($companyInformation->getAdvCopy(), PATHINFO_EXTENSION); $attachments = array('ADV Copy.' . $extension => $companyInformation->getWebAdvCopy()); $this->sendMessage($template, $context, $this->parameters['from_email']['adv_copy'], $client->getEmail(), $attachments); }
/** * Get route for client user * * @param User $user * @return string */ protected function getRouteForClient(User $user) { $redirectUrl = $this->getSessionRedirectUrl(); if ($redirectUrl) { $this->removeSessionRedirectUrl(); return $redirectUrl; } if (is_object($user->getProfile())) { $registrationStep = $user->getProfile()->getRegistrationStep(); switch ($registrationStep) { case 0: return $this->generateUrl('rx_client_profile_step_one'); break; case 1: return $this->generateUrl('rx_client_profile_step_two'); break; case 2: return $this->generateUrl('rx_client_profile_step_three'); break; case 3: return $this->generateUrl('rx_client_portfolio'); break; case 4: return $this->generateUrl('rx_client_portfolio'); break; case 5: return $this->generateUrl('rx_client_transfer'); break; case 6: return $this->generateUrl('rx_client_transfer'); break; case 7: return $this->generateUrl('rx_client_dashboard'); break; default: return $this->generateUrl('rx_user_homepage'); break; } } return $this->generateUrl('rx_client_profile_step_one'); }
private function createQuestionnaireAnswers(ObjectManager $manager, User $clientUser) { $clientProfile = $clientUser->getProfile(); $answers = array(); for ($i = 1; $i <= 4; $i++) { $answers[] = array('question' => $this->getReference('ria-risk-question-' . $i), 'data' => $this->getReference('ria-risk-answer-' . $i . '-1')); } $riskToleranceManager = new RiskToleranceManager($clientUser, $manager, $answers); $riskToleranceManager->saveUserAnswers(); $suggestedPortfolio = $riskToleranceManager->getSuggestedPortfolio(); //$clientProfile->setSuggestedPortfolio($suggestedPortfolio); $clientPortfolioManager = $this->container->get('wealthbot_client.client_portfolio.manager'); $clientPortfolioManager->proposePortfolio($clientUser, $suggestedPortfolio); $manager->persist($clientProfile); }
private function createActivity(User $client, $message, $amount) { $activity = new Activity(); $activity->setClientUserId($client->getId()); $activity->setClientStatus($client->getProfile()->getClientStatus()); $activity->setFirstName($client->getFirstName()); $activity->setLastName($client->getLastName()); $activity->setRiaUserId($client->getRia()->getId()); $activity->setAmount($amount); $activity->setMessage($message); $activity->setCreatedAt(new \DateTime()); return $activity; }
protected function validateClientAssetClasses(EntityManager $em, User $client) { $ria = $client->getProfile()->getRia(); $q = "\n SELECT aof.account_id, aof.is_preferred, s.*\n FROM client_accounts ca\n LEFT JOIN account_outside_funds aof ON (ca.id = aof.account_id)\n LEFT JOIN outside_funds fund ON (fund.id = aof.outside_fund_id)\n LEFT JOIN outside_fund_associations ofa ON (ofa.outside_fund_id = fund.id)\n LEFT JOIN ria_subclasses rs ON (rs.id = ofa.ria_subclass_id)\n LEFT JOIN subclasses s ON (rs.subclass_id = s.id)\n WHERE ca.client_id = :client_id AND ofa.ria_user_id = :ria_id AND aof.is_preferred = :is_preferred\n GROUP BY s.asset_class_id\n "; $stmt = $em->getConnection()->prepare($q); $stmt->bindValue('ria_id', $ria->getId()); $stmt->bindValue('client_id', $client->getId()); $stmt->bindValue('is_preferred', 0); $stmt->execute(); $results = $stmt->fetchAll(); $unPreferred = array(); foreach ($results as $result) { $unPreferred[$result['account_id']][] = $result['asset_class_id']; } $stmt = $em->getConnection()->prepare($q); $stmt->bindValue('ria_id', $ria->getId()); $stmt->bindValue('client_id', $client->getId()); $stmt->bindValue('is_preferred', 1); $stmt->execute(); $results = $stmt->fetchAll(); $preferred = array(); foreach ($results as $result) { $preferred[$result['account_id']][] = $result['asset_class_id']; } $badAsset = array(); //echo "<pre>"; foreach ($unPreferred as $account => $assetClasses) { //var_dump($account, $assetClasses); if (isset($preferred[$account])) { //var_dump($assetClasses, $preferred[$account]); //echo "----"; // Search asset classes that's doesn't have preferred subclass $diff = array_diff($assetClasses, $preferred[$account]); // If exists than add to array with not valid asset classes if ($diff) { $badAsset[$account] = $diff; } //var_dump($badAsset); //echo "<br/>"; } else { // All asset classes doesn't have preferred subclass $badAsset[$account] = $assetClasses; } //var_dump($badAsset); //echo "<br/>------------------------------------------------------------<br/>"; } $data['error'] = false; if (count($badAsset) > 0) { $data['error'] = true; $data['bad_asset_classes'] = $badAsset; } //die; return $data; }
private function buildBeneficiaryByClient(User $client) { $spouse = $client->getSpouse(); $profile = $client->getProfile(); $beneficiary = new Beneficiary(); $beneficiary->setFirstName($spouse->getFirstName()); $beneficiary->setMiddleName($spouse->getMiddleName()); $beneficiary->setLastName($spouse->getLastName()); $beneficiary->setBirthDate($spouse->getBirthDate()); $beneficiary->setStreet($profile->getStreet()); $beneficiary->setState($profile->getState()); $beneficiary->setCity($profile->getCity()); $beneficiary->setZip($profile->getZip()); $beneficiary->setRelationship('Spouse'); $beneficiary->setShare(100); return $beneficiary; }
/** * @SecureParam(name="riaClient", permissions="EDIT") * @ParamConverter("riaClient", class="WealthbotUserBundle:User", options={"id" = "client_id"}) */ public function householdSettingsContactAction(User $riaClient, Request $request) { $form = $this->createForm(new HouseholdContactSettingsFormType(), $riaClient->getProfile()); if ($request->isMethod('POST')) { $form->bind($request); if ($form->isValid()) { $formData = $form->getData(); /** @var EntityManager $em */ $em = $this->get('doctrine.orm.entity_manager'); $em->persist($formData); $em->flush(); } } return $this->render('WealthbotRiaBundle:Dashboard:household_settings_contact.html.twig', array('form' => $form->createView())); }
/** * Get age of the client * * @param \Wealthbot\UserBundle\Entity\User $user * @return int */ protected function getClientAge(User $user) { $age = $user->getProfile()->getBirthDate()->diff(new \DateTime('now'))->y; return $age; }
public function sendClientAdvCopyEmailMessage(User $client) { $ria = $client->getProfile()->getRia(); $companyInformation = $ria->getRiaCompanyInformation(); $template = $this->parameters['template']['client_adv_copy']; $fromEmail = $this->parameters['from_email']['client_adv_copy']; $context = array('client' => $client, 'ria' => $ria, 'company' => $companyInformation, 'logo' => $this->getRiaLogo($ria->getId())); $adv = $companyInformation->getAdvDocument(); $extension = pathinfo($adv->getFilename(), PATHINFO_EXTENSION); $attachments = array('ADV Copy.' . $extension => $adv->getAbsolutePath()); $this->sendMessage($template, $fromEmail, $client->getEmail(), $context, $attachments); }