X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=sales%2Fallocations%2Fcustomer_allocation_main.php;h=56d4312f5fb1c2fa0a40f4679ade924faf5d8770;hb=406fee129771496f26ef91c0a25d487c7a77c054;hp=20baf5cace8b7002ffda2d6527091886b8308ef3;hpb=da8311619dd73feae101d246a1957b972e00cbd2;p=fa-stable.git diff --git a/sales/allocations/customer_allocation_main.php b/sales/allocations/customer_allocation_main.php index 20baf5ca..56d4312f 100644 --- a/sales/allocations/customer_allocation_main.php +++ b/sales/allocations/customer_allocation_main.php @@ -1,121 +1,116 @@ . +***********************************************************************/ +$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_ui.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); -page(_("Customer Allocations"), false, false, "", $js); +page(_($help_context = "Customer Allocations"), false, false, "", $js); //-------------------------------------------------------------------------------- -function display_allocatable_transactions() +start_form(); +/* show all outstanding receipts and credits to be allocated */ + +if (!isset($_POST['customer_id'])) + $_POST['customer_id'] = get_global_customer(); + +echo "
" . _("Select a customer: ") . "  "; +echo customer_list('customer_id', $_POST['customer_id'], true, true); +echo "
"; +check(_("Show Settled Items:"), 'ShowSettled', null, true); +echo "


"; + +set_global_customer($_POST['customer_id']); + +if (isset($_POST['customer_id']) && ($_POST['customer_id'] == ALL_TEXT)) { - global $table_style, $path_to_root; - start_form(); - - /* show all outstanding receipts and credits to be allocated */ - /*Clear any previous allocation records */ - if (isset($_SESSION['alloc'])) - { - unset($_SESSION['alloc']->allocs); - unset($_SESSION['alloc']); - } - if (!isset($_POST['customer_id'])) - $_POST['customer_id'] = get_global_customer(); - - echo "
" . _("Select a customer: ") . "  "; - customer_list('customer_id', $_POST['customer_id'], true, true); - echo "
"; - check(_("Show Settled Items:"), 'ShowSettled', null, true); - echo "


"; - - set_global_customer($_POST['customer_id']); - - if (isset($_POST['customer_id']) && ($_POST['customer_id'] == reserved_words::get_all())) - { - unset($_POST['customer_id']); - } - - /*if (isset($_POST['customer_id'])) { - $custCurr = get_customer_currency($_POST['customer_id']); - if (!is_company_currency($custCurr)) - echo _("Customer Currency:") . $custCurr; - }*/ - - $settled = false; - if (check_value('ShowSettled')) - $settled = true; - - $customer_id = null; - if (isset($_POST['customer_id'])) - $customer_id = $_POST['customer_id']; - - $trans_items = get_allocatable_from_cust_transactions($customer_id, $settled); - - start_table($table_style); - if (!isset($_POST['customer_id'])) - $th = array(_("Transaction Type"), _("#"), _("Reference"), _("Date"), _("Customer"), - _("Currency"), _("Total"), _("Left To Allocate"), ""); - else - $th = array(_("Transaction Type"), _("#"), _("Reference"), _("Date"), - _("Total"), _("Left To Allocate"), ""); - table_header($th); - $k = 0; //row colour counter - $has_settled_items = false; - - while ($myrow = db_fetch($trans_items)) - { - if ($myrow["settled"] == 1) - { - start_row("class='settledbg'"); - $has_settled_items = true; - } - else - { - alt_table_row_color($k); - } - - label_cell(systypes::name($myrow["type"])); - label_cell(get_trans_view_str($myrow["type"], $myrow["trans_no"])); - label_cell($myrow["reference"]); - label_cell(sql2date($myrow["tran_date"])); - - if (!isset($_POST['customer_id'])) - { - label_cell($myrow["DebtorName"]); - label_cell($myrow["curr_code"]); - } - amount_cell(-$myrow["Total"]); - amount_cell(-$myrow["Total"] - $myrow["alloc"]); - if (-$myrow["Total"] - $myrow["alloc"] != 0.0) - label_cell("" . _("Allocate") . ""); - else - label_cell(""); - end_row(); - } - - end_table(); - - if ($has_settled_items) - display_note(_("Marked items are settled."), 0, 1, "class='settledfg'"); - - if (db_num_rows($trans_items) == 0) - display_note(_("There are no allocations to be done."), 1, 2); - - end_form(); + unset($_POST['customer_id']); } -//-------------------------------------------------------------------------------- +$settled = false; +if (check_value('ShowSettled')) + $settled = true; -display_allocatable_transactions(); +$customer_id = null; +if (isset($_POST['customer_id'])) + $customer_id = $_POST['customer_id']; //-------------------------------------------------------------------------------- +function systype_name($dummy, $type) +{ + global $systypes_array; -end_page(); + return $systypes_array[$type]; +} -?> \ No newline at end of file +function trans_view($trans) +{ + return get_trans_view_str($trans["type"], $trans["trans_no"]); +} + +function alloc_link($row) +{ + return pager_link(_("Allocate"), + "/sales/allocations/customer_allocate.php?trans_no=" + .$row["trans_no"] . "&trans_type=" . $row["type"]. "&debtor_no=" . $row["debtor_no"], ICON_ALLOC); +} + +function amount_total($row) +{ + return price_format($row['type'] == ST_JOURNAL && $row["Total"] < 0 ? -$row["Total"] : $row["Total"]); +} + +function amount_left($row) +{ + return price_format(($row['type'] == ST_JOURNAL && $row["Total"] < 0 ? -$row["Total"] : $row["Total"])-$row["alloc"]); +} + +function check_settled($row) +{ + return $row['settled'] == 1; +} + + +$sql = get_allocatable_from_cust_sql($customer_id, $settled); + +$cols = array( + _("Transaction Type") => array('fun'=>'systype_name'), + _("#") => array('fun'=>'trans_view', 'align'=>'right'), + _("Reference"), + _("Date") => array('name'=>'tran_date', 'type'=>'date', 'ord'=>'asc'), + _("Customer") => array('ord'=>''), + _("Currency") => array('align'=>'center'), + _("Total") => array('align'=>'right','fun'=>'amount_total'), + _("Left to Allocate") => array('align'=>'right','insert'=>true, 'fun'=>'amount_left'), + array('insert'=>true, 'fun'=>'alloc_link') + ); + +if (isset($_POST['customer_id'])) { + $cols[_("Customer")] = 'skip'; + $cols[_("Currency")] = 'skip'; +} + +$table =& new_db_pager('alloc_tbl', $sql, $cols); +$table->set_marker('check_settled', _("Marked items are settled."), 'settledbg', 'settledfg'); + +$table->width = "75%"; + +display_db_pager($table); +end_form(); + +end_page();