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()) {
$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",
} else {
$src = array($_GET['DeliveryNumber']);
}
+
/*read in all the selected deliveries into the Items cart */
$dn = new Cart(ST_CUSTDELIVERY, $src, true);
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();
}
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);
}
//-------------------------------------------------------------------------
// 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;
$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;
$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']);
$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'];
$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'];
}
- 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;
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;
}