Merging version 2.1 RC to main trunk.
[fa-stable.git] / sales / view / view_sales_order.php
index a1b638621e475ffc0ff3efb63e73f2429321d925..77d411751759567650bc5fa7142d7be51636746b 100644 (file)
@@ -1,5 +1,14 @@
 <?php
-
+/**********************************************************************
+    Copyright (C) FrontAccounting, LLC.
+       Released under the terms of the GNU General Public License, GPL, 
+       as published by the Free Software Foundation, either version 3 
+       of the License, or (at your option) any later version.
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
+    See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
+***********************************************************************/
 $page_security = 2;
 $path_to_root="../..";
 include_once($path_to_root . "/sales/includes/cart_class.inc");
@@ -16,56 +25,87 @@ if ($use_popup_windows)
 
 page(_("View Sales Order"), true, false, "", $js);
 
-display_heading(_("Sales Order") . " #" . $_GET['trans_no']);
+display_heading(sprintf(_("Sales Order #%d"),$_GET['trans_no']));
 
-if (isset($_SESSION['Items']))
+if (isset($_SESSION['View']))
 {
-       unset ($_SESSION['Items']);
+       unset ($_SESSION['View']);
 }
 
-$_SESSION['Items'] = new cart;
-
-/*read in all the selected order into the Items cart  */
-read_sales_order($_GET['trans_no'], $_SESSION['Items']);
+$_SESSION['View'] = new Cart(30, $_GET['trans_no'], true);
 
 start_table("$table_style2 width=95%", 5);
 echo "<tr valign=top><td>";
 display_heading2(_("Order Information"));
 echo "</td><td>";
-display_heading2(_("Sales Invoices"));
+display_heading2(_("Deliveries"));
 echo "</td><td>";
-display_heading2(_("Credit Notes"));
+display_heading2(_("Invoices/Credits"));
 echo "</td></tr>";
 
 echo "<tr valign=top><td>";
 
 start_table("$table_style width=95%");
-label_row(_("Customer Name"), $_SESSION['Items']->customer_name, "class='tableheader2'",
+label_row(_("Customer Name"), $_SESSION['View']->customer_name, "class='tableheader2'",
        "colspan=3");
-start_row();   
-label_cells(_("Customer Order Ref."), $_SESSION['Items']->cust_ref, "class='tableheader2'");
-label_cells(_("Deliver To Branch"), $_SESSION['Items']->deliver_to, "class='tableheader2'");
+start_row();
+label_cells(_("Customer Order Ref."), $_SESSION['View']->cust_ref, "class='tableheader2'");
+label_cells(_("Deliver To Branch"), $_SESSION['View']->deliver_to, "class='tableheader2'");
 end_row();
 start_row();
-label_cells(_("Ordered On"), $_SESSION['Items']->orig_order_date, "class='tableheader2'");
-label_cells(_("Requested Delivery"), $_SESSION['Items']->delivery_date, "class='tableheader2'");
+label_cells(_("Ordered On"), $_SESSION['View']->document_date, "class='tableheader2'");
+label_cells(_("Requested Delivery"), $_SESSION['View']->due_date, "class='tableheader2'");
 end_row();
 start_row();
-label_cells(_("Order Currency"), $_SESSION['Items']->customer_currency, "class='tableheader2'");
-label_cells(_("Deliver From Location"), $_SESSION['Items']->location_name, "class='tableheader2'");
+label_cells(_("Order Currency"), $_SESSION['View']->customer_currency, "class='tableheader2'");
+label_cells(_("Deliver From Location"), $_SESSION['View']->location_name, "class='tableheader2'");
 end_row();
 
-label_row(_("Delivery Address"), nl2br($_SESSION['Items']->delivery_address), 
+label_row(_("Delivery Address"), nl2br($_SESSION['View']->delivery_address),
        "class='tableheader2'", "colspan=3");
-label_row(_("Telephone"), $_SESSION['Items']->phone, "class='tableheader2'", "colspan=3");
-label_row(_("E-mail"), "<a href='mailto:" . $_SESSION['Items']->email . "'>" . $_SESSION['Items']->email . "</a>",
+label_row(_("Telephone"), $_SESSION['View']->phone, "class='tableheader2'", "colspan=3");
+label_row(_("E-mail"), "<a href='mailto:" . $_SESSION['View']->email . "'>" . $_SESSION['View']->email . "</a>",
        "class='tableheader2'", "colspan=3");
-label_row(_("Comments"), $_SESSION['Items']->Comments, "class='tableheader2'", "colspan=3");
+label_row(_("Comments"), $_SESSION['View']->Comments, "class='tableheader2'", "colspan=3");
 end_table();
 
 echo "</td><td valign='top'>";
 
 start_table($table_style);
+display_heading2(_("Delivery Notes"));
+
+$th = array(_("#"), _("Ref"), _("Date"), _("Total"));
+table_header($th);
+
+$sql = "SELECT * FROM ".TB_PREF."debtor_trans WHERE type=13 AND order_=" . $_GET['trans_no'];
+$result = db_query($sql,"The related delivery notes could not be retreived");
+
+$delivery_total = 0;
+$k = 0;
+
+while ($del_row = db_fetch($result))
+{
+
+       alt_table_row_color($k);
+
+       $this_total = $del_row["ov_freight"]+ $del_row["ov_amount"] + $del_row["ov_freight_tax"]  + $del_row["ov_gst"] ;
+       $delivery_total += $this_total;
+
+       label_cell(get_customer_trans_view_str($del_row["type"], $del_row["trans_no"]));
+       label_cell($del_row["reference"]);
+       label_cell(sql2date($del_row["tran_date"]));
+       amount_cell($this_total);
+       end_row();
+
+}
+
+label_row(null, price_format($delivery_total), "", "colspan=4 align=right");
+
+end_table();
+echo "</td><td valign='top'>";
+
+start_table($table_style);
+display_heading2(_("Sales Invoices"));
 
 $th = array(_("#"), _("Ref"), _("Date"), _("Total"));
 table_header($th);
@@ -76,12 +116,12 @@ $result = db_query($sql,"The related invoices could not be retreived");
 $invoices_total = 0;
 $k = 0;
 
-while ($inv_row = db_fetch($result)) 
+while ($inv_row = db_fetch($result))
 {
 
        alt_table_row_color($k);
 
-       $this_total = $inv_row["ov_freight"] + $inv_row["ov_gst"] + $inv_row["ov_amount"];
+       $this_total = $inv_row["ov_freight"] + $inv_row["ov_freight_tax"]  + $inv_row["ov_gst"] + $inv_row["ov_amount"];
        $invoices_total += $this_total;
 
        label_cell(get_customer_trans_view_str($inv_row["type"], $inv_row["trans_no"]));
@@ -92,11 +132,12 @@ while ($inv_row = db_fetch($result))
 
 }
 
-label_row(null, number_format2($invoices_total,user_price_dec()), "", "colspan=4 align=right");
+label_row(null, price_format($invoices_total), "", "colspan=4 align=right");
 
 end_table();
 
-echo "</td><td valign='top'>";
+display_heading2(_("Credit Notes"));
+
 start_table($table_style);
 $th = array(_("#"), _("Ref"), _("Date"), _("Total"));
 table_header($th);
@@ -107,12 +148,12 @@ $result = db_query($sql,"The related credit notes could not be retreived");
 $credits_total = 0;
 $k = 0;
 
-while ($credits_row = db_fetch($result)) 
+while ($credits_row = db_fetch($result))
 {
 
        alt_table_row_color($k);
 
-       $this_total = $credits_row["ov_freight"] + $credits_row["ov_gst"] + $credits_row["ov_amount"];
+       $this_total = $credits_row["ov_freight"] + $credits_row["ov_freight_tax"]  + $credits_row["ov_gst"] + $credits_row["ov_amount"];
        $credits_total += $this_total;
 
        label_cell(get_customer_trans_view_str($credits_row["type"], $credits_row["trans_no"]));
@@ -123,7 +164,7 @@ while ($credits_row = db_fetch($result))
 
 }
 
-label_row(null, "<font color=red>" . number_format2(-$credits_total,user_price_dec()) . "</font>",
+label_row(null, "<font color=red>" . price_format(-$credits_total) . "</font>",
        "", "colspan=4 align=right");
 
 
@@ -143,31 +184,33 @@ table_header($th);
 
 $k = 0;  //row colour counter
 
-foreach ($_SESSION['Items']->line_items as $stock_item) {
+foreach ($_SESSION['View']->line_items as $stock_item) {
 
-       $line_total =   $stock_item->quantity * $stock_item->price * (1 - $stock_item->discount_percent);
+       $line_total = round2($stock_item->quantity * $stock_item->price * (1 - $stock_item->discount_percent),
+          user_price_dec());
 
        alt_table_row_color($k);
 
        label_cell($stock_item->stock_id);
        label_cell($stock_item->item_description);
-       qty_cell($stock_item->quantity);
+       $dec = get_qty_dec($stock_item->stock_id);
+       qty_cell($stock_item->quantity, false, $dec);
        label_cell($stock_item->units);
        amount_cell($stock_item->price);
        amount_cell($stock_item->discount_percent * 100);
        amount_cell($line_total);
-       
-       qty_cell($stock_item->qty_inv);
+
+       qty_cell($stock_item->qty_done, false, $dec);
        end_row();
 }
 
-$items_total = $_SESSION['Items']->get_items_total();
+$items_total = $_SESSION['View']->get_items_total();
 
-$display_total = number_format2($items_total + $_SESSION['Items']->freight_cost,user_price_dec());
+$display_total = price_format($items_total + $_SESSION['View']->freight_cost);
 
-label_row(_("Shipping"), number_format2($_SESSION['Items']->freight_cost,user_price_dec()),
+label_row(_("Shipping"), price_format($_SESSION['View']->freight_cost),
        "align=right colspan=6", "nowrap align=right");
-label_row(_("Total Excluding Tax"), $display_total, "align=right colspan=6",
+label_row(_("Total Order Value"), $display_total, "align=right colspan=6",
        "nowrap align=right");
 
 end_table(2);