/** * 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; }
/** * 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; }
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(); }