2 /**********************************************************************
3 Copyright (C) FrontAccounting, LLC.
4 Released under the terms of the GNU General Public License, GPL,
5 as published by the Free Software Foundation, either version 3
6 of the License, or (at your option) any later version.
7 This program is distributed in the hope that it will be useful,
8 but WITHOUT ANY WARRANTY; without even the implied warranty of
9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10 See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
11 ***********************************************************************/
12 $page_security = 'SA_SUPPLIERALLOC';
13 $path_to_root = "../..";
15 include($path_to_root . "/includes/ui/allocation_cart.inc");
16 include_once($path_to_root . "/includes/session.inc");
17 include_once($path_to_root . "/includes/date_functions.inc");
18 include_once($path_to_root . "/includes/ui.inc");
19 include_once($path_to_root . "/includes/banking.inc");
20 include_once($path_to_root . "/sales/includes/sales_db.inc");
21 //include_once($path_to_root . "/purchasing/includes/ui/supp_alloc_ui.inc");
24 if ($use_popup_windows)
25 $js .= get_js_open_window(900, 500);
27 add_js_file('allocate.js');
29 page(_($help_context = "Allocate Supplier Payment or Credit Note"), false, false, "", $js);
31 //--------------------------------------------------------------------------------
33 function clear_allocations()
35 if (isset($_SESSION['alloc']))
37 unset($_SESSION['alloc']->allocs);
38 unset($_SESSION['alloc']);
40 //session_register("alloc");
42 //--------------------------------------------------------------------------------
44 function edit_allocations_for_transaction($type, $trans_no)
46 global $systypes_array;
50 $cart = $_SESSION['alloc'];
52 display_heading(_("Allocation of") . " " . $systypes_array[$cart->type] . " # " . $cart->trans_no);
54 display_heading($cart->person_name);
56 display_heading2(_("Date:") . " <b>" . $cart->date_ . "</b>");
58 display_heading2(_("Total:"). " <b>" . price_format(-$cart->bank_amount).' '.$cart->currency."</b>");
60 if ($cart->currency != $cart->person_curr)
62 $total = _("Total in clearing currency:") . " <b>" . price_format(-$cart->amount)."</b>"
63 . sprintf(" %s (%s %s/%s)", $cart->person_curr, exrate_format($cart->bank_amount/$cart->amount), $cart->currency, $cart->person_curr);
64 display_heading2($total);
68 div_start('alloc_tbl');
69 if (count($cart->allocs) > 0)
71 show_allocatable(true);
73 submit_center_first('UpdateDisplay', _("Refresh"), _('Start again allocation of selected amount'), true);
74 submit('Process', _("Process"), true, _('Process allocations'), 'default');
75 submit_center_last('Cancel', _("Back to Allocations"),
76 _('Abandon allocations and return to selection of allocatable amounts'), 'cancel');
80 display_note(_("There are no unsettled transactions to allocate."), 0, 1);
81 submit_center('Cancel', _("Back to Allocations"), true,
82 _('Abandon allocations and return to selection of allocatable amounts'), 'cancel');
88 //--------------------------------------------------------------------------------
90 if (isset($_POST['Process']))
92 if (check_allocations())
94 $_SESSION['alloc']->write();
100 //--------------------------------------------------------------------------------
102 if (isset($_POST['Cancel']))
105 meta_forward($path_to_root . "/purchasing/allocations/supplier_allocation_main.php");
108 //--------------------------------------------------------------------------------
110 if (isset($_GET['trans_no']) && isset($_GET['trans_type']))
112 $_SESSION['alloc'] = new allocation($_GET['trans_type'], $_GET['trans_no'], @$_GET['supplier_id'], PT_SUPPLIER);
115 if (get_post('UpdateDisplay'))
117 $_SESSION['alloc']->read();
118 $Ajax->activate('alloc_tbl');
121 if (isset($_SESSION['alloc']))
123 edit_allocations_for_transaction($_SESSION['alloc']->type, $_SESSION['alloc']->trans_no);
126 //--------------------------------------------------------------------------------