MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
***********************************************************************/
-$page_security = 1;
-$path_to_root="../..";
+$page_security = 'SA_SALESALLOC';
+$path_to_root = "../..";
include($path_to_root . "/includes/db_pager.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, 500);
-if ($use_date_picker)
+if (user_use_date_picker())
$js .= get_js_date_picker();
-page(_("Customer Allocation Inquiry"), false, false, "", $js);
+page(_($help_context = "Customer Allocation Inquiry"), false, false, "", $js);
if (isset($_GET['customer_id']))
{
if (!isset($_POST['customer_id']))
$_POST['customer_id'] = get_global_customer();
-start_form(false, true);
+start_form();
-start_table("class='tablestyle_noborder'");
+start_table(TABLESTYLE_NOBORDER);
start_row();
customer_list_cells(_("Select a customer: "), 'customer_id', $_POST['customer_id'], true);
-date_cells(_("from:"), 'TransAfterDate', '', null, -30);
+date_cells(_("from:"), 'TransAfterDate', '', null, -user_transaction_days());
date_cells(_("to:"), 'TransToDate', '', null, 1);
cust_allocations_list_cells(_("Type:"), 'filterType', null);
check_cells(" " . _("show settled:"), 'showSettled', null);
-submit_cells('RefreshInquiry', _("Search"),'',_('Refresh Inquiry'), true);
+submit_cells('RefreshInquiry', _("Search"),'',_('Refresh Inquiry'), 'default');
set_global_customer($_POST['customer_id']);
end_row();
end_table();
-end_form();
//------------------------------------------------------------------------------------------------
function check_overdue($row)
{
function order_link($row)
{
return $row['order_']>0 ?
- get_customer_trans_view_str(systypes::sales_order(), $row['order_'])
+ get_customer_trans_view_str(ST_SALESORDER, $row['order_'])
: "";
}
function systype_name($dummy, $type)
{
- return systypes::name($type);
+ global $systypes_array;
+
+ return $systypes_array[$type];
}
function view_link($trans)
function due_date($row)
{
- return $row["type"] == 10 ? $row["due_date"] : '';
+ return $row["type"] == ST_SALESINVOICE ? $row["due_date"] : '';
}
function fmt_balance($row)
{
- return $row["TotalAmount"] - $row["Allocated"];
+ return ($row["type"] == ST_JOURNAL && $row["TotalAmount"] < 0 ? -$row["TotalAmount"] : $row["TotalAmount"]) - $row["Allocated"];
}
function alloc_link($row)
$link =
pager_link(_("Allocation"),
"/sales/allocations/customer_allocate.php?trans_no=" . $row["trans_no"]
- ."&trans_type=" . $row["type"], ICON_MONEY);
+ ."&trans_type=" . $row["type"]."&debtor_no=" . $row["debtor_no"], ICON_ALLOC);
- if ($row["type"] == 11 && $row['TotalAmount'] > 0)
+ if ($row["type"] == ST_CUSTCREDIT && $row['TotalAmount'] > 0)
{
/*its a credit note which could have an allocation */
return $link;
- }
- elseif (($row["type"] == systypes::cust_payment() || $row["type"] == systypes::bank_deposit()) &&
- ($row['TotalAmount'] - $row['Allocated']) > 0)
+ } elseif ($row["type"] == ST_JOURNAL && $row['TotalAmount'] < 0)
+ {
+ return $link;
+ } elseif (($row["type"] == ST_CUSTPAYMENT || $row["type"] == ST_BANKDEPOSIT) &&
+ (floatcmp($row['TotalAmount'], $row['Allocated']) >= 0))
{
/*its a receipt which could have an allocation*/
return $link;
}
- elseif ($row["type"] == systypes::cust_payment() && $row['TotalAmount'] < 0)
+ elseif ($row["type"] == ST_CUSTPAYMENT && $row['TotalAmount'] <= 0)
{
/*its a negative receipt */
return '';
- }
+ } elseif (($row["type"] == ST_SALESINVOICE && ($row['TotalAmount'] - $row['Allocated']) > 0) || $row["type"] == ST_BANKPAYMENT)
+ return pager_link(_("Payment"),
+ "/sales/customer_payments.php?customer_id=".$row["debtor_no"]."&SInvoice=" . $row["trans_no"], ICON_MONEY);
+
}
function fmt_debit($row)
{
$value =
- $row['type']==11 || $row['type']==12 || $row['type']==2 ?
+ $row['type']==ST_CUSTCREDIT || $row['type']==ST_CUSTPAYMENT || $row['type']==ST_BANKDEPOSIT ?
-$row["TotalAmount"] : $row["TotalAmount"];
return $value>=0 ? price_format($value) : '';
function fmt_credit($row)
{
$value =
- !($row['type']==11 || $row['type']==12 || $row['type']==2) ?
+ !($row['type']==ST_CUSTCREDIT || $row['type']==ST_CUSTPAYMENT || $row['type']==ST_BANKDEPOSIT) ?
-$row["TotalAmount"] : $row["TotalAmount"];
return $value>0 ? price_format($value) : '';
}
//------------------------------------------------------------------------------------------------
- $data_after = date2sql($_POST['TransAfterDate']);
- $date_to = date2sql($_POST['TransToDate']);
-
- $sql = "SELECT
- trans.type,
- trans.order_,
- trans.trans_no,
- trans.reference,
- trans.tran_date,
- trans.due_date,
- debtor.name,
- debtor.curr_code,
- (trans.ov_amount + trans.ov_gst + trans.ov_freight
- + trans.ov_freight_tax + trans.ov_discount) AS TotalAmount,
- trans.alloc AS Allocated,
- ((trans.type = 10)
- AND trans.due_date < '" . date2sql(Today()) . "') AS OverDue
- FROM "
- .TB_PREF."debtor_trans as trans, "
- .TB_PREF."debtors_master as debtor
- WHERE debtor.debtor_no = trans.debtor_no
- AND (trans.ov_amount + trans.ov_gst + trans.ov_freight
- + trans.ov_freight_tax + trans.ov_discount != 0)
- AND trans.tran_date >= '$data_after'
- AND trans.tran_date <= '$date_to'";
-
- if ($_POST['customer_id'] != reserved_words::get_all())
- $sql .= " AND trans.debtor_no = ".db_escape($_POST['customer_id']);
-
- if (isset($_POST['filterType']) && $_POST['filterType'] != reserved_words::get_all())
- {
- if ($_POST['filterType'] == '1' || $_POST['filterType'] == '2')
- {
- $sql .= " AND trans.type = 10 ";
- }
- elseif ($_POST['filterType'] == '3')
- {
- $sql .= " AND trans.type = " . systypes::cust_payment();
- }
- elseif ($_POST['filterType'] == '4')
- {
- $sql .= " AND trans.type = 11 ";
- }
-
- if ($_POST['filterType'] == '2')
- {
- $today = date2sql(Today());
- $sql .= " AND trans.due_date < '$today'
- AND (round(abs(trans.ov_amount + "
- ."trans.ov_gst + trans.ov_freight + "
- ."trans.ov_freight_tax + trans.ov_discount) - trans.alloc,6) > 0) ";
- }
- }else
- {
- $sql .= " AND trans.type != 13 ";
- }
-
-
- if (!check_value('showSettled'))
- {
- $sql .= " AND (round(abs(trans.ov_amount + trans.ov_gst + "
- ."trans.ov_freight + trans.ov_freight_tax + "
- ."trans.ov_discount) - trans.alloc,6) != 0) ";
- }
-//------------------------------------------------------------------------------------------------
+$sql = get_sql_for_customer_allocation_inquiry(get_post('TransAfterDate'), get_post('TransToDate'),
+ get_post('customer_id'), get_post('filterType'), check_value('showSettled'));
+//------------------------------------------------------------------------------------------------
$cols = array(
_("Type") => array('fun'=>'systype_name'),
- _("#") => array('fun'=>'view_link'),
+ _("#") => array('fun'=>'view_link', 'align'=>'right'),
_("Reference"),
- _("Order") => array('fun'=>'order_link'),
+ _("Order") => array('fun'=>'order_link', 'ord'=>'', 'align'=>'right'),
_("Date") => array('name'=>'tran_date', 'type'=>'date', 'ord'=>'asc'),
_("Due Date") => array('type'=>'date', 'fun'=>'due_date'),
- _("Customer"),
+ _("Customer") => array('name' =>'name', 'ord'=>'asc'),
_("Currency") => array('align'=>'center'),
_("Debit") => array('align'=>'right','fun'=>'fmt_debit'),
_("Credit") => array('align'=>'right','insert'=>true, 'fun'=>'fmt_credit'),
array('insert'=>true, 'fun'=>'alloc_link')
);
-if ($_POST['customer_id'] != reserved_words::get_all()) {
+if ($_POST['customer_id'] != ALL_TEXT) {
$cols[_("Customer")] = 'skip';
$cols[_("Currency")] = 'skip';
}
$table =& new_db_pager('doc_tbl', $sql, $cols);
$table->set_marker('check_overdue', _("Marked items are overdue."));
-if (get_post('RefreshInquiry')) {
- $table->set_sql($sql);
- $table->set_columns($cols);
-}
$table->width = "80%";
-start_form();
display_db_pager($table);
end_form();
end_page();
-?>