25f9668bae12f804765dcc09a6afe8df569f6a06
[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'] != $from_trans['settle_curr'])
42 {
43         $show_currencies = true;
44 }
45
46 display_heading(_("GL Payment") . " #$trans_no");
47
48 echo "<br>";
49 start_table(TABLESTYLE, "width='80%'");
50
51 if ($show_currencies)
52 {
53         $colspan1 = 1;
54         $colspan2 = 7;
55 }
56 else
57 {
58         $colspan1 = 3;
59         $colspan2 = 5;
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"), get_counterparty_name(ST_BANKPAYMENT, $from_trans['trans_no']), "class='tableheader2'", "colspan=$colspan1");
70 if ($show_currencies)
71 {
72         label_cells(_("Settle currency"), $from_trans['settle_curr'], "class='tableheader2'");
73         label_cells(_("Settled amount"), number_format2($from_trans['settled_amount'], user_price_dec()), "class='tableheader2'");
74 }
75 label_cells(_("Payment Type"), $bank_transfer_types[$from_trans['account_type']], "class='tableheader2'");
76 end_row();
77 start_row();
78 label_cells(_("Reference"), $from_trans['ref'], "class='tableheader2'", "colspan=$colspan2");
79 end_row();
80 comments_display_row(ST_BANKPAYMENT, $trans_no);
81
82 end_table(1);
83
84 $voided = is_voided_display(ST_BANKPAYMENT, $trans_no, _("This payment has been voided."));
85
86 $items = get_gl_trans(ST_BANKPAYMENT, $trans_no);
87
88 if (db_num_rows($items)==0)
89 {
90         display_note(_("There are no items for this payment."));
91 }
92 else
93 {
94
95         display_heading2(_("Items for this Payment"));
96         if ($show_currencies)
97                 display_heading2(_("Item Amounts are Shown in:") . " " . $company_currency);
98
99     echo "<br>";
100     start_table(TABLESTYLE, "width='80%'");
101     $dim = get_company_pref('use_dimension');
102     if ($dim == 2)
103         $th = array(_("Account Code"), _("Account Description"), _("Dimension")." 1", _("Dimension")." 2",
104             _("Amount"), _("Memo"));
105     elseif ($dim == 1)
106         $th = array(_("Account Code"), _("Account Description"), _("Dimension"),
107             _("Amount"), _("Memo"));
108     else
109         $th = array(_("Account Code"), _("Account Description"),
110             _("Amount"), _("Memo"));
111         table_header($th);
112
113     $k = 0; //row colour counter
114         $total_amount = 0;
115
116     while ($item = db_fetch($items))
117     {
118
119                 if ($item["account"] != $from_trans["account_code"])
120                 {
121                 alt_table_row_color($k);
122
123                 label_cell($item["account"]);
124                 label_cell($item["account_name"]);
125             if ($dim >= 1)
126                 label_cell(get_dimension_string($item['dimension_id'], true));
127             if ($dim > 1)
128                 label_cell(get_dimension_string($item['dimension2_id'], true));
129                 amount_cell($item["amount"]);
130                 label_cell($item["memo_"]);
131                 end_row();
132                 $total_amount += $item["amount"];
133                 }
134         }
135
136         label_row(_("Total"), number_format2($total_amount, user_price_dec()),"colspan=".(2+$dim)." align=right", "align=right");
137
138         end_table(1);
139
140         if (!$voided)
141                 display_allocations_from($from_trans['person_type_id'], $from_trans['person_id'], 1, $trans_no, $from_trans['settled_amount']);
142 }
143
144 end_page(true, false, false, ST_BANKPAYMENT, $trans_no);