Child sales document preparation moved to cart class.
authorJanusz Dobrowolski <janusz@frontaccounting.eu>
Fri, 21 Jan 2011 14:42:41 +0000 (14:42 +0000)
committerJanusz Dobrowolski <janusz@frontaccounting.eu>
Fri, 21 Jan 2011 14:42:41 +0000 (14:42 +0000)
sales/customer_credit_invoice.php
sales/customer_delivery.php
sales/customer_invoice.php
sales/includes/cart_class.inc
sales/sales_order_entry.php

index 26103493f8efb4d3971e424e50581f54883e04f6..a88cdabed2aab5159d5070c458a9aa392b9bd28e 100644 (file)
@@ -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_no<count($ci->line_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()) {
index ee19660c95aef179f922430fe509dfa8a4cac48b..d8545523a328740e4447db2dea9ed5aec61415fa 100644 (file)
@@ -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 ("<br><b>" . _("This order has no items. There is nothing to delivery.") . "</b>");
        }
 
-       $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",
index 560ea687c582334bba89c7bde5a0acb015346d4c..071b3946f40dad3f095ecec28f20b5db3dde80de 100644 (file)
@@ -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 ("<br><b>" . _("There are no delivered items with a quantity left to invoice. There is nothing left to invoice.") . "</b>");
        }
 
-       $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();
 
index 286f9f373dcd89642d3f9f8ffe2e1eb8849177a1..002cde827de5e45bfdc7c7627fbdef5a87feb54a 100644 (file)
@@ -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;
index 08e8e7d6bd67b267c43ce204479f60f1bb627636..63ff122c0f1459f6c6aceefe9d3c97c80b3a5cb0 100644 (file)
@@ -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;
        }