X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=sales%2Fincludes%2Fcart_class.inc;h=7d68e2a4622fc60cfccf6bee5298556fd1c079b5;hb=67100a2b9c55e5ed9126bbf28aafb54d829066df;hp=b4c7f8f5b7c4562cb0a5ad7603b70ade8387edea;hpb=a9d55e1c13cbd6a6305b9322ec8621a06516f9f3;p=fa-stable.git diff --git a/sales/includes/cart_class.inc b/sales/includes/cart_class.inc index b4c7f8f5..7d68e2a4 100644 --- a/sales/includes/cart_class.inc +++ b/sales/includes/cart_class.inc @@ -21,7 +21,7 @@ iv) a delivery note include_once($path_to_root . "/inventory/includes/inventory_db.inc"); include_once($path_to_root . "/taxes/tax_calc.inc"); -class cart +class Cart { var $trans_type; // invoice, order, quotation, delivery note ... var $trans_no = array();// array (num1=>ver1,..) or 0 for new @@ -81,6 +81,8 @@ class cart var $prepayments = array(); // allocation records for this document var $ex_rate; + var $fixed_asset = false; + //------------------------------------------------------------------------- // // $trans_no==0 => open new/direct document @@ -88,7 +90,7 @@ class cart // $trans_no!=0 && $prepare_child==true => prepare for child doc entry // $prepare_child is set to ST_SALESINVOICE for prepayment invoices // - function Cart($type, $trans_no=0, $prepare_child=false) { + function __construct($type, $trans_no=0, $prepare_child=false) { /*Constructor function initialises a new shopping cart */ $this->line_items = array(); $this->sales_type = ""; @@ -216,7 +218,8 @@ class cart read_sales_order($trans_no[0], $this, $type); } else { // other type of sales transaction read_sales_trans($type, $trans_no, $this); - $this->prepayments = get_payments_for($trans_no[0], $type); + $this->prepayments = get_payments_for($trans_no[0], $type, $this->customer_id); + $this->update_payments(); if ($this->order_no) { // free hand credit notes have no order_no $sodata = get_sales_order_header($this->order_no, ST_SALESORDER); $this->cust_ref = $sodata["customer_ref"]; @@ -634,12 +637,12 @@ class cart $remainder = prepaid_invoice_remainder($this->order_no); // recalculate prepaid part from payments - if ($this->payment_terms['days_before_due'] < 0) + if ($this->payment_terms['days_before_due'] == -1) { // this is partial invoice for selected prepayments made. $paid = 0; foreach($this->prepayments as $payment) $paid += $payment['amt']; - $this->prep_amount = min($remainder, $paid); + $this->prep_amount = $this->trans_no ? $paid : min($remainder, $paid); } else // this is final invoice $this->prep_amount = $remainder; } @@ -690,7 +693,7 @@ class line_details var $qty_old = 0; - function line_details ($stock_id, $qty, $prc, $disc_percent, + function __construct($stock_id, $qty, $prc, $disc_percent, $qty_done, $standard_cost, $description, $id=0, $src_no=0, $src_id=0) { /* Constructor function to add a new LineDetail object with passed params */