0002615: Rerun. voiding an allocated currency invoice doesn't clear FX account
[fa-stable.git] / sales / includes / ui / sales_order_ui.inc
index 9cb6c363e0a9ffd2c6ffd0432c942f8efb14d002..2af450093abb0b65674e65a839d28c378db532cd 100644 (file)
@@ -159,7 +159,8 @@ function display_order_summary($title, &$order, $editable_items=false)
 
        $id = find_submit('Edit');
        $has_marked = false;
-       foreach ($order->line_items as $line_no=>$stock_item)
+
+       foreach ($order->get_items() as $line_no=>$stock_item)
        {
 
                $line_total = round($stock_item->qty_dispatched * $stock_item->price * (1 - $stock_item->discount_percent),
@@ -168,7 +169,8 @@ function display_order_summary($title, &$order, $editable_items=false)
                $qoh_msg = '';
                if (!$editable_items || $id != $line_no)
                {
-                       if (!$SysPrefs->allow_negative_stock() && is_inventory_item($stock_item->stock_id)) {
+                       if (!$SysPrefs->allow_negative_stock() && is_inventory_item($stock_item->stock_id) && 
+                               $order->trans_type != ST_SALESORDER && $order->trans_type!=ST_SALESQUOTE) {
                                $qoh = get_qoh_on_date($stock_item->stock_id, 
                                        $_POST['Location'], $_POST['delivery_date']);
                                if (($stock_item->qty_dispatched -$stock_item->qty_done) > $qoh)
@@ -370,7 +372,6 @@ function display_order_header(&$order, $editable, $date_text)
                        $row = get_customer_to_order($_POST['customer_id']);
                        if ($row['dissallow_invoices'] == 1)
                                $customer_error = _("The selected customer account is currently on hold. Please contact the credit control personnel to discuss.");
-               
                }
        }
 
@@ -378,10 +379,10 @@ function display_order_header(&$order, $editable, $date_text)
 
        table_section(2);
 
-       if (!is_company_currency($order->customer_currency))
+       if (!is_company_currency($order->customer_currency) && in_array($order->trans_type, array(ST_SALESINVOICE, ST_CUSTDELIVERY)))
        {
                label_row(_("Customer Currency:"), $order->customer_currency);
-               exchange_rate_display($order->customer_currency, get_company_currency(),
+               exchange_rate_display(get_company_currency(), $order->customer_currency,
                        ($editable ? $_POST['OrderDate'] : $order->document_date));
        }
 
@@ -518,7 +519,7 @@ function sales_order_item_controls(&$order, &$rowcounter, $line_no=-1)
        }
        else    // prepare new line
        {
-               sales_items_list_cells(null,'stock_id', null, false, true);
+               sales_items_list_cells(null,'stock_id', null, false, true, true);
                if (list_updated('stock_id')) {
                            $Ajax->activate('price');
                            $Ajax->activate('units');