public function process(Vtiger_Request $request) { $recordId = $request->get('record'); $modules = $request->get('modules'); $assignId = $request->get('assigned_user_id'); $currentUser = Users_Record_Model::getCurrentUserModel(); $entityValues = array(); $entityValues['transferRelatedRecordsTo'] = $request->get('transferModule'); //■権限なぜか、エラーになるので権限を固定するinouchi //$entityValues['assignedTo'] = vtws_getWebserviceEntityId(vtws_getOwnerType($assignId), $assignId); $entityValues['assignedTo'] = vtws_getWebserviceEntityId(vtws_getOwnerType(1), 1); $entityValues['leadId'] = vtws_getWebserviceEntityId($request->getModule(), $recordId); $recordModel = Vtiger_Record_Model::getInstanceById($recordId, $request->getModule()); $convertLeadFields = $recordModel->getConvertLeadFields(); $availableModules = array('Accounts', 'Contacts', 'Potentials'); foreach ($availableModules as $module) { if (vtlib_isModuleActive($module) && in_array($module, $modules)) { $entityValues['entities'][$module]['create'] = true; $entityValues['entities'][$module]['name'] = $module; foreach ($convertLeadFields[$module] as $fieldModel) { $fieldName = $fieldModel->getName(); $fieldValue = $request->get($fieldName); //Potential Amount Field value converting into DB format if ($fieldModel->getFieldDataType() === 'currency') { $fieldValue = Vtiger_Currency_UIType::convertToDBFormat($fieldValue); } elseif ($fieldModel->getFieldDataType() === 'date') { $fieldValue = DateTimeField::convertToDBFormat($fieldValue); } elseif ($fieldModel->getFieldDataType() === 'reference' && $fieldValue) { $ids = vtws_getIdComponents($fieldValue); if (count($ids) === 1) { $fieldValue = vtws_getWebserviceEntityId(getSalesEntityType($fieldValue), $fieldValue); } } $entityValues['entities'][$module][$fieldName] = $fieldValue; } } } try { $result = vtws_convertlead($entityValues, $currentUser); } catch (Exception $e) { $this->showError($request, $e); exit; } if (!empty($result['Accounts'])) { $accountIdComponents = vtws_getIdComponents($result['Accounts']); $accountId = $accountIdComponents[1]; } if (!empty($result['Contacts'])) { $contactIdComponents = vtws_getIdComponents($result['Contacts']); $contactId = $contactIdComponents[1]; } if (!empty($accountId)) { header("Location: index.php?view=Detail&module=Accounts&record={$accountId}"); } elseif (!empty($contactId)) { header("Location: index.php?view=Detail&module=Contacts&record={$contactId}"); } else { $this->showError($request); exit; } }
/** * Function returns Inventory Line Items * @param Vtiger_Request $request */ function showLineItemDetails(Vtiger_Request $request) { $record = $request->get('record'); $moduleName = $request->getModule(); $recordModel = Inventory_Record_Model::getInstanceById($record); $relatedProducts = $recordModel->getProducts(); //##Final details convertion started $finalDetails = $relatedProducts[1]['final_details']; //Final shipping tax details convertion ended $currencyFieldsList = array('grandTotal'); foreach ($currencyFieldsList as $fieldName) { $finalDetails[$fieldName] = Vtiger_Currency_UIType::transformDisplayValue($finalDetails[$fieldName], null, true); } $relatedProducts[1]['final_details'] = $finalDetails; //##Final details convertion ended //##Product details convertion started $productsCount = count($relatedProducts); for ($i = 1; $i <= $productsCount; $i++) { $product = $relatedProducts[$i]; $currencyFieldsList = array('listPrice', 'unitPrice', 'productTotal'); foreach ($currencyFieldsList as $fieldName) { $product[$fieldName . $i] = Vtiger_Currency_UIType::transformDisplayValue($product[$fieldName . $i], null, true); } $relatedProducts[$i] = $product; } //##Product details convertion ended $viewer = $this->getViewer($request); $viewer->assign('RELATED_PRODUCTS', $relatedProducts); $viewer->assign('RECORD', $recordModel); $viewer->assign('MODULE_NAME', $moduleName); $viewer->view('LineItemsDetail.tpl', $moduleName); }
/** * Function returns Inventory Line Items * @param Vtiger_Request $request */ function showLineItemDetails(Vtiger_Request $request) { $record = $request->get('record'); $moduleName = $request->getModule(); $recordModel = Inventory_Record_Model::getInstanceById($record); $relatedProducts = $recordModel->getProducts(); //##Final details convertion started $finalDetails = $relatedProducts[1]['final_details']; //Final tax details convertion started $taxtype = $finalDetails['taxtype']; if ($taxtype == 'group') { $taxDetails = $finalDetails['taxes']; $taxCount = count($taxDetails); for ($i = 0; $i < $taxCount; $i++) { $taxDetails[$i]['amount'] = Vtiger_Currency_UIType::transformDisplayValue($taxDetails[$i]['amount'], null, true); } $finalDetails['taxes'] = $taxDetails; } //Final tax details convertion ended $currencyFieldsList = array('grandTotal', 'hdnSubTotal', 'preTaxTotal', 'tax_totalamount', 'total_margin', 'total_marginp', 'total_purchase', 'discountTotal_final', 'discount_amount_final', 'totalAfterDiscount'); foreach ($currencyFieldsList as $fieldName) { $finalDetails[$fieldName] = Vtiger_Currency_UIType::transformDisplayValue($finalDetails[$fieldName], null, true); } $relatedProducts[1]['final_details'] = $finalDetails; //##Final details convertion ended //##Product details convertion started $productsCount = count($relatedProducts); for ($i = 1; $i <= $productsCount; $i++) { $product = $relatedProducts[$i]; //Product tax details convertion started if ($taxtype == 'individual') { $taxDetails = $product['taxes']; $taxCount = count($taxDetails); for ($j = 0; $j < $taxCount; $j++) { $taxDetails[$j]['amount'] = Vtiger_Currency_UIType::transformDisplayValue($taxDetails[$j]['amount'], null, true); } $product['taxes'] = $taxDetails; } //Product tax details convertion ended $currencyFieldsList = array('taxTotal', 'netPrice', 'listPrice', 'unitPrice', 'productTotal', 'purchase', 'margin', 'marginp', 'discountTotal', 'discount_amount', 'totalAfterDiscount'); foreach ($currencyFieldsList as $fieldName) { $product[$fieldName . $i] = Vtiger_Currency_UIType::transformDisplayValue($product[$fieldName . $i], null, true); } $relatedProducts[$i] = $product; } //##Product details convertion ended $viewer = $this->getViewer($request); $viewer->assign('RELATED_PRODUCTS', $relatedProducts); $viewer->assign('RECORD', $recordModel); $viewer->assign('MODULE_NAME', $moduleName); $viewer->view('LineItemsDetail.tpl', 'Inventory'); }
/** * Function saves Reports Filter information */ function saveAdvancedFilters() { $db = PearDatabase::getInstance(); $reportId = $this->getId(); $advancedFilter = $this->get('advancedFilter'); if (!empty($advancedFilter)) { $db->pquery('DELETE FROM vtiger_relcriteria WHERE queryid = ?', array($reportId)); $db->pquery('DELETE FROM vtiger_relcriteria_grouping WHERE queryid = ?', array($reportId)); foreach ($advancedFilter as $groupIndex => $groupInfo) { if (empty($groupInfo)) { continue; } $groupColumns = $groupInfo['columns']; $groupCondition = $groupInfo['condition']; foreach ($groupColumns as $columnIndex => $columnCondition) { if (empty($columnCondition)) { continue; } $advFilterColumn = $columnCondition["columnname"]; $advFilterComparator = $columnCondition["comparator"]; $advFilterValue = $columnCondition["value"]; $advFilterColumnCondition = $columnCondition["column_condition"]; $columnInfo = explode(":", $advFilterColumn); $moduleFieldLabel = $columnInfo[2]; list($module, $fieldLabel) = explode('__', $moduleFieldLabel, 2); $fieldInfo = getFieldByReportLabel($module, $fieldLabel); $fieldType = null; if (!empty($fieldInfo)) { $field = WebserviceField::fromArray($db, $fieldInfo); $fieldType = $field->getFieldDataType(); } if ($fieldType == 'currency') { if ($field->getUIType() == '72') { // Some of the currency fields like Unit Price, Totoal , Sub-total - doesn't need currency conversion during save $advFilterValue = Vtiger_Currency_UIType::convertToDBFormat($advFilterValue, null, true); } else { $advFilterValue = Vtiger_Currency_UIType::convertToDBFormat($advFilterValue); } } $tempVal = explode(",", $advFilterValue); if (($columnInfo[4] == 'D' || $columnInfo[4] == 'T' && $columnInfo[1] != 'time_start' && $columnInfo[1] != 'time_end' || $columnInfo[4] == 'DT') && ($columnInfo[4] != '' && $advFilterValue != '')) { $val = array(); for ($i = 0; $i < count($tempVal); $i++) { if (trim($tempVal[$i]) != '') { $date = new DateTimeField(trim($tempVal[$i])); if ($columnInfo[4] == 'D') { $val[$i] = DateTimeField::convertToDBFormat(trim($tempVal[$i])); } elseif ($columnInfo[4] == 'DT') { /** * While generating query to retrieve report, for date time fields we are only taking * date field and appending '00:00:00' for correct results depending on time zone. * If you save the time also here by converting to db format, while showing in edit * view it was changing the date selected. */ $values = explode(' ', $tempVal[$i]); $date = new DateTimeField($values[0]); $val[$i] = $date->getDBInsertDateValue(); } else { $val[$i] = $date->getDBInsertTimeValue(); } } } $advFilterValue = implode(",", $val); } $db->pquery('INSERT INTO vtiger_relcriteria (queryid, columnindex, columnname, comparator, value, groupid, column_condition) VALUES (?,?,?,?,?,?,?)', array($reportId, $columnIndex, $advFilterColumn, $advFilterComparator, $advFilterValue, $groupIndex, $advFilterColumnCondition)); // Update the condition expression for the group to which the condition column belongs $groupConditionExpression = ''; if (!empty($advancedFilter[$groupIndex]["conditionexpression"])) { $groupConditionExpression = $advancedFilter[$groupIndex]["conditionexpression"]; } $groupConditionExpression = $groupConditionExpression . ' ' . $columnIndex . ' ' . $advFilterColumnCondition; $advancedFilter[$groupIndex]["conditionexpression"] = $groupConditionExpression; } $groupConditionExpression = $advancedFilter[$groupIndex]["conditionexpression"]; if (empty($groupConditionExpression)) { continue; } // Case when the group doesn't have any column criteria $db->pquery("INSERT INTO vtiger_relcriteria_grouping(groupid, queryid, group_condition, condition_expression) VALUES (?,?,?,?)", array($groupIndex, $reportId, $groupCondition, $groupConditionExpression)); } } }
/** * Function returns Inventory Line Items * @param Vtiger_Request $request */ function showLineItemDetails(Vtiger_Request $request) { $record = $request->get('record'); $moduleName = $request->getModule(); $recordModel = Inventory_Record_Model::getInstanceById($record); $relatedProducts = $recordModel->getProducts(); //##Final details convertion started $finalDetails = $relatedProducts[1]['final_details']; //Final tax details convertion started $taxtype = $finalDetails['taxtype']; if ($taxtype == 'group') { $taxDetails = $finalDetails['taxes']; $taxCount = count($taxDetails); for ($i = 0; $i < $taxCount; $i++) { $taxDetails[$i]['amount'] = Vtiger_Currency_UIType::transformDisplayValue($taxDetails[$i]['amount'], null, true); } $finalDetails['taxes'] = $taxDetails; } //Final tax details convertion ended //Final shipping tax details convertion started $shippingTaxDetails = $finalDetails['sh_taxes']; $taxCount = count($shippingTaxDetails); for ($i = 0; $i < $taxCount; $i++) { $shippingTaxDetails[$i]['amount'] = Vtiger_Currency_UIType::transformDisplayValue($shippingTaxDetails[$i]['amount'], null, true); } $finalDetails['sh_taxes'] = $shippingTaxDetails; //Final shipping tax details convertion ended $currencyFieldsList = array('adjustment', 'grandTotal', 'hdnSubTotal', 'preTaxTotal', 'tax_totalamount', 'shtax_totalamount', 'discountTotal_final', 'discount_amount_final', 'shipping_handling_charge', 'totalAfterDiscount'); foreach ($currencyFieldsList as $fieldName) { $finalDetails[$fieldName] = Vtiger_Currency_UIType::transformDisplayValue($finalDetails[$fieldName], null, true); } $relatedProducts[1]['final_details'] = $finalDetails; //##Final details convertion ended //##Product details convertion started $productsCount = count($relatedProducts); for ($i = 1; $i <= $productsCount; $i++) { $product = $relatedProducts[$i]; //Product tax details convertion started if ($taxtype == 'individual') { $taxDetails = $product['taxes']; $taxCount = count($taxDetails); for ($j = 0; $j < $taxCount; $j++) { $taxDetails[$j]['amount'] = Vtiger_Currency_UIType::transformDisplayValue($taxDetails[$j]['amount'], null, true); } $product['taxes'] = $taxDetails; } //Product tax details convertion ended $currencyFieldsList = array('taxTotal', 'netPrice', 'listPrice', 'unitPrice', 'productTotal', 'discountTotal', 'discount_amount', 'totalAfterDiscount'); foreach ($currencyFieldsList as $fieldName) { $product[$fieldName . $i] = Vtiger_Currency_UIType::transformDisplayValue($product[$fieldName . $i], null, true); } $relatedProducts[$i] = $product; } //##Product details convertion ended $viewer = $this->getViewer($request); $viewer->assign('RELATED_PRODUCTS', $relatedProducts); $viewer->assign('RECORD', $recordModel); $viewer->assign('MODULE_NAME', $moduleName); /** ▼ 160114ohkuma大熊追加 課題管理No83 ****/ global $adb; $kuma = getListQuery('Vendors'); $vendors_query = $adb->pquery(getListQuery('Vendors')); $count_vendors = $adb->num_rows($vendors_query); for ($vendor_num = 0; $vendor_num < $count_vendors; $vendor_num++) { $vendorid = $adb->query_result($vendors_query, $vendor_num, "vendorid"); $vendorname = $adb->query_result($vendors_query, $vendor_num, "vendorname"); $vendors[$vendorid] = $vendorname; } //End for $viewer->assign('VENDOR', $vendors); /** ▲ 160114ohkuma大熊追加 課題管理No83 ****/ $viewer->view('LineItemsDetail.tpl', 'Inventory'); }
public function process(Vtiger_Request $request) { $recordId = $request->get('record'); $modules = $request->get('modules'); $assignId = $request->get('assigned_user_id'); $currentUser = Users_Record_Model::getCurrentUserModel(); $entityValues = array(); $entityValues['transferRelatedRecordsTo'] = $request->get('transferModule'); $entityValues['assignedTo'] = vtws_getWebserviceEntityId(vtws_getOwnerType($assignId), $assignId); $entityValues['leadId'] = vtws_getWebserviceEntityId($request->getModule(), $recordId); $createAlways = Vtiger_Processes_Model::getConfig('marketing', 'conversion', 'create_always'); $recordModel = Vtiger_Record_Model::getInstanceById($recordId, $request->getModule()); $convertLeadFields = $recordModel->getConvertLeadFields(); $availableModules = array('Accounts', 'Contacts', 'Potentials'); foreach ($availableModules as $module) { if (vtlib_isModuleActive($module) && in_array($module, $modules)) { $entityValues['entities'][$module]['create'] = true; $entityValues['entities'][$module]['name'] = $module; foreach ($convertLeadFields[$module] as $fieldModel) { $fieldName = $fieldModel->getName(); $fieldValue = $request->get($fieldName); //Potential Amount Field value converting into DB format if ($fieldModel->getFieldDataType() === 'currency') { $fieldValue = Vtiger_Currency_UIType::convertToDBFormat($fieldValue); } elseif ($fieldModel->getFieldDataType() === 'date') { $fieldValue = DateTimeField::convertToDBFormat($fieldValue); } elseif ($fieldModel->getFieldDataType() === 'reference' && $fieldValue) { $ids = vtws_getIdComponents($fieldValue); if (count($ids) === 1) { $fieldValue = vtws_getWebserviceEntityId(getSalesEntityType($fieldValue), $fieldValue); } } $entityValues['entities'][$module][$fieldName] = $fieldValue; } } } try { $results = true; if ($createAlways === true || $createAlways === 'true') { $leadModel = Vtiger_Module_Model::getCleanInstance($request->getModule()); $results = $leadModel->searchAccountsToConvert($recordModel); $entityValues['entities']['Accounts']['convert_to_id'] = $results; } if (!$results) { $message = vtranslate('LBL_TOO_MANY_ACCOUNTS_TO_CONVERT', $request->getModule(), ''); if ($currentUser->isAdminUser()) { $message = vtranslate('LBL_TOO_MANY_ACCOUNTS_TO_CONVERT', $request->getModule(), '<a href="index.php?module=MarketingProcesses&view=Index&parent=Settings"><span class="glyphicon glyphicon-folder-open"></span></a>'); } $this->showError($request, '', $message); exit; } } catch (Exception $e) { $this->showError($request, $e); exit; } try { $result = vtws_convertlead($entityValues, $currentUser); } catch (Exception $e) { $this->showError($request, $e); exit; } if (!empty($result['Accounts'])) { $accountIdComponents = vtws_getIdComponents($result['Accounts']); $accountId = $accountIdComponents[1]; } if (!empty($result['Contacts'])) { $contactIdComponents = vtws_getIdComponents($result['Contacts']); $contactId = $contactIdComponents[1]; } if (!empty($accountId)) { ModTracker_Record_Model::addConvertToAccountRelation('Accounts', $accountId, $assignId); header("Location: index.php?view=Detail&module=Accounts&record={$accountId}"); } elseif (!empty($contactId)) { header("Location: index.php?view=Detail&module=Contacts&record={$contactId}"); } else { $this->showError($request); exit; } }
/** * Function saves Reports Filter information */ function saveAdvancedFilters() { $db = PearDatabase::getInstance(); $reportId = $this->getId(); $advancedFilter = $this->get('advancedFilter'); if (!empty($advancedFilter)) { $db->pquery('DELETE FROM vtiger_relcriteria WHERE queryid = ?', array($reportId)); $db->pquery('DELETE FROM vtiger_relcriteria_grouping WHERE queryid = ?', array($reportId)); foreach ($advancedFilter as $groupIndex => $groupInfo) { if (empty($groupInfo)) { continue; } $groupColumns = $groupInfo['columns']; $groupCondition = $groupInfo['condition']; foreach ($groupColumns as $columnIndex => $columnCondition) { if (empty($columnCondition)) { continue; } $advFilterColumn = $columnCondition["columnname"]; $advFilterComparator = $columnCondition["comparator"]; $advFilterValue = $columnCondition["value"]; $advFilterColumnCondition = $columnCondition["column_condition"]; $columnInfo = explode(":", $advFilterColumn); $moduleFieldLabel = $columnInfo[2]; list($module, $fieldLabel) = explode('_', $moduleFieldLabel, 2); $fieldInfo = getFieldByReportLabel($module, $fieldLabel); $fieldType = null; if (!empty($fieldInfo)) { $field = WebserviceField::fromArray($db, $fieldInfo); $fieldType = $field->getFieldDataType(); } if ($fieldType == 'currency') { if ($field->getUIType() == '71') { $advFilterValue = Vtiger_Currency_UIType::convertToDBFormat($advFilterValue, null, true); } else { $advFilterValue = Vtiger_Currency_UIType::convertToDBFormat($advFilterValue); } } $tempVal = explode(",", $advFilterValue); if (($columnInfo[4] == 'D' || $columnInfo[4] == 'T' && $columnInfo[1] != 'time_start' && $columnInfo[1] != 'time_end' || $columnInfo[4] == 'DT') && ($columnInfo[4] != '' && $advFilterValue != '')) { $val = array(); for ($i = 0; $i < count($tempVal); $i++) { if (trim($tempVal[$i]) != '') { $date = new DateTimeField(trim($tempVal[$i])); if ($columnInfo[4] == 'D') { $val[$i] = DateTimeField::convertToDBFormat(trim($tempVal[$i])); } elseif ($columnInfo[4] == 'DT') { $val[$i] = $date->getDBInsertDateTimeValue(); } else { $val[$i] = $date->getDBInsertTimeValue(); } } } $advFilterValue = implode(",", $val); } $db->pquery('INSERT INTO vtiger_relcriteria (queryid, columnindex, columnname, comparator, value, groupid, column_condition) VALUES (?,?,?,?,?,?,?)', array($reportId, $columnIndex, $advFilterColumn, $advFilterComparator, $advFilterValue, $groupIndex, $advFilterColumnCondition)); // Update the condition expression for the group to which the condition column belongs $groupConditionExpression = ''; if (!empty($advancedFilter[$groupIndex]["conditionexpression"])) { $groupConditionExpression = $advancedFilter[$groupIndex]["conditionexpression"]; } $groupConditionExpression = $groupConditionExpression . ' ' . $columnIndex . ' ' . $advFilterColumnCondition; $advancedFilter[$groupIndex]["conditionexpression"] = $groupConditionExpression; } $groupConditionExpression = $advancedFilter[$groupIndex]["conditionexpression"]; if (empty($groupConditionExpression)) { continue; } // Case when the group doesn't have any column criteria $db->pquery("INSERT INTO vtiger_relcriteria_grouping(groupid, queryid, group_condition, condition_expression) VALUES (?,?,?,?)", array($groupIndex, $reportId, $groupCondition, $groupConditionExpression)); } } }
/** * Function returns Inventory Line Items * @param Vtiger_Request $request */ function showLineItemDetails(Vtiger_Request $request) { $record = $request->get('record'); $moduleName = $request->getModule(); $recordModel = Inventory_Record_Model::getInstanceById($record); $relatedProducts = $recordModel->getProducts(); //##Final details convertion started $finalDetails = $relatedProducts[1]['final_details']; //Final tax details convertion started $taxtype = $finalDetails['taxtype']; //SalesPlatform.ru begin if ($taxtype == 'group' || $taxtype == 'group_tax_inc') { //if ($taxtype == 'group') { //SalesPlatform.ru end $taxDetails = $finalDetails['taxes']; $taxCount = count($taxDetails); for ($i = 0; $i < $taxCount; $i++) { //SalesPlatform.ru begin if ($taxtype == 'group_tax_inc') { $taxDetails[$i]['taxlabel'] = vtranslate('LBL_INC_TAX') . ' ' . $taxDetails[$i]['taxlabel']; } $taxDetails[$i]['amount'] = htmlentities(Vtiger_Currency_UIType::transformDisplayValue($taxDetails[$i]['amount'], null, true), ENT_QUOTES | ENT_HTML401); //$taxDetails[$i]['amount'] = Vtiger_Currency_UIType::transformDisplayValue($taxDetails[$i]['amount'], null, true); //SalesPlatform.ru end } $finalDetails['taxes'] = $taxDetails; } //Final tax details convertion ended //Final shipping tax details convertion started $shippingTaxDetails = $finalDetails['sh_taxes']; $taxCount = count($shippingTaxDetails); for ($i = 0; $i < $taxCount; $i++) { //SalesPlatform.ru begin if ($taxtype == 'group_tax_inc') { $shippingTaxDetails[$i]['taxlabel'] = vtranslate('LBL_INC_TAX') . ' ' . $shippingTaxDetails[$i]['taxlabel']; } $shippingTaxDetails[$i]['amount'] = htmlentities(Vtiger_Currency_UIType::transformDisplayValue($shippingTaxDetails[$i]['amount'], null, true), ENT_QUOTES | ENT_HTML401); //$shippingTaxDetails[$i]['amount'] = Vtiger_Currency_UIType::transformDisplayValue($shippingTaxDetails[$i]['amount'], null, true); //SalesPlatform.ru end } $finalDetails['sh_taxes'] = $shippingTaxDetails; //Final shipping tax details convertion ended $currencyFieldsList = array('adjustment', 'grandTotal', 'hdnSubTotal', 'preTaxTotal', 'tax_totalamount', 'shtax_totalamount', 'discountTotal_final', 'discount_amount_final', 'shipping_handling_charge', 'totalAfterDiscount'); foreach ($currencyFieldsList as $fieldName) { //SalesPlatform.ru begin $finalDetails[$fieldName] = htmlentities(Vtiger_Currency_UIType::transformDisplayValue($finalDetails[$fieldName], null, true), ENT_QUOTES | ENT_HTML401); //$finalDetails[$fieldName] = Vtiger_Currency_UIType::transformDisplayValue($finalDetails[$fieldName], null, true); //SalesPlatform.ru end } $relatedProducts[1]['final_details'] = $finalDetails; //##Final details convertion ended //##Product details convertion started $productsCount = count($relatedProducts); for ($i = 1; $i <= $productsCount; $i++) { $product = $relatedProducts[$i]; //Product tax details convertion started if ($taxtype == 'individual') { $taxDetails = $product['taxes']; $taxCount = count($taxDetails); for ($j = 0; $j < $taxCount; $j++) { //SalesPlatform.ru begin $taxDetails[$j]['amount'] = htmlentities(Vtiger_Currency_UIType::transformDisplayValue($taxDetails[$j]['amount'], null, true), ENT_QUOTES | ENT_HTML401); //$taxDetails[$j]['amount'] = Vtiger_Currency_UIType::transformDisplayValue($taxDetails[$j]['amount'], null, true); //SalesPlatform.ru end } $product['taxes'] = $taxDetails; } //Product tax details convertion ended $currencyFieldsList = array('taxTotal', 'netPrice', 'listPrice', 'unitPrice', 'productTotal', 'discountTotal', 'discount_amount', 'totalAfterDiscount'); foreach ($currencyFieldsList as $fieldName) { //SalesPlatform.ru begin $product[$fieldName . $i] = htmlentities(Vtiger_Currency_UIType::transformDisplayValue($product[$fieldName . $i], null, true), ENT_QUOTES | ENT_HTML401); //$product[$fieldName.$i] = Vtiger_Currency_UIType::transformDisplayValue($product[$fieldName.$i], null, true); //SalesPlatform.ru end } $relatedProducts[$i] = $product; } //##Product details convertion ended $viewer = $this->getViewer($request); $viewer->assign('RELATED_PRODUCTS', $relatedProducts); $viewer->assign('RECORD', $recordModel); $viewer->assign('MODULE_NAME', $moduleName); $viewer->view('LineItemsDetail.tpl', 'Inventory'); }