/** * * @param Zend_Form $form * @param Zend_Db_Table_Row $businessPlan */ protected function _populateFormBusinessPlan($form, $businessPlan) { $dataForm = array(); // Fetch description fields $fieldsBusinessPlan = $this->_mapper->groupFieldsBusinessPlan($businessPlan->id_businessplan); // Fetch totals $totalsFields = $this->_mapper->groupTotals($businessPlan->id_businessplan); if (!empty($businessPlan->fk_id_addsucu)) { $mapperSuku = new Register_Model_Mapper_AddSuku(); $suku = $mapperSuku->fetchRow($businessPlan->fk_id_addsucu); $dataForm['fk_id_addsubdistrict'] = $suku->fk_id_addsubdistrict; $sukuRows = $mapperSuku->listAll($suku->fk_id_addsubdistrict); $rows = array('' => ''); foreach ($sukuRows as $suku) { $rows[$suku->id_addsucu] = $suku->sucu; } $form->getElement('fk_id_addsucu')->addMultiOptions($rows); } // List the items expense detailed $itensExpense = $this->_mapper->listItemExpenses($businessPlan->id_businessplan); $dataItensExpense = array(); foreach ($itensExpense as $item) { if (!array_key_exists($item->fk_id_budget_category, $dataItensExpense)) { $dataItensExpense[$item->fk_id_budget_category] = array(); } $dataItensExpense[$item->fk_id_budget_category][] = $item; } // Check if the business plan has Budget Category defined if ($this->_mapper->hasBudgetCategory($businessPlan->id_businessplan)) { $idBusinessPlan = $businessPlan->id_businessplan; $mapperBudgetCategory = new Fefop_Model_Mapper_Expense(); $itemConfig = $mapperBudgetCategory->getModuleToItem($businessPlan->fk_id_fefop_modules); $this->view->expenses = $this->_mapper->listExpenses($idBusinessPlan, $itemConfig); $this->view->initial_expense = $this->_mapper->listExpenses($idBusinessPlan, Fefop_Model_Mapper_Expense::CONFIG_PCE_INITIAL); $this->view->annual_expense = $this->_mapper->listExpenses($idBusinessPlan, Fefop_Model_Mapper_Expense::CONFIG_PCE_ANNUAL); $this->view->revenue_expense = $this->_mapper->listExpenses($idBusinessPlan, Fefop_Model_Mapper_Expense::CONFIG_PCE_REVENUE); } else { $dataItensExpense = $this->_mapper->aggregateItemsExpense($dataItensExpense, $businessPlan); } $this->view->itemsExpense = $dataItensExpense; $dataForm += $fieldsBusinessPlan; $dataForm += $totalsFields; $form->populate($dataForm); }