Allow reuse of references previously used on voided documents.
[fa-stable.git] / purchasing / includes / ui / po_ui.inc
index 7661fb9a1eb7f36b5d1ac1ac9470a70f3fc33329..6f50643fe33f20eeef969d3b502288eba56d916b 100644 (file)
@@ -42,12 +42,20 @@ function copy_to_cart()
 
 function get_supplier_details_to_order(&$order, $supplier_id)
 {
-       $sql = "SELECT curr_code,supp_name FROM ".TB_PREF."suppliers
-               WHERE supplier_id = '$supplier_id'";
+       $sql = "SELECT curr_code, supp_name, tax_group_id,
+                       supp.credit_limit - Sum(IFNULL(IF(trans.type=".ST_SUPPCREDIT.", -1, 1) 
+                               * (ov_amount + ov_gst + ov_discount),0)) as cur_credit
+               FROM ".TB_PREF."suppliers supp
+                        LEFT JOIN ".TB_PREF."supp_trans trans ON supp.supplier_id = trans.supplier_id
+               WHERE supp.supplier_id = '$supplier_id'
+               GROUP BY
+                         supp.supp_name";
+
        $result = db_query($sql, "The supplier details could not be retreived");
 
        $myrow = db_fetch($result);
-
+       $order->credit = $myrow["cur_credit"];
+       $order->tax_group_id = $myrow["tax_group_id"];
        $order->curr_code = $_POST['curr_code'] = $myrow["curr_code"];
        $order->supplier_name = $_POST['supplier_name'] = $myrow["supp_name"];
        $order->supplier_id = $_POST['supplier_id'] = $supplier_id;
@@ -83,11 +91,11 @@ function create_new_po($trans_type, $trans_no)
 
 function display_po_header(&$order)
 {
-       global $table_style2, $Ajax, $Refs;
+       global $Ajax, $Refs;
 
        $editable = ($order->order_no == 0);
 
-       start_outer_table("width=80% $table_style2");
+       start_outer_table(TABLESTYLE2, "width=80%");
 
        table_section(1);
     if ($editable)
@@ -104,12 +112,15 @@ function display_po_header(&$order)
     }
 
        if ($order->supplier_id != get_post('supplier_id',-1)) {
+               $old_supp = $order->supplier_id;
                get_supplier_details_to_order($order, $_POST['supplier_id']);
                // supplier default price update
                foreach ($order->line_items as $line_no=>$item) {
                        $line = &$order->line_items[$line_no];
-                       $line->price =  get_purchase_price ($order->supplier_id, $_POST['stock_id']);
-                       $line->quantity =  get_purchase_conversion_factor ($order->supplier_id, $_POST['stock_id']);
+                       $line->price =  get_purchase_price ($order->supplier_id, $line->stock_id);
+                       $line->quantity =
+                               $line->quantity/get_purchase_conversion_factor ($old_supp, $line->stock_id)
+                                       *get_purchase_conversion_factor ($order->supplier_id, $line->stock_id);
                }
            $Ajax->activate('items_table');
        }
@@ -122,6 +133,10 @@ function display_po_header(&$order)
                        $_POST['OrderDate']);
        }
 
+       supplier_credit_row($order->supplier_id, $order->credit);
+
+       table_section(2);
+
     if ($editable)
     {
        ref_row(_("Reference:"), 'ref');
@@ -132,8 +147,6 @@ function display_po_header(&$order)
        label_row(_("Reference:"), $order->reference);
     }
 
-       table_section(2);
-
        // check this out?????????
        //if (!isset($_POST['OrderDate']) || $_POST['OrderDate'] == "")
        //      $_POST['OrderDate'] = $order->orig_order_date;
@@ -187,12 +200,10 @@ function display_po_header(&$order)
 
 function display_po_items(&$order, $editable=true)
 {
-       global $table_style;
-
     display_heading(_("Order Items"));
 
     div_start('items_table');
-    start_table("$table_style width=80%");
+    start_table(TABLESTYLE, "width=80%");
 
        $th = array(_("Item Code"), _("Item Description"), _("Quantity"),
                _("Received"), _("Unit"),
@@ -254,8 +265,7 @@ function display_po_items(&$order, $editable=true)
 
 function display_po_summary(&$po, $is_self=false, $editable=false)
 {
-       global $table_style;
-    start_table("$table_style width=90%");
+    start_table(TABLESTYLE, "width=90%");
 
     start_row();
     label_cells(_("Reference"), $po->reference, "class='tableheader2'");