function showTaxes(Vtiger_Request $request) { $moduleName = $request->getModule(); $record = $request->get('record'); $recordModule = $request->get('recordModule'); $currency = $request->get('currency'); $sourceRecord = $request->get('sourceRecord'); $taxType = $request->get('taxType'); $totalPrice = $request->get('totalPrice'); $inventoryModel = Vtiger_Inventory_Model::getInstance($moduleName); $accountTaxs = $inventoryModel->getAccountTax($moduleName, $sourceRecord); $config = $inventoryModel->getTaxesConfig(); $viewer = $this->getViewer($request); $viewer->assign('MODULE', $moduleName); $viewer->assign('RECORD', $record); $viewer->assign('RECORD_MODULE', $recordModule); $viewer->assign('GLOBAL_TAXS', $inventoryModel->getGlobalTaxs()); $viewer->assign('CURRENCY_SYMBOL', Vtiger_Functions::getCurrencySymbolandRate($currency)['symbol']); $viewer->assign('TOTAL_PRICE', $totalPrice); $viewer->assign('CONFIG', $config); $viewer->assign('TAX_TYPE', $taxType); $viewer->assign('TAX_FIELD', Vtiger_InventoryField_Model::getTaxField($recordModule)); $viewer->assign('AGGREGATION_TYPE', $config['aggregation']); $viewer->assign('AGGREGATION_INPUT_TYPE', $config['aggregation'] == 0 ? 'radio' : 'checkbox'); $viewer->assign('GROUP_TAXS', $accountTaxs['taxs']); $viewer->assign('ACCOUNT_NAME', $accountTaxs['name']); echo $viewer->view('InventoryTaxes.tpl', $moduleName, true); }
/** * Get tax from the account * @param string $moduleName Module name * @param int $record Record ID * @return array */ public function getAccountTax($moduleName, $record) { $inventoryField = Vtiger_InventoryField_Model::getInstance($moduleName); $accountField = $inventoryField->getReferenceField(); $accountTaxs = []; $name = ''; $taxField = Vtiger_InventoryField_Model::getTaxField('Accounts'); if ($accountField != '' && $taxField != false) { $recordModel = Vtiger_Record_Model::getInstanceById($record, $moduleName); $relationFieldValue = $recordModel->get($accountField); if ($relationFieldValue != 0) { $accountRecordModel = Vtiger_Record_Model::getInstanceById($relationFieldValue, 'Accounts'); $accountTaxs = Vtiger_Taxs_UIType::getValues($accountRecordModel->get($taxField)); $name = $accountRecordModel->getName(); } } return ['taxs' => $accountTaxs, 'name' => $name]; }