Form submit/escape hotkeys added.
[fa-stable.git] / sales / manage / credit_status.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 = 3;
13 $path_to_root="../..";
14 include($path_to_root . "/includes/session.inc");
15
16 page(_("Credit Status")); 
17
18 include($path_to_root . "/sales/includes/db/credit_status_db.inc");
19
20 include($path_to_root . "/includes/ui.inc");
21
22 simple_page_mode(true);
23 //-----------------------------------------------------------------------------------
24
25 function can_process() 
26 {
27         
28         if (strlen($_POST['reason_description']) == 0) 
29         {
30                 display_error(_("The credit status description cannot be empty."));
31                 set_focus('reason_description');
32                 return false;
33         }       
34         
35         return true;
36 }
37
38 //-----------------------------------------------------------------------------------
39
40 if ($Mode=='ADD_ITEM' && can_process()) 
41 {
42
43         add_credit_status($_POST['reason_description'], $_POST['DisallowInvoices']);
44         display_notification(_('New credit status has been added'));
45         $Mode = 'RESET';
46
47
48 //-----------------------------------------------------------------------------------
49
50 if ($Mode=='UPDATE_ITEM' && can_process()) 
51 {
52         display_notification(_('Selected credit status has been updated'));
53         update_credit_status($selected_id, $_POST['reason_description'], $_POST['DisallowInvoices']);
54         $Mode = 'RESET';
55 }
56
57 //-----------------------------------------------------------------------------------
58
59 function can_delete($selected_id)
60 {
61         $sql= "SELECT COUNT(*) FROM ".TB_PREF."debtors_master 
62                 WHERE credit_status=$selected_id";
63         $result = db_query($sql, "could not query customers");
64         $myrow = db_fetch_row($result);
65         if ($myrow[0] > 0) 
66         {
67                 display_error(_("Cannot delete this credit status because customer accounts have been created referring to it."));
68                 return false;
69         }
70         
71         return true;
72 }
73
74
75 //-----------------------------------------------------------------------------------
76
77 if ($Mode == 'Delete')
78 {
79
80         if (can_delete($selected_id))
81         {
82                 delete_credit_status($selected_id);
83                 display_notification(_('Selected credit status has been deleted'));
84         }
85         $Mode = 'RESET';
86 }
87
88 if ($Mode == 'RESET')
89 {
90         $selected_id = -1;
91         unset($_POST);
92 }
93 //-----------------------------------------------------------------------------------
94
95 $result = get_all_credit_status();
96
97 start_form();
98 start_table("$table_style width=40%");
99 $th = array(_("Description"), _("Dissallow Invoices"),'','');
100 table_header($th);
101
102 $k = 0;
103 while ($myrow = db_fetch($result)) 
104 {
105         
106         alt_table_row_color($k);        
107
108         if ($myrow["dissallow_invoices"] == 0) 
109         {
110                 $disallow_text = _("Invoice OK");
111         } 
112         else 
113         {
114                 $disallow_text = "<b>" . _("NO INVOICING") . "</b>";
115         }
116         
117         label_cell($myrow["reason_description"]);
118         label_cell($disallow_text);
119         edit_button_cell("Edit".$myrow['id'], _("Edit"));
120         delete_button_cell("Delete".$myrow['id'], _("Delete"));
121         end_row();
122 }
123
124 end_table();
125 end_form();
126 echo '<br>';
127
128 //-----------------------------------------------------------------------------------
129
130 start_form();
131
132 start_table($table_style2);
133
134 if ($selected_id != -1) 
135 {
136         if ($Mode == 'Edit') {
137                 //editing an existing status code
138
139                 $myrow = get_credit_status($selected_id);
140
141                 $_POST['reason_description']  = $myrow["reason_description"];
142                 $_POST['DisallowInvoices']  = $myrow["dissallow_invoices"];
143         }
144         hidden('selected_id', $selected_id);
145
146
147 text_row_ex(_("Description:"), 'reason_description', 50);
148
149 yesno_list_row(_("Dissallow invoicing ?"), 'DisallowInvoices', null); 
150
151 end_table(1);
152
153 submit_add_or_update_center($selected_id == -1, '', 'both');
154
155 end_form();
156
157 //------------------------------------------------------------------------------------
158
159 end_page();
160
161 ?>