From 9651ed602429f6d0bf895cdc3e69e4bd790773bf Mon Sep 17 00:00:00 2001 From: Joe Hunt Date: Tue, 13 Jan 2009 00:32:09 +0000 Subject: [PATCH] Bug [0000111] Accounts on Credit Hold can still process delivery notes on sales order and invoicing. --- CHANGELOG.txt | 6 +++++ sales/customer_delivery.php | 8 +++++++ sales/customer_invoice.php | 9 +++++++ sales/includes/ui/sales_order_ui.inc | 36 +++++++++++++++------------- 4 files changed, 42 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 95a39e31..1fc3b204 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -19,6 +19,12 @@ Legend: ! -> Note $ -> Affected files +13-Jan-2009 Joe Hunt +# Bug [0000111] Accounts on Credit Hold can still process delivery notes on sales order and invoicing. +$ /sales/customer_delivery.php + /sales/customer_invoice.php + /sales/includes/ui/sales_order_ui.inc + 08-Jan-2009 Janusz Dobrowolski # Numeric check on class id added. $ /gl/manage/gl_account_classes.php diff --git a/sales/customer_delivery.php b/sales/customer_delivery.php index 6de7f08a..0909fd3c 100644 --- a/sales/customer_delivery.php +++ b/sales/customer_delivery.php @@ -360,6 +360,14 @@ end_table(); echo ""; end_table(1); // outer table +$row = get_customer_to_order($_SESSION['Items']->customer_id); +if ($row['dissallow_invoices'] == 1) +{ + display_error(_("The selected customer account is currently on hold. Please contact the credit control personnel to discuss.")); + end_form(); + end_page(); + exit(); +} display_heading(_("Delivery Items")); div_start('Items'); start_table("$table_style width=80%"); diff --git a/sales/customer_invoice.php b/sales/customer_invoice.php index a903b927..5c0b5121 100644 --- a/sales/customer_invoice.php +++ b/sales/customer_invoice.php @@ -349,6 +349,15 @@ date_cells(_("Due Date"), 'due_date', '', $_POST['due_date'], 0, 0, 0, "class='t end_row(); end_table(); +$row = get_customer_to_order($_SESSION['Items']->customer_id); +if ($row['dissallow_invoices'] == 1) +{ + display_error(_("The selected customer account is currently on hold. Please contact the credit control personnel to discuss.")); + end_form(); + end_page(); + exit(); +} + display_heading(_("Invoice Items")); div_start('Items'); diff --git a/sales/includes/ui/sales_order_ui.inc b/sales/includes/ui/sales_order_ui.inc index e9fd0a8f..997e2dd9 100644 --- a/sales/includes/ui/sales_order_ui.inc +++ b/sales/includes/ui/sales_order_ui.inc @@ -182,24 +182,26 @@ function display_order_header(&$order, $editable, $date_text, $display_tax_group customer_branches_list_row(_("Branch:"), $_POST['customer_id'], 'branch_id', null, false, true, true); - if( ($order->customer_id != get_post('customer_id', -1)) || + $customer_error = get_customer_details_to_order($order, $_POST['customer_id'], $_POST['branch_id']); + if( ($order->customer_id != get_post('customer_id', -1)) || ($order->Branch != get_post('branch_id', -1)) || - list_updated('customer_id')) { - - if (!isset($_POST['branch_id']) || $_POST['branch_id'] == "") + list_updated('customer_id')) { - // ignore errors on customer search box call - if ($_POST['customer_id'] == '') - $customer_error = _("No customer found for entered text."); + + if (!isset($_POST['branch_id']) || $_POST['branch_id'] == "") + { + // ignore errors on customer search box call + if ($_POST['customer_id'] == '') + $customer_error = _("No customer found for entered text."); + else + $customer_error = _("The selected customer does not have any branches. Please create at least one branch."); + unset($_POST['branch_id']); + $order->Branch = 0; + } else - $customer_error = _("The selected customer does not have any branches. Please create at least one branch."); - unset($_POST['branch_id']); - $order->Branch = 0; - } else - { + { $old_order = (PHP_VERSION<5) ? $order : clone( $order ); - $customer_error = get_customer_details_to_order($order, $_POST['customer_id'], $_POST['branch_id']); $_POST['Location'] = $order->Location; $_POST['deliver_to'] = $order->deliver_to; @@ -217,17 +219,17 @@ function display_order_header(&$order, $editable, $date_text, $display_tax_group // change prices if necessary // what about discount in template case? if ($old_order->customer_currency != $order->customer_currency) { - $change_prices = 1; + $change_prices = 1; } if ($old_order->sales_type != $order->sales_type) { // || $old_order->default_discount!=$order->default_discount $_POST['sales_type'] = $order->sales_type; - $Ajax->activate('sales_type'); - $change_prices = 1; + $Ajax->activate('sales_type'); + $change_prices = 1; } unset($old_order); } - set_global_customer($_POST['customer_id']); + set_global_customer($_POST['customer_id']); } // changed branch } -- 2.30.2