Improved notification in revaluation of currencies and fixed a summation bug.
[fa-stable.git] / gl / manage / revaluate_currencies.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_EXCHANGERATE';
13 $path_to_root = "../..";
14 include_once($path_to_root . "/includes/session.inc");
15
16 include_once($path_to_root . "/includes/date_functions.inc");
17 include_once($path_to_root . "/includes/ui.inc");
18 include_once($path_to_root . "/includes/banking.inc");
19
20 $js = "";
21 if ($use_date_picker)
22         $js .= get_js_date_picker();
23 page(_($help_context = "Revaluation of Currency Accounts"), false, false, "", $js);
24
25 if (isset($_GET['AddedID'])) 
26 {
27         $trans_no = $_GET['AddedID'];
28         $JE = $_GET['JE'];
29         $trans_type = ST_JOURNAL;
30
31         if ($trans_no == 0)
32                 display_notification_centered( _("No Revaluation was needed"));
33         else
34         {
35                 display_notification_centered( _("Transfer has been entered"));
36
37                 display_note(get_gl_view_str($trans_type, $trans_no, _("&View the GL Journal Entries for this Transfer")));
38         }
39         if ($JE > 0)
40                 display_notification_centered(sprintf(_("%d Journal Entries for AR/AP accounts have been added"), $JE));
41
42         //display_footer_exit();
43 }
44
45
46 //---------------------------------------------------------------------------------------------
47 function check_data()
48 {
49         global $Refs;
50         
51         if (!is_date($_POST['date']))
52         {
53                 display_error( _("The entered date is invalid."));
54                 set_focus('date');
55                 return false;
56         }
57         if (!is_date_in_fiscalyear($_POST['date']))
58         {
59                 display_error(_("The entered date is not in fiscal year."));
60                 set_focus('date');
61                 return false;
62         }
63         if (!$Refs->is_valid($_POST['ref'])) 
64         {
65                 display_error(_("You must enter a reference."));
66                 set_focus('ref');
67                 return false;
68         }
69
70         if (!is_new_reference($_POST['ref'], ST_JOURNAL)) 
71         {
72                 display_error(_("The entered reference is already in use."));
73                 set_focus('ref');
74                 return false;
75         }
76
77         return true;
78 }
79
80 //---------------------------------------------------------------------------------------------
81
82 function handle_submit()
83 {
84         if (!check_data())
85                 return;
86
87         $trans = add_exchange_variation_all($_POST['date'], $_POST['ref'], $_POST['memo_']);
88
89         meta_forward($_SERVER['PHP_SELF'], "AddedID=".$trans[0]."&JE=".$trans[1]);
90         //clear_data();
91 }
92
93
94 //---------------------------------------------------------------------------------------------
95
96 function display_reval()
97 {
98         global $Refs;
99         start_form();
100         start_table(TABLESTYLE2);
101
102         if (!isset($_POST['date']))
103                 $_POST['date'] = Today();
104     date_row(_("Date for Revaluation:"), 'date', '', null, 0, 0, 0, null, true);
105     ref_row(_("Reference:"), 'ref', '', $Refs->get_next(ST_JOURNAL));
106     textarea_row(_("Memo:"), 'memo_', null, 40,4);
107         end_table(1);
108
109         submit_center('submit', _("Revaluate Currencies"), true, false);
110         end_form();
111 }
112
113 //---------------------------------------------------------------------------------------------
114
115 function clear_data()
116 {
117         unset($_POST['date_']);
118         unset($_POST['memo_']);
119 }
120
121 //---------------------------------------------------------------------------------------------
122
123 if (get_post('submit'))
124         handle_submit();
125
126 //---------------------------------------------------------------------------------------------
127
128 display_reval();
129
130 end_page();
131
132 ?>