From 96b561deffedbb90eec31d0addd5a9ab8ea295ba Mon Sep 17 00:00:00 2001 From: Janusz Dobrowolski Date: Fri, 21 Jan 2011 14:42:41 +0000 Subject: [PATCH] Child sales document preparation moved to cart class. --- sales/customer_credit_invoice.php | 17 ++--------------- sales/customer_delivery.php | 14 +------------- sales/customer_invoice.php | 7 +------ sales/includes/cart_class.inc | 20 +++++++++----------- sales/sales_order_entry.php | 14 +++++--------- 5 files changed, 18 insertions(+), 54 deletions(-) diff --git a/sales/customer_credit_invoice.php b/sales/customer_credit_invoice.php index 2610349..a88cdab 100644 --- a/sales/customer_credit_invoice.php +++ b/sales/customer_credit_invoice.php @@ -124,25 +124,12 @@ function can_process() if (isset($_GET['InvoiceNumber']) && $_GET['InvoiceNumber'] > 0) { - $ci = new Cart(ST_SALESINVOICE, $_GET['InvoiceNumber'], true); - - $ci->trans_type = ST_CUSTCREDIT; - $ci->src_docs = $ci->trans_no; - $ci->src_date = $ci->document_date; - $ci->trans_no = 0; - $ci->document_date = new_doc_date(); - $ci->reference = $Refs->get_next(ST_CUSTCREDIT); - - for ($line_no=0; $line_noline_items); $line_no++) { - $ci->line_items[$line_no]->qty_dispatched = '0'; - } - - $_SESSION['Items'] = $ci; + $_SESSION['Items'] = new Cart(ST_SALESINVOICE, $_GET['InvoiceNumber'], true); copy_from_cart(); } elseif ( isset($_GET['ModifyCredit']) && $_GET['ModifyCredit']>0) { - $_SESSION['Items'] = new Cart(ST_CUSTCREDIT,$_GET['ModifyCredit']); + $_SESSION['Items'] = new Cart(ST_CUSTCREDIT, $_GET['ModifyCredit']); copy_from_cart(); } elseif (!processing_active()) { diff --git a/sales/customer_delivery.php b/sales/customer_delivery.php index ee19660..d854552 100644 --- a/sales/customer_delivery.php +++ b/sales/customer_delivery.php @@ -89,30 +89,18 @@ if (isset($_GET['OrderNumber']) && $_GET['OrderNumber'] > 0) { $ord = new Cart(ST_SALESORDER, $_GET['OrderNumber'], true); - /*read in all the selected order into the Items cart */ - if ($ord->count_items() == 0) { hyperlink_params($path_to_root . "/sales/inquiry/sales_orders_view.php", _("Select a different sales order to delivery"), "OutstandingOnly=1"); die ("
" . _("This order has no items. There is nothing to delivery.") . ""); } - $ord->trans_type = ST_CUSTDELIVERY; - $ord->src_docs = $ord->trans_no; - $ord->order_no = key($ord->trans_no); - $ord->trans_no = 0; - $ord->reference = $Refs->get_next(ST_CUSTDELIVERY); - $ord->document_date = new_doc_date(); - $cust = get_customer($ord->customer_id); - // 2010-09-03 Joe Hunt - $ord->dimension_id = $cust['dimension_id']; - $ord->dimension2_id = $cust['dimension2_id']; $_SESSION['Items'] = $ord; copy_from_cart(); } elseif (isset($_GET['ModifyDelivery']) && $_GET['ModifyDelivery'] > 0) { - $_SESSION['Items'] = new Cart(ST_CUSTDELIVERY,$_GET['ModifyDelivery']); + $_SESSION['Items'] = new Cart(ST_CUSTDELIVERY, $_GET['ModifyDelivery']); if ($_SESSION['Items']->count_items() == 0) { hyperlink_params($path_to_root . "/sales/inquiry/sales_orders_view.php", diff --git a/sales/customer_invoice.php b/sales/customer_invoice.php index 560ea68..071b394 100644 --- a/sales/customer_invoice.php +++ b/sales/customer_invoice.php @@ -110,6 +110,7 @@ if ( (isset($_GET['DeliveryNumber']) && ($_GET['DeliveryNumber'] > 0) ) } else { $src = array($_GET['DeliveryNumber']); } + /*read in all the selected deliveries into the Items cart */ $dn = new Cart(ST_CUSTDELIVERY, $src, true); @@ -119,12 +120,6 @@ if ( (isset($_GET['DeliveryNumber']) && ($_GET['DeliveryNumber'] > 0) ) die ("
" . _("There are no delivered items with a quantity left to invoice. There is nothing left to invoice.") . ""); } - $dn->trans_type = ST_SALESINVOICE; - $dn->src_docs = $dn->trans_no; - $dn->trans_no = 0; - $dn->reference = $Refs->get_next(ST_SALESINVOICE); - $dn->due_date = get_invoice_duedate($dn->payment, $dn->document_date); - $_SESSION['Items'] = $dn; copy_from_cart(); diff --git a/sales/includes/cart_class.inc b/sales/includes/cart_class.inc index 286f9f3..002cde8 100644 --- a/sales/includes/cart_class.inc +++ b/sales/includes/cart_class.inc @@ -116,9 +116,12 @@ class cart } unset($line); - if ($type == ST_CUSTDELIVERY) + if ($type == ST_CUSTDELIVERY) { $this->order_no = key($this->trans_no); - + $cust = get_customer($this->customer_id); + $this->dimension_id = $cust['dimension_id']; + $this->dimension2_id = $cust['dimension2_id']; + } if ($type == ST_SALESINVOICE) { $this->due_date = get_invoice_duedate($this->payment, $this->document_date); } @@ -167,7 +170,7 @@ class cart //------------------------------------------------------------------------- // Reading document into cart // - function read($type, $trans_no = 0, $no_edit=false) { + function read($type, $trans_no = 0, $prep_child=false) { global $SysPrefs, $Refs; @@ -186,18 +189,13 @@ class cart $this->delivery_to = $sodata["deliver_to"]; $this->delivery_address = $sodata["delivery_address"]; // child transaction reedition - update with parent info unless it is freehand - if (!$no_edit) + if ($prep_child) $this->set_parent_constraints($sodata, $trans_no[0]); } } // prepare qtys for derivative document entry (not used in display) - if($no_edit) { - for($line_no = 0; $line_no < count($this->line_items); $line_no++) { - $line = &$this->line_items[$line_no]; - $line->src_id = $line->id; // save src line ids for update - $line->qty_dispatched = $line->quantity - $line->qty_done; - } - } + if ($prep_child) + $this->prepare_child(); } else { // new document $this->trans_type = $type; $this->trans_no = 0; diff --git a/sales/sales_order_entry.php b/sales/sales_order_entry.php index 08e8e7d..63ff122 100644 --- a/sales/sales_order_entry.php +++ b/sales/sales_order_entry.php @@ -237,7 +237,7 @@ function copy_to_cart() $cart->Comments = $_POST['Comments']; $cart->document_date = $_POST['OrderDate']; -// if ($cart->trans_type == ST_SALESINVOICE) { + if (isset($_POST['payment']) && ($cart->payment != $_POST['payment'])) { $cart->payment = $_POST['payment']; $cart->payment_terms = get_payment_terms($_POST['payment']); @@ -247,7 +247,7 @@ function copy_to_cart() $cart->phone = $cart->cust_ref = $cart->delivery_address = ''; $cart->freight_cost = input_num('freight_cost'); $cart->ship_via = 1; - $cart->deliver_to = '';//$_POST['deliver_to']; + $cart->deliver_to = ''; } else { $cart->due_date = $_POST['delivery_date']; $cart->cust_ref = $_POST['cust_ref']; @@ -265,7 +265,7 @@ function copy_to_cart() $cart->customer_id = $_POST['customer_id']; $cart->Branch = $_POST['branch_id']; $cart->sales_type = $_POST['sales_type']; - // POS + if ($cart->trans_type!=ST_SALESORDER && $cart->trans_type!=ST_SALESQUOTE) { // 2008-11-12 Joe Hunt $cart->dimension_id = $_POST['dimension_id']; $cart->dimension2_id = $_POST['dimension2_id']; @@ -354,7 +354,7 @@ function can_process() { } - if (strlen($_POST['delivery_address']) <= 1) { + if ($_SESSION['Items']->trans_type != ST_SALESQUOTE && strlen($_POST['delivery_address']) <= 1) { display_error( _("You should enter the street address in the box provided. Orders cannot be accepted without a valid street address.")); set_focus('delivery_address'); return false; @@ -587,11 +587,7 @@ function create_cart($type, $trans_no) if (isset($_GET['NewQuoteToSalesOrder'])) { $trans_no = $_GET['NewQuoteToSalesOrder']; - $doc = new Cart(ST_SALESQUOTE, $trans_no); - $doc->trans_no = 0; - $doc->trans_type = ST_SALESORDER; - $doc->reference = $Refs->get_next($doc->trans_type); - $doc->document_date = $doc->due_date = new_doc_date(); + $doc = new Cart(ST_SALESQUOTE, $trans_no, true); $doc->Comments = _("Sales Quotation") . " # " . $trans_no; $_SESSION['Items'] = $doc; } -- 2.30.2