<?php
-
-$page_security = 2;
-$path_to_root="../..";
+/**********************************************************************
+ 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 = 'SA_SALESTRANSVIEW';
+$path_to_root = "../..";
include_once($path_to_root . "/sales/includes/cart_class.inc");
include_once($path_to_root . "/includes/session.inc");
include_once($path_to_root . "/sales/includes/sales_db.inc");
$js = "";
-if ($use_popup_windows)
+if ($SysPrefs->use_popup_windows)
$js .= get_js_open_window(900, 600);
-page(_("View Sales Order"), true, false, "", $js);
-
-display_heading(sprintf(_("Sales Order #%d"),$_GET['trans_no']));
+if ($_GET['trans_type'] == ST_SALESQUOTE)
+{
+ page(_($help_context = "View Sales Quotation"), true, false, "", $js);
+ display_heading(sprintf(_("Sales Quotation #%d"),$_GET['trans_no']));
+}
+else
+{
+ page(_($help_context = "View Sales Order"), true, false, "", $js);
+ 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(30, $_GET['trans_no'], true);
+$_SESSION['View'] = new Cart($_GET['trans_type'], $_GET['trans_no']);
-start_table("$table_style2 width=95%", 5);
-echo "<tr valign=top><td>";
-display_heading2(_("Order Information"));
-echo "</td><td>";
-display_heading2(_("Deliveries"));
-echo "</td><td>";
-display_heading2(_("Invoices/Credits"));
-echo "</td></tr>";
+start_table(TABLESTYLE2, "width='95%'", 5);
+
+if ($_GET['trans_type'] != ST_SALESQUOTE)
+{
+ echo "<tr valign=top><td>";
+ display_heading2(_("Order Information"));
+ echo "</td><td>";
+ display_heading2(_("Deliveries"));
+ echo "</td><td>";
+ 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'",
+start_table(TABLESTYLE, "width='95%'");
+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'");
+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['View']->document_date, "class='tableheader2'");
+if ($_GET['trans_type'] == ST_SALESQUOTE)
+ label_cells(_("Valid until"), $_SESSION['View']->due_date, "class='tableheader2'");
+else
+ label_cells(_("Requested Delivery"), $_SESSION['View']->due_date, "class='tableheader2'");
+end_row();
+start_row();
+label_cells(_("Order Currency"), $_SESSION['View']->customer_currency, "class='tableheader2'");
+label_cells(_("Deliver From Location"), $_SESSION['View']->location_name, "class='tableheader2'");
end_row();
+
+
+if ($_SESSION['View']->payment_terms['days_before_due']<0)
+{
start_row();
-label_cells(_("Ordered On"), $_SESSION['Items']->document_date, "class='tableheader2'");
-label_cells(_("Requested Delivery"), $_SESSION['Items']->due_date, "class='tableheader2'");
+label_cells(_("Payment Terms"), $_SESSION['View']->payment_terms['terms'], "class='tableheader2'");
+label_cells(_("Required Pre-Payment"), price_format($_SESSION['View']->prep_amount), "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(_("Non-Invoiced Prepayments"), price_format($_SESSION['View']->alloc), "class='tableheader2'");
+label_cells(_("All Payments Allocated"), price_format($_SESSION['View']->sum_paid), "class='tableheader2'");
end_row();
+} else
+ label_row(_("Payment Terms"), $_SESSION['View']->payment_terms['terms'], "class='tableheader2'", "colspan=3");
-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(_("Reference"), $_SESSION['View']->reference, "class='tableheader2'", "colspan=3");
+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"), nl2br($_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))
+if ($_GET['trans_type'] != ST_SALESQUOTE)
{
+ echo "</td><td valign='top'>";
- 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;
+ start_table(TABLESTYLE);
+ display_heading2(_("Delivery Notes"));
- 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();
-}
+ $th = array(_("#"), _("Ref"), _("Date"), _("Total"));
+ table_header($th);
-label_row(null, price_format($delivery_total), "", "colspan=4 align=right");
+ $dn_numbers = array();
+ $delivery_total = 0;
-end_table();
-echo "</td><td valign='top'>";
+ if ($result = get_sales_child_documents(ST_SALESORDER, $_GET['trans_no'])) {
-start_table($table_style);
-display_heading2(_("Sales Invoices"));
+ $k = 0;
+ while ($del_row = db_fetch($result))
+ {
-$th = array(_("#"), _("Ref"), _("Date"), _("Total"));
-table_header($th);
+ alt_table_row_color($k);
+ $dn_numbers[] = $del_row["trans_no"];
+ $this_total = $del_row["ov_freight"]+ $del_row["ov_amount"] + $del_row["ov_freight_tax"] + $del_row["ov_gst"] ;
+ $delivery_total += $this_total;
-$sql = "SELECT * FROM ".TB_PREF."debtor_trans WHERE type=10 AND order_=" . $_GET['trans_no'];
-$result = db_query($sql,"The related invoices could not be retreived");
+ 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();
+ }
+ }
-$invoices_total = 0;
-$k = 0;
+ label_row(null, price_format($delivery_total), " ", "colspan=4 align=right");
-while ($inv_row = db_fetch($result))
-{
+ end_table();
+ echo "</td><td valign='top'>";
- alt_table_row_color($k);
+ start_table(TABLESTYLE);
+ display_heading2(_("Sales Invoices"));
- $this_total = $inv_row["ov_freight"] + $inv_row["ov_freight_tax"] + $inv_row["ov_gst"] + $inv_row["ov_amount"];
- $invoices_total += $this_total;
+ $th = array(_("#"), _("Ref"), _("Date"), _("Total"));
+ table_header($th);
+
+ $inv_numbers = array();
+ $invoices_total = 0;
- label_cell(get_customer_trans_view_str($inv_row["type"], $inv_row["trans_no"]));
- label_cell($inv_row["reference"]);
- label_cell(sql2date($inv_row["tran_date"]));
- amount_cell($this_total);
- end_row();
+ if ($_SESSION['View']->prepaid)
+ $result = get_sales_order_invoices($_GET['trans_no']);
+ else
+ $result = get_sales_child_documents(ST_CUSTDELIVERY, $dn_numbers);
-}
+ if ($result) {
+ $k = 0;
-label_row(null, price_format($invoices_total), "", "colspan=4 align=right");
+ while ($inv_row = db_fetch($result))
+ {
+ alt_table_row_color($k);
-end_table();
+ $this_total = $_SESSION['View']->prepaid ? $inv_row["prep_amount"] :
+ $inv_row["ov_freight"] + $inv_row["ov_freight_tax"] + $inv_row["ov_gst"] + $inv_row["ov_amount"];
+ $invoices_total += $this_total;
-display_heading2(_("Credit Notes"));
+ $inv_numbers[] = $inv_row["trans_no"];
+ label_cell(get_customer_trans_view_str($inv_row["type"], $inv_row["trans_no"]));
+ label_cell($inv_row["reference"]);
+ label_cell(sql2date($inv_row["tran_date"]));
+ amount_cell($this_total);
+ end_row();
+ }
+ }
+ label_row(null, price_format($invoices_total), " ", "colspan=4 align=right");
-start_table($table_style);
-$th = array(_("#"), _("Ref"), _("Date"), _("Total"));
-table_header($th);
+ end_table();
-$sql = "SELECT * FROM ".TB_PREF."debtor_trans WHERE type=11 AND order_=" . $_GET['trans_no'];
-$result = db_query($sql,"The related credit notes could not be retreived");
+ display_heading2(_("Credit Notes"));
-$credits_total = 0;
-$k = 0;
+ start_table(TABLESTYLE);
+ $th = array(_("#"), _("Ref"), _("Date"), _("Total"));
+ table_header($th);
-while ($credits_row = db_fetch($result))
-{
+ $credits_total = 0;
- alt_table_row_color($k);
+ if ($result = get_sales_child_documents(ST_SALESINVOICE, $inv_numbers)) {
+ $k = 0;
- $this_total = $credits_row["ov_freight"] + $credits_row["ov_freight_tax"] + $credits_row["ov_gst"] + $credits_row["ov_amount"];
- $credits_total += $this_total;
+ while ($credits_row = db_fetch($result))
+ {
- label_cell(get_customer_trans_view_str($credits_row["type"], $credits_row["trans_no"]));
- label_cell($credits_row["reference"]);
- label_cell(sql2date($credits_row["tran_date"]));
- amount_cell(-$this_total);
- end_row();
+ alt_table_row_color($k);
-}
+ $this_total = $credits_row["ov_freight"] + $credits_row["ov_freight_tax"] + $credits_row["ov_gst"] + $credits_row["ov_amount"];
+ $credits_total += $this_total;
-label_row(null, "<font color=red>" . price_format(-$credits_total) . "</font>",
- "", "colspan=4 align=right");
+ label_cell(get_customer_trans_view_str($credits_row["type"], $credits_row["trans_no"]));
+ label_cell($credits_row["reference"]);
+ label_cell(sql2date($credits_row["tran_date"]));
+ amount_cell(-$this_total);
+ end_row();
+ }
-end_table();
+ }
+ label_row(null, "<font color=red>" . price_format(-$credits_total) . "</font>",
+ " ", "colspan=4 align=right");
-echo "</td></tr>";
+ end_table();
-end_table();
+ echo "</td></tr>";
+ end_table();
+}
echo "<center>";
+if ($_SESSION['View']->so_type == 1)
+ display_note(_("This Sales Order is used as a Template."), 0, 0, "class='currentfg'");
display_heading2(_("Line Details"));
-start_table("colspan=9 width=95% $table_style");
+start_table(TABLESTYLE, "width='95%'");
$th = array(_("Item Code"), _("Item Description"), _("Quantity"), _("Unit"),
_("Price"), _("Discount"), _("Total"), _("Quantity Delivered"));
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 = round2($stock_item->quantity * $stock_item->price * (1 - $stock_item->discount_percent),
user_price_dec());
end_row();
}
-$items_total = $_SESSION['Items']->get_items_total();
+if ($_SESSION['View']->freight_cost != 0.0)
+ label_row(_("Shipping"), price_format($_SESSION['View']->freight_cost),
+ "align=right colspan=6", "nowrap align=right", 1);
+
+$sub_tot = $_SESSION['View']->get_items_total() + $_SESSION['View']->freight_cost;
+
+$display_sub_tot = price_format($sub_tot);
-$display_total = price_format($items_total + $_SESSION['Items']->freight_cost);
+label_row(_("Sub Total"), $display_sub_tot, "align=right colspan=6",
+ "nowrap align=right", 1);
-label_row(_("Shipping"), price_format($_SESSION['Items']->freight_cost),
- "align=right colspan=6", "nowrap align=right");
-label_row(_("Total Order Value"), $display_total, "align=right colspan=6",
- "nowrap align=right");
+$taxes = $_SESSION['View']->get_taxes();
+
+$tax_total = display_edit_tax_items($taxes, 6, $_SESSION['View']->tax_included,2);
+
+$display_total = price_format($sub_tot + $tax_total);
+
+start_row();
+label_cells(_("Amount Total"), $display_total, "colspan=6 align='right'","align='right'");
+label_cell('', "colspan=2");
+end_row();
+end_table();
-end_table(2);
+display_allocations_to(PT_CUSTOMER, $_SESSION['View']->customer_id, $_GET['trans_type'], $_GET['trans_no'], $sub_tot + $tax_total);
-end_page(true);
+end_page(true, false, false, $_GET['trans_type'], $_GET['trans_no']);
-?>