/** * Generate collection of tabs * * @return TabCollection */ public function generate() { $client = $this->account->getClient(); $ria = $client->getRia(); $companyInfo = $ria->getRiaCompanyInformation(); $primaryApplicant = $this->account->getPrimaryApplicant(); $tabs = array(); $advisorCode = new TextTab(); $advisorCode->setTabLabel('advisor#')->setValue($this->getAdvisorCode($companyInfo)); $tabs[] = $advisorCode; $accountNumber = new TextTab(); $accountNumber->setTabLabel('account#')->setValue($this->account->getAccountNumber()); $tabs[] = $accountNumber; $firmName = new TextTab(); $firmName->setTabLabel('firm_name')->setValue($companyInfo->getName()); $tabs[] = $firmName; $primaryContact = new TextTab(); $primaryContact->setTabLabel('primary_contact')->setValue($companyInfo->getPrimaryFirstName() . ' ' . $companyInfo->getPrimaryLastName()); $tabs[] = $primaryContact; $accountTypeTab = new RadioGroupTab(); $accountTypeTab->setGroupName('account_type')->setValue('cash')->setSelected(true); $tabs[] = $accountTypeTab; $ownerTabs = $this->getOwnerInformationTabs($primaryApplicant); $type = new RadioGroupTab(); $type->setGroupName('type')->setSelected(true); if ($this->account->isJointType()) { $type->setValue('joint'); } else { $type->setValue('individual'); } $tabs[] = $type; $tabs = array_merge($tabs, $ownerTabs); if ($this->account->isJointType()) { $jointOwnerTabs = $this->getOwnerInformationTabs($this->account->getSecondaryApplicant(), true); $tabs = array_merge($tabs, $jointOwnerTabs); } $cashSweepTab = new RadioGroupTab(); $cashSweepTab->setGroupName('cash_sweep_vehicle')->setValue('td_ameritrade_fdic')->setSelected(true); $tabs[] = $cashSweepTab; return new TabCollection($tabs); }