Update from usntable branch.
[fa-stable.git] / gl / view / gl_payment_view.php
1 <?php
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_BANKTRANSVIEW';
13 $path_to_root = "../..";
14
15 include($path_to_root . "/includes/session.inc");
16
17 page(_($help_context = "View Bank Payment"), true);
18
19 include_once($path_to_root . "/includes/date_functions.inc");
20 include_once($path_to_root . "/includes/ui.inc");
21
22 include_once($path_to_root . "/gl/includes/gl_db.inc");
23
24 if (isset($_GET["trans_no"]))
25 {
26         $trans_no = $_GET["trans_no"];
27 }
28
29 // get the pay-from bank payment info
30 $result = get_bank_trans(ST_BANKPAYMENT, $trans_no);
31
32 if (db_num_rows($result) != 1)
33         display_db_error("duplicate payment bank transaction found", "");
34
35 $from_trans = db_fetch($result);
36
37 $company_currency = get_company_currency();
38
39 $show_currencies = false;
40
41 if ($from_trans['bank_curr_code'] != $company_currency)
42 {
43         $show_currencies = true;
44 }
45
46 display_heading(_("GL Payment") . " #$trans_no");
47
48 echo "<br>";
49 start_table("$table_style width=80%");
50
51 if ($show_currencies)
52 {
53         $colspan1 = 5;
54         $colspan2 = 8;
55 }
56 else
57 {
58         $colspan1 = 3;
59         $colspan2 = 6;
60 }
61 start_row();
62 label_cells(_("From Bank Account"), $from_trans['bank_account_name'], "class='tableheader2'");
63 if ($show_currencies)
64         label_cells(_("Currency"), $from_trans['bank_curr_code'], "class='tableheader2'");
65 label_cells(_("Amount"), number_format2($from_trans['amount'], user_price_dec()), "class='tableheader2'", "align=right");
66 label_cells(_("Date"), sql2date($from_trans['trans_date']), "class='tableheader2'");
67 end_row();
68 start_row();
69 label_cells(_("Pay To"), payment_person_name($from_trans['person_type_id'], $from_trans['person_id']), "class='tableheader2'", "colspan=$colspan1");
70 label_cells(_("Payment Type"), $bank_transfer_types[$from_trans['account_type']], "class='tableheader2'");
71 end_row();
72 start_row();
73 label_cells(_("Reference"), $from_trans['ref'], "class='tableheader2'", "colspan=$colspan2");
74 end_row();
75 comments_display_row(ST_BANKPAYMENT, $trans_no);
76
77 end_table(1);
78
79 $voided = is_voided_display(ST_BANKPAYMENT, $trans_no, _("This payment has been voided."));
80
81 $items = get_gl_trans(ST_BANKPAYMENT, $trans_no);
82
83 if (db_num_rows($items)==0)
84 {
85         display_note(_("There are no items for this payment."));
86 }
87 else
88 {
89
90         display_heading2(_("Items for this Payment"));
91         if ($show_currencies)
92                 display_heading2(_("Item Amounts are Shown in :") . " " . $company_currency);
93
94     echo "<br>";
95     start_table("$table_style width=80%");
96     $dim = get_company_pref('use_dimension');
97     if ($dim == 2)
98         $th = array(_("Account Code"), _("Account Description"), _("Dimension")." 1", _("Dimension")." 2",
99             _("Amount"), _("Memo"));
100     else if ($dim == 1)
101         $th = array(_("Account Code"), _("Account Description"), _("Dimension"),
102             _("Amount"), _("Memo"));
103     else
104         $th = array(_("Account Code"), _("Account Description"),
105             _("Amount"), _("Memo"));
106         table_header($th);
107
108     $k = 0; //row colour counter
109         $total_amount = 0;
110
111     while ($item = db_fetch($items))
112     {
113
114                 if ($item["account"] != $from_trans["account_code"])
115                 {
116                 alt_table_row_color($k);
117
118                 label_cell($item["account"]);
119                 label_cell($item["account_name"]);
120             if ($dim >= 1)
121                 label_cell(get_dimension_string($item['dimension_id'], true));
122             if ($dim > 1)
123                 label_cell(get_dimension_string($item['dimension2_id'], true));
124                 amount_cell($item["amount"]);
125                 label_cell($item["memo_"]);
126                 end_row();
127                 $total_amount += $item["amount"];
128                 }
129         }
130
131         label_row(_("Total"), number_format2($total_amount, user_price_dec()),"colspan=".(2+$dim)." align=right", "align=right");
132
133         end_table(1);
134
135         if (!$voided)
136                 display_allocations_from($from_trans['person_type_id'], $from_trans['person_id'], 1, $trans_no, -$from_trans['amount']);
137 }
138
139 end_page(true);
140 ?>