|
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 {
|