public function __construct(EntityManager $em, ClientAccount $account, $isPreSaved = false) { $this->em = $em; $this->account = $account; $this->hasFunding = $account->hasFunding(); $this->hasDistributing = $account->hasDistributing(); $this->isPreSaved = $isPreSaved; }
public function progressMenuAction(ClientAccount $account, $step) { if ($step == ClientAccount::STEP_ACTION_ADDITIONAL_BASIC) { $step = ClientAccount::STEP_ACTION_BASIC; } else { if ($step == ClientAccount::STEP_ACTION_ADDITIONAL_PERSONAL) { $step = ClientAccount::STEP_ACTION_PERSONAL; } } $adm = $this->get('wealthbot_docusign.account_docusign.manager'); $group = $account->getGroupName(); $isRothOrIra = $account->isRothIraType(); if ($group != AccountGroup::GROUP_EMPLOYER_RETIREMENT) { $items = array('names' => array('Basics', 'Personal'), 'steps' => array(ClientAccount::STEP_ACTION_BASIC, ClientAccount::STEP_ACTION_PERSONAL)); if ($account->hasGroup(AccountGroup::GROUP_OLD_EMPLOYER_RETIREMENT) || $isRothOrIra || $account->isTraditionalIraType()) { $items['names'][] = 'Beneficiaries'; $items['steps'][] = ClientAccount::STEP_ACTION_BENEFICIARIES; } if ($account->hasGroup(AccountGroup::GROUP_FINANCIAL_INSTITUTION)) { $items['names'][] = 'Transfer Screen'; $items['steps'][] = ClientAccount::STEP_ACTION_TRANSFER; } if ($account->hasGroup(AccountGroup::GROUP_OLD_EMPLOYER_RETIREMENT)) { $items['names'][] = 'Your Rollover'; $items['steps'][] = ClientAccount::STEP_ACTION_ROLLOVER; } $hasFunding = $account->hasFunding(); $hasDistributing = $account->hasDistributing(); if ($hasFunding && $hasDistributing) { $items['names'][] = 'Funding & Distributing'; $items['steps'][] = ClientAccount::STEP_ACTION_FUNDING_DISTRIBUTING; } elseif ($hasFunding || $account->hasGroup(AccountGroup::GROUP_DEPOSIT_MONEY)) { $items['names'][] = 'Funding'; $items['steps'][] = ClientAccount::STEP_ACTION_FUNDING_DISTRIBUTING; } elseif ($hasDistributing) { $items['names'][] = 'Distributing'; $items['steps'][] = ClientAccount::STEP_ACTION_FUNDING_DISTRIBUTING; } elseif ($adm->hasElectronicallySignError($account)) { $items['names'][] = 'Funding'; $items['steps'][] = ClientAccount::STEP_ACTION_FUNDING_DISTRIBUTING; } $items['names'][] = 'Review & Sign'; $items['steps'][] = ClientAccount::STEP_ACTION_REVIEW; } else { $items = array('names' => array('Need Credentials'), 'steps' => array(ClientAccount::STEP_ACTION_CREDENTIALS)); } return $this->render($this->getTemplate('progress_menu.html.twig'), array('items' => $items, 'active' => array_search($step, $items['steps']))); }