diff --git a/include/utils/EditViewUtils.php b/include/utils/EditViewUtils.php index ea1c68d57f181c0339bb0622fad72e8d3ded7c12..be21fb0c6a3fb895e8689209f5fe435c2c5dc8a0 100755 --- a/include/utils/EditViewUtils.php +++ b/include/utils/EditViewUtils.php @@ -236,7 +236,7 @@ function getAssociatedProducts($module, $focus, $seid = '', $refModuleName = fal $product_Detail[$i]['delRow'.$i]="Del"; } - if (in_array($module, $lineItemSupportedModules) || $module === 'Vendors' || (!$focus->mode && $seid)) { + if (in_array($module, $lineItemSupportedModules) || $module === 'Vendors' || isset($focus->mode) && (!$focus->mode && $seid)) { $subProductsQuery = 'SELECT vtiger_seproductsrel.crmid AS prod_id, quantity FROM vtiger_seproductsrel INNER JOIN vtiger_crmentity ON vtiger_crmentity.crmid = vtiger_seproductsrel.crmid INNER JOIN vtiger_products ON vtiger_products.productid = vtiger_seproductsrel.crmid @@ -249,6 +249,7 @@ function getAssociatedProducts($module, $focus, $seid = '', $refModuleName = fal array_push($subParams, 'Products'); } else { $subProductsQuery = 'SELECT productid AS prod_id, quantity FROM vtiger_inventorysubproductrel WHERE id=? AND sequence_no=?'; + $focus->id = isset($focus->id) ? $focus->id : ""; $subParams = array($focus->id, $i); } $subProductsResult = $adb->pquery($subProductsQuery, $subParams); @@ -405,12 +406,12 @@ function getAssociatedProducts($module, $focus, $seid = '', $refModuleName = fal $finalDiscount = 0; $product_Detail[1]['final_details']['discount_type_final'] = 'zero'; - $subTotal = ($focus->column_fields['hdnSubTotal'] != '')?$focus->column_fields['hdnSubTotal']:0; + $subTotal = (isset($focus->column_fields['hdnSubTotal']) && $focus->column_fields['hdnSubTotal'] != '') ? $focus->column_fields['hdnSubTotal'] : 0; $subTotal = number_format($subTotal, $no_of_decimal_places,'.',''); $product_Detail[1]['final_details']['hdnSubTotal'] = $subTotal; - $discountPercent = ($focus->column_fields['hdnDiscountPercent'] != '')?$focus->column_fields['hdnDiscountPercent']:0; - $discountAmount = ($focus->column_fields['hdnDiscountAmount'] != '')?$focus->column_fields['hdnDiscountAmount']:0; + $discountPercent = (isset($focus->column_fields['hdnDiscountPercent']) && $focus->column_fields['hdnDiscountPercent'] != '') ? $focus->column_fields['hdnDiscountPercent'] : 0; + $discountAmount = (isset($focus->column_fields['hdnDiscountAmount']) && $focus->column_fields['hdnDiscountAmount'] != '') ? $focus->column_fields['hdnDiscountAmount'] : 0; if($discountPercent != '0'){ $discountAmount = ($product_Detail[1]['final_details']['hdnSubTotal'] * $discountPercent / 100); } @@ -421,8 +422,8 @@ function getAssociatedProducts($module, $focus, $seid = '', $refModuleName = fal $product_Detail[1]['final_details']['discount_percentage_final'] = 0; $product_Detail[1]['final_details']['discount_amount_final'] = $discount_amount_final; - $hdnDiscountPercent = (float) $focus->column_fields['hdnDiscountPercent']; - $hdnDiscountAmount = (float) $focus->column_fields['hdnDiscountAmount']; + $hdnDiscountPercent = isset($focus->column_fields['hdnDiscountPercent']) ? (float) $focus->column_fields['hdnDiscountPercent'] : 0.0; + $hdnDiscountAmount = isset($focus->column_fields['hdnDiscountAmount']) ? (float) $focus->column_fields['hdnDiscountAmount'] : 0.0; if(!empty($hdnDiscountPercent)) { $finalDiscount = ($subTotal*$discountPercent/100); @@ -524,7 +525,7 @@ function getAssociatedProducts($module, $focus, $seid = '', $refModuleName = fal $product_Detail[1]['final_details']['tax_totalamount'] = number_format($taxTotal, $no_of_decimal_places, '.', ''); //To set the Shipping & Handling charge - $shCharge = ($focus->column_fields['hdnS_H_Amount'] != '')?$focus->column_fields['hdnS_H_Amount']:0; + $shCharge = (isset($focus->column_fields['hdnS_H_Amount']) && $focus->column_fields['hdnS_H_Amount'] != '') ? $focus->column_fields['hdnS_H_Amount'] : 0; $shCharge = number_format($shCharge, $no_of_decimal_places,'.',''); $product_Detail[1]['final_details']['shipping_handling_charge'] = $shCharge; @@ -560,7 +561,7 @@ function getAssociatedProducts($module, $focus, $seid = '', $refModuleName = fal $product_Detail[1]['final_details']['shtax_totalamount'] = $shtaxtotal; //To set the Adjustment value - $adjustment = ($focus->column_fields['txtAdjustment'] != '')?$focus->column_fields['txtAdjustment']:0; + $adjustment = (isset($focus->column_fields['txtAdjustment']) && $focus->column_fields['txtAdjustment'] != '') ? $focus->column_fields['txtAdjustment'] : 0; $adjustment = number_format($adjustment, $no_of_decimal_places,'.',''); $product_Detail[1]['final_details']['adjustment'] = $adjustment; diff --git a/modules/Products/models/Record.php b/modules/Products/models/Record.php index 198bb8afcf23630040486c5ff23a70f1c0b092f1..8a3d5d12802729e7b88c5b801497da1352d66212 100644 --- a/modules/Products/models/Record.php +++ b/modules/Products/models/Record.php @@ -178,14 +178,13 @@ class Products_Record_Model extends Vtiger_Record_Model { } } - $productTaxes = $productDetails[1]['taxes']; + $productTaxes = isset($productDetails[1]['taxes']) ? $productDetails[1]['taxes'] : array(); if (!empty ($productDetails)) { $taxCount = php7_count($productTaxes); $taxTotal = 0; for($i=0; $i<$taxCount; $i++) { - $taxValue = $productTaxes[$i]['percentage']; - + $taxValue = isset($productTaxes[$i]['percentage']) && is_numeric($productTaxes[$i]['percentage']) ? $productTaxes[$i]['percentage'] : 0; $taxAmount = $totalAfterDiscount * $taxValue / 100; $taxTotal = $taxTotal + $taxAmount; diff --git a/pkg/vtiger/modules/Services/modules/Services/Services.php b/pkg/vtiger/modules/Services/modules/Services/Services.php index de5465ecf651ded31304d95114f31f10faca8359..d028958307878d7351cecaeba14ab100306fa517 100644 --- a/pkg/vtiger/modules/Services/modules/Services/Services.php +++ b/pkg/vtiger/modules/Services/modules/Services/Services.php @@ -14,6 +14,7 @@ class Services extends CRMEntity { var $table_name = 'vtiger_service'; var $table_index= 'serviceid'; var $column_fields = Array(); + protected $isWorkFlowFieldUpdate = false; /** Indicator if this is a custom module or standard module */ var $IsCustomModule = true; @@ -117,12 +118,12 @@ class Services extends CRMEntity { { $this->insertTaxInformation('vtiger_producttaxrel', 'Services'); - if ($_REQUEST['action'] != 'MassEditSave' ) { + if (isset($_REQUEST['action']) && $_REQUEST['action'] != 'MassEditSave' ) { $this->insertPriceInformation('vtiger_productcurrencyrel', 'Services'); } } - if($_REQUEST['action'] == 'SaveAjax' && isset($_REQUEST['base_currency']) && isset($_REQUEST['unit_price'])){ + if(isset($_REQUEST['action']) && $_REQUEST['action'] == 'SaveAjax' && isset($_REQUEST['base_currency']) && isset($_REQUEST['unit_price'])){ $this->insertPriceInformation('vtiger_productcurrencyrel', 'Services'); } // Update unit price value in vtiger_productcurrencyrel @@ -139,7 +140,6 @@ class Services extends CRMEntity { global $adb, $log; $log->debug("Entering into insertTaxInformation($tablename, $module) method ..."); $tax_details = getAllTaxes(); - $tax_per = ''; //Save the Product - tax relationship if corresponding tax check box is enabled //Delete the existing tax if any @@ -162,7 +162,7 @@ class Services extends CRMEntity { $taxid = getTaxId($tax_name); $tax_per = $_REQUEST[$tax_name]; - $taxRegions = $_REQUEST[$tax_name.'_regions']; + $taxRegions = isset($_REQUEST[$tax_name.'_regions']) ? $_REQUEST[$tax_name.'_regions'] : ""; if ($taxRegions) { $tax_per = $_REQUEST[$tax_name.'_defaultPercentage']; } else { @@ -177,7 +177,7 @@ class Services extends CRMEntity { $log->debug("Going to save the Product - $tax_name tax relationship"); - if ($_REQUEST['action'] === 'MassEditSave') { + if (isset($_REQUEST['action']) && $_REQUEST['action'] === 'MassEditSave') { $adb->pquery('DELETE FROM vtiger_producttaxrel WHERE productid=? AND taxid=?', array($this->id, $taxid)); } @@ -228,7 +228,7 @@ class Services extends CRMEntity { $requestPrice = CurrencyField::convertToDBFormat($_REQUEST['unit_price'], null, true); $actualPrice = CurrencyField::convertToDBFormat($_REQUEST[$cur_valuename], null, true); $isQuickCreate = false; - if($_REQUEST['action']=='SaveAjax' && isset($_REQUEST['base_currency']) && $_REQUEST['base_currency'] == $cur_valuename){ + if(isset($_REQUEST['action']) && $_REQUEST['action']=='SaveAjax' && isset($_REQUEST['base_currency']) && $_REQUEST['base_currency'] == $cur_valuename){ $actualPrice = $requestPrice; $isQuickCreate = true; }