From c39e64b5267f4f213b960a86a0fa15ad44a6c144 Mon Sep 17 00:00:00 2001 From: Janusz Dobrowolski Date: Wed, 30 Apr 2008 15:29:12 +0000 Subject: [PATCH] Fixed price update when changing item in sales order entry. --- CHANGELOG.txt | 6 ++++++ includes/ui/ui_lists.inc | 10 ++++------ js/inserts.js | 7 +++++-- sales/includes/ui/sales_order_ui.inc | 11 +++++------ 4 files changed, 20 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index d28b15ba..1152c1e8 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -19,6 +19,12 @@ Legend: ! -> Note $ -> Affected files +30-Apr-2008 Janusz Dobrowolski +# Fixed price update when changing item in sales order. +$ /includes/ui/ui_lists.inc + /js/inserts.js + /sales/includes/ui/sales_order_ui.inc + 24-Apr-2008 Janusz Dobrowolski + Added new per company directory for customized versions of report definition files repXXX.php, checked before using system default file. $ /company/0/reporting (added new directory) diff --git a/includes/ui/ui_lists.inc b/includes/ui/ui_lists.inc index ef01376a..09bc9592 100644 --- a/includes/ui/ui_lists.inc +++ b/includes/ui/ui_lists.inc @@ -643,12 +643,10 @@ function stock_items_list($name, $selected_id, $all_option=false, $submit_on_cha $result = db_query($sql); - if ($submit_on_change==true) - echo ""; - else - echo ""; if (($all_option == true)) { diff --git a/js/inserts.js b/js/inserts.js index 9d00636d..e24c37f8 100644 --- a/js/inserts.js +++ b/js/inserts.js @@ -55,12 +55,14 @@ var inserts = { var len = select.length; var ac = this.value; var txt; + var was = select.selectedIndex; select.options[select.selectedIndex].selected = false; for (i = 0; i < len; i++) { // txt = select.options[i].text; txt = select.options[i].value; if (txt.indexOf(ac) >= 0) { select.options[i].selected = true; + select._changed = was!=i; break; } } @@ -68,8 +70,8 @@ var inserts = { element.onblur = function() { var button = document.getElementsByName(this.name+'_button')[0]; var select = document.getElementsByName(this.getAttribute('rel'))[0]; -// var val = select.options[select.selectedIndex].text; - var val = select.options[select.selectedIndex].value; TODO +// var val = select.options[select.selectedIndex].text; TODO + var val = select.options[select.selectedIndex].value; if (this.value != "") this.value = val; return true; @@ -82,6 +84,7 @@ var inserts = { val = this.options[this.selectedIndex].value; box.value = val; this.size = 1; + if (this._changed) this.form.submit(); return true; } }, diff --git a/sales/includes/ui/sales_order_ui.inc b/sales/includes/ui/sales_order_ui.inc index 5ed2fcdc..a33834f1 100644 --- a/sales/includes/ui/sales_order_ui.inc +++ b/sales/includes/ui/sales_order_ui.inc @@ -159,7 +159,7 @@ function display_order_header(&$order, $editable, $date_text, $display_tax_group echo ""; $customer_error = ""; - $change_prices = 0; + $change_prices = 0; if (isset($order) && !$editable) { @@ -248,22 +248,21 @@ function display_order_header(&$order, $editable, $date_text, $display_tax_group echo "
"; // outer table } - if( $order->sales_type != $_POST['sales_type']) { + if ($order->sales_type != $_POST['sales_type']) { $myrow = get_sales_type($_POST['sales_type']); $order->set_sales_type($myrow['id'], $myrow['sales_type'], $myrow['tax_included']); $change_prices = 1; } - if($change_prices!=0) - { +// if ($change_prices != 0) { foreach ($order->line_items as $line_no=>$item) { $line = &$order->line_items[$line_no]; $line->price = get_price($line->stock_id, $order->customer_currency, $order->sales_type); // $line->discount_percent = $order->default_discount; } - } +// } echo ""; if($editable) @@ -335,7 +334,7 @@ function sales_order_item_controls(&$order, &$rowcounter, $line_no=-1) else { text_cells(null, "StockID2", '', 12, 10, "", "", "class='combo' rel='stock_id'"/* onblur='this.form.submit();'"*/); - stock_items_list_cells(null, 'stock_id', null, false, false, "class='combo' rel='StockID2'"); + stock_items_list_cells(null, 'stock_id', null, false, true, "class='combo' rel='StockID2'"); } $item_info = get_item_edit_info($_POST['stock_id']); $_POST['units'] = $item_info["units"]; -- 2.30.2