/** * Generate tax withholding section tabs * @return array */ protected function taxWithholdingSection() { $tabs = array(); $useFederalWithhold = $this->signableObject->getFederalWithholding() === Distribution::FEDERAL_WITHHOLDING_TAXES; $federalWithholdTab = new RadioGroupTab(); $federalWithholdTab->setGroupName('use_federal_withholding')->setValue($useFederalWithhold ? 'yes' : 'no')->setSelected(true); $tabs[] = $federalWithholdTab; if ($useFederalWithhold) { $federalRate = round($this->signableObject->getFederalWithholdMoney(), 2); if ($federalRate) { $federalWithholdRateTab = new TextTab(); $federalWithholdRateTab->setTabLabel('\\*federal_withholding_rate')->setValue($federalRate); $tabs[] = $federalWithholdRateTab; } $federalRatePercent = round($this->signableObject->getFederalWithholdPercent(), 2); if ($federalRatePercent) { $federalWithholdRatePercentTab = new TextTab(); $federalWithholdRatePercentTab->setTabLabel('\\*federal_withholding_rate_percent')->setValue($federalRatePercent); $tabs[] = $federalWithholdRatePercentTab; } } $useStateWithhold = $this->signableObject->getStateWithholding() === Distribution::STATE_WITHHOLDING_TAXES; $stateWithholdTab = new RadioGroupTab(); $stateWithholdTab->setGroupName('use_state_withholding')->setValue($useStateWithhold ? 'yes' : 'no')->setSelected(true); $tabs[] = $stateWithholdTab; if ($useStateWithhold) { $stateRate = round($this->signableObject->getStateWithholdMoney(), 2); if ($stateRate) { $stateWithholdRateTab = new TextTab(); $stateWithholdRateTab->setTabLabel('\\*state_withholding_rate')->setValue($stateRate); $tabs[] = $stateWithholdRateTab; } $stateRatePercent = round($this->signableObject->getStateWithholdPercent(), 2); if ($stateRatePercent) { $stateWithholdRatePercentTab = new TextTab(); $stateWithholdRatePercentTab->setTabLabel('\\*state_withholding_rate_percent')->setValue($stateRatePercent); $tabs[] = $stateWithholdRatePercentTab; } } $residenceState = $this->signableObject->getResidenceState(); if ($residenceState) { $residentStateTab = new TextTab(); $residentStateTab->setTabLabel('residence_state')->setValue($residenceState->getName()); $tabs[] = $residentStateTab; return $tabs; } return $tabs; }