From: <ex...@us...> - 2017-07-10 01:31:57
|
Revision: 7807 http://sourceforge.net/p/web-erp/reponame/7807 Author: exsonqu Date: 2017-07-10 01:31:55 +0000 (Mon, 10 Jul 2017) Log Message: ----------- 10/07/17 Exson: Fixed the wrong price bug and GP not updated correctly in SelectOrderItems.php. Report by Robert from MHHK forum. Modified Paths: -------------- trunk/SelectOrderItems.php Modified: trunk/SelectOrderItems.php =================================================================== --- trunk/SelectOrderItems.php 2017-07-08 05:22:08 UTC (rev 7806) +++ trunk/SelectOrderItems.php 2017-07-10 01:31:55 UTC (rev 7807) @@ -1052,15 +1052,19 @@ if (ABS($OrderLine->Price - filter_number_format($_POST['Price_' . $OrderLine->LineNumber]))>0.01){ /*There is a new price being input for the line item */ - $Price = filter_number_format($_POST['Price_' . $OrderLine->LineNumber]); - if ($_POST['Discount_' . $OrderLine->LineNumber] < 100) {//to avoid divided by zero error - $_POST['GPPercent_' . $OrderLine->LineNumber] = (($Price*(1-(filter_number_format($_POST['Discount_' . $OrderLine->LineNumber])/100))) - $OrderLine->StandardCost*$ExRate)/($Price *(1-filter_number_format($_POST['Discount_' . $OrderLine->LineNumber])/100)/100); + if (isset($_POST['Discount_' . $OrderLine->LineNumber]) AND is_numeric(filter_number_format($_POST['Discount_' . $OrderLine->LineNumber]))) { + if ($_POST['Discount_' . $OrderLine->LineNumber] < 100) {//to avoid divided by zero error + $_POST['GPPercent_' . $OrderLine->LineNumber] = (($Price*(1-(filter_number_format($_POST['Discount_' . $OrderLine->LineNumber])/100))) - $OrderLine->StandardCost*$ExRate)/($Price *(1-filter_number_format($_POST['Discount_' . $OrderLine->LineNumber])/100)/100); + } else { + $_POST['GPPercent_' . $OrderLine->LineNumber] = 0; + } } else { - $_POST['GPPercent_' . $OrderLine->LineNumber] = 0; + $_POST['GPPercent_' . $OrderLine->LineNumber] = ($Price - $OrderLine->StandardCost*$ExRate)*100/$Price; } - } elseif (ABS($OrderLine->GPPercent - filter_number_format($_POST['GPPercent_' . $OrderLine->LineNumber]))>=0.01) { + + } elseif (isset($_POST['GPPercent_'.$OrderLine->LineNumber]) AND ABS($OrderLine->GPPercent - filter_number_format($_POST['GPPercent_' . $OrderLine->LineNumber]))>=0.01) { /* A GP % has been input so need to do a recalculation of the price at this new GP Percentage */ @@ -1070,8 +1074,17 @@ $Price = ($OrderLine->StandardCost*$ExRate)/(1 -((filter_number_format($_POST['GPPercent_' . $OrderLine->LineNumber]) + filter_number_format($_POST['Discount_' . $OrderLine->LineNumber]))/100)); } else { $Price = filter_number_format($_POST['Price_' . $OrderLine->LineNumber]); + if (isset($_POST['Discount_' . $OrderLine->LineNumber]) AND is_numeric(filter_number_format($_POST['Discount_' . $OrderLine->LineNumber]))) { + if ($_POST['Discount_' . $OrderLine->LineNumber] < 100) {//to avoid divided by zero error + $_POST['GPPercent_' . $OrderLine->LineNumber] = (($Price*(1-(filter_number_format($_POST['Discount_' . $OrderLine->LineNumber])/100))) - $OrderLine->StandardCost*$ExRate)/($Price *(1-filter_number_format($_POST['Discount_' . $OrderLine->LineNumber])/100)/100); + } else { + $_POST['GPPercent_' . $OrderLine->LineNumber] = 0; + } + } else { + $_POST['GPPercent_' . $OrderLine->LineNumber] = ($Price - $OrderLine->StandardCost*$ExRate)*100/$Price; + } } - $DiscountPercentage = filter_number_format($_POST['Discount_' . $OrderLine->LineNumber]); + $DiscountPercentage = isset($_POST['Discount_' . $OrderLine->LineNumber])?filter_number_format($_POST['Discount_' . $OrderLine->LineNumber]):0; if ($_SESSION['AllowOrderLineItemNarrative'] == 1) { $Narrative = $_POST['Narrative_' . $OrderLine->LineNumber]; } else { |