protected function updateTaxLossHarvesting(FormInterface $form, $subclassId, $withoutIds = array()) { if ($this->user->hasRole('ROLE_RIA') && $this->user->getRiaCompanyInformation()->getIsTaxLossHarvesting() && (!$this->user->getRiaCompanyInformation()->getIsUseQualifiedModels() || $this->user->getRiaCompanyInformation()->getIsUseQualifiedModels() && !$this->isQualifiedModel)) { /** @var $securityAssignmentRepo SecurityAssignmentRepository */ $securityAssignmentRepo = $this->em->getRepository('WealthbotAdminBundle:SecurityAssignment'); $securityQueryBuilder = $securityAssignmentRepo->getSecuritiesQBBySubclassIdAndWithoutSecuritiesIds($subclassId, $withoutIds); $form->add($this->factory->createNamed('tax_loss_harvesting', 'entity', null, array('class' => 'WealthbotAdminBundle:SecurityAssignment', 'property' => 'security.name', 'empty_value' => 'Choose TLH Substitution', 'query_builder' => $securityQueryBuilder, 'attr' => empty($withoutIds) ? array('disabled' => 'disabled') : array(), 'required' => false))); } }
/** * Create default Admin Spec for RIA * * @param User $ria * @return BillingSpec */ public function initDefaultAdminSpec(User $ria) { $billingSpec = new BillingSpec(); $billingSpec->setType(BillingSpec::TYPE_TIER); $billingSpec->setName('Admin spec for ' . $ria->getRiaCompanyInformation()->getName()); $billingSpec->addAppointedUser($ria); $billingSpec->setMinimalFee(0.0); return $billingSpec; }
public function sendAdminsRiaActivatedEmail(User $ria) { $template = $this->parameters['template']['admin_ria_activated']; $context = array('ria_name' => $ria->getRiaCompanyInformation()->getName()); $repository = $this->em->getRepository('WealthbotUserBundle:User'); $admins = $repository->getAllAdmins(); $toEmails = array(); /** @var User $admin */ foreach ($admins as $admin) { $toEmails[] = $admin->getEmail(); } $this->sendMessage($template, $this->parameters['from_email']['admin_ria_activated'], $toEmails, $context); }
/** * Save Client Subclasses * This method is needed for save a snapshot of RIA subclasses. * * @param User $client * @param User $ria * @throws EntityNotFoundException */ public function saveClientSubclasses(User $client, User $ria) { $em = $this->getEntityManager(); $selectedModel = $ria->getRiaCompanyInformation()->getPortfolioModel(); //$riaSubClasses = $this->findDefaultsByModelId($selectedModel); $riaSubClasses = $this->findRiaSubclasses($ria->getId()); if (!$riaSubClasses) { $riaSubClasses = $this->findDefaultsByModelId($selectedModel); } // When subclasses for RIA are defined in system ? if (!$riaSubClasses) { throw new EntityNotFoundException("Ria doesn't have subclasses, logic error please check!"); } foreach ($riaSubClasses as $riaSubClass) { $clientSubClass = new Subclass(); $clientSubClass->setAssetClass($riaSubClass->getAssetClass()); $clientSubClass->setAccountType($riaSubClass->getAccountType()); $clientSubClass->setOwner($client); $clientSubClass->setSource($riaSubClass); $clientSubClass->setName($riaSubClass->getName()); $clientSubClass->setExpectedPerformance($riaSubClass->getExpectedPerformance()); /** @var Subclass $riaSubClass */ foreach ($riaSubClass->getSecurityAssignments() as $securityAssignment) { $newSecurityAssignment = new SecurityAssignment(); $newSecurityAssignment->setIsPreferred($securityAssignment->getIsPreferred()); $newSecurityAssignment->setModel($clientSubClass->getAssetClass()->getModel()); $newSecurityAssignment->setMuniSubstitution($securityAssignment->getMuniSubstitution()); //$newSecurityAssignment->setRia($ria); Deprecated $newSecurityAssignment->setSecurity($securityAssignment->getSecurity()); $newSecurityAssignment->setSecurityTransaction($securityAssignment->getSecurityTransaction()); $newSecurityAssignment->setSubclass($clientSubClass); $em->persist($newSecurityAssignment); } $em->persist($clientSubClass); } $em->flush(); }
public function sendRiaActivatedEmailMessage($toEmail, User $ria) { $template = $this->parameters['template']['ria_activated']; $context = array('company_information' => $ria->getRiaCompanyInformation()); $this->sendMessage($template, $context, $this->parameters['from_email']['ria_activated'], $toEmail); }
protected function buildModelForm(FormBuilderInterface $builder, User $ria) { $builder->add('client', new ChooseClientPortfolioFormType($this->clientPortfolio), array('mapped' => false, 'data' => $this->clientPortfolio->getClient())); if ($ria->getRiaCompanyInformation()->isCollaborativeProcessing()) { $builder->add('groups', 'entity', array('multiple' => false, 'property' => 'name', 'property_path' => 'user.groups', 'label' => 'Groups:', 'class' => 'Wealthbot\\UserBundle\\Entity\\Group', 'query_builder' => function (EntityRepository $er) use($ria) { return $er->createQueryBuilder('g')->andWhere('g.owner = :owner')->orWhere('g.owner is null')->setParameter('owner', $ria); })); } }