/**
  * Get recipient role name
  *
  * @return string
  */
 public function getRoleName()
 {
     if ($this->user->hasRole('ROLE_CLIENT')) {
         return 'Client';
     }
     if ($this->user->hasRole('ROLE_RIA')) {
         return 'Advisor';
     }
     return '';
 }
 public function hasDeleteAccess(User $user, ClientActivitySummary $activitySummary)
 {
     if ($user->hasRole('ROLE_RIA') && $activitySummary->getClient()->getRia()->getId() == $user->getId()) {
         return true;
     }
     return false;
 }
Exemple #3
0
 /**
  * Get ria
  *
  * @return User
  */
 public function getRia()
 {
     if ($this->user->hasRole('ROLE_CLIENT')) {
         return $this->user->getRia();
     }
     return $this->user;
 }
 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)));
     }
 }
 /**
  * Returns ria if he has risk questions and admin otherwise
  *
  * @param User $user
  * @return User
  */
 public function getQuestionsOwner(User $user)
 {
     if ($user->hasRole('ROLE_CLIENT')) {
         $ria = $user->getRia();
     } else {
         $ria = $user;
     }
     $existQuestion = $this->findOneBy(array('owner_id' => $ria->getId()));
     if ($existQuestion) {
         return $ria;
     }
     return $this->_em->getRepository('WealthbotUserBundle:User')->getAdmin();
 }
 protected function sendEmailMessages(User $owner, $documentType, MailerInterface $mailer)
 {
     $userRepo = $this->em->getRepository('WealthbotUserBundle:User');
     $clients = array();
     if ($owner->hasRole('ROLE_RIA')) {
         $clients = $userRepo->findClientsByRiaId($owner->getId());
     }
     foreach ($clients as $client) {
         foreach ($client->getSlaveClients() as $slaveClient) {
             $mailer->sendClientUpdatedDocumentsEmail($slaveClient, $documentType);
         }
         $mailer->sendClientUpdatedDocumentsEmail($client, $documentType);
     }
 }
 public function saveDefaultConfiguration(User $user)
 {
     $configuration = null;
     if ($user->hasRole('ROLE_RIA')) {
         $configuration = $this->createRiaDefaultConfiguration($user);
     } elseif ($user->hasRole('ROLE_CLIENT')) {
         //TODO: next step
         $configuration = null;
     }
     if ($configuration) {
         $this->objectManager->persist($configuration);
         $this->objectManager->flush();
     }
     return $configuration;
 }
 public function getPortfolioInformation(User $user, CeModelInterface $model, $isQualified = false)
 {
     if ($user->hasRole('ROLE_CLIENT')) {
         $ria = $user->getRia();
     } else {
         $ria = $user;
     }
     $portfolioInformation = new PortfolioInformation();
     $portfolioInformation->setUser($user);
     $portfolioInformation->setModel($model);
     $portfolioInformation->setIsQualifiedModel($isQualified);
     $portfolioInformation->setFees($this->feeManager->getClientFees($ria));
     if ($model->getOwner()->hasRole('ROLE_RIA')) {
         $transactionCommissionFees = $this->em->getRepository('WealthbotAdminBundle:SecurityAssignment')->findMinAndMaxTransactionFeeForModel($model->getParentId());
         $portfolioInformation->setTransactionCommissionFees(array_values($transactionCommissionFees));
     }
     return $portfolioInformation;
 }
 public function getAvailableSubclassesQuery($assetClassId, User $owner)
 {
     $qb = $this->createQueryBuilder('s')->where('s.asset_class_id = :assetClassId')->andWhere("s.name NOT IN ('Intermediate Muni', 'Short Muni')")->setParameters(array('assetClassId' => $assetClassId))->orderBy('s.id', 'ASC');
     if ($owner->hasRole('ROLE_RIA') || $owner->hasRole('ROLE_CLIENT')) {
         $qb->leftJoin('s.securityAssignments', 'sec')->andWhere('sec.model_id IS NOT NULL')->andWhere('s.owner_id = :owner_id')->setParameter('owner_id', $owner->getId());
     } else {
         $qb->andWhere('s.owner_id IS NULL AND s.source_id IS NULL');
     }
     return $qb;
 }
Exemple #10
0
 public function findClientsByRia(User $ria)
 {
     $qb = $this->createQueryBuilder('c')->leftJoin('c.profile', 'p')->leftJoin('c.groups', 'ug')->where('p.ria_user_id = :ria_id')->andWhere('c.roles LIKE :role')->andWhere('p.client_status = :client_status')->groupBy('c.id')->setParameter('role', '%ROLE_CLIENT%')->setParameter('client_status', Profile::CLIENT_STATUS_CLIENT);
     if (($ria->hasRole('ROLE_RIA_ADMIN') || $ria->hasRole('RIA_USER')) && !$ria->hasGroup('All')) {
         $groupIds = array();
         foreach ($ria->getGroups() as $group) {
             $groupIds[] = $group->getId();
         }
         $qb->andWhere($qb->expr()->in('ug.id', $groupIds))->setParameter('ria_id', $ria->getRia()->getId());
     } else {
         $qb->setParameter('ria_id', $ria->getId());
     }
     return $qb->getQuery()->getResult();
 }