Focus set to invalid field after submit check fail
[fa-stable.git] / inventory / manage / movement_types.php
1 <?php
2
3 $page_security = 3;
4 $path_to_root="../..";
5 include($path_to_root . "/includes/session.inc");
6
7 page(_("Inventory Movement Types"));
8
9 include_once($path_to_root . "/inventory/includes/inventory_db.inc");
10
11 include_once($path_to_root . "/includes/ui.inc");
12
13 if (isset($_GET['selected_id']))
14 {
15         $selected_id = $_GET['selected_id'];
16
17 elseif(isset($_POST['selected_id']))
18 {
19         $selected_id = $_POST['selected_id'];
20 }
21
22 //-----------------------------------------------------------------------------------
23
24 if (isset($_POST['ADD_ITEM']) || isset($_POST['UPDATE_ITEM'])) 
25 {
26
27         //initialise no input errors assumed initially before we test
28         $input_error = 0;
29
30         if (strlen($_POST['name']) == 0) 
31         {
32                 $input_error = 1;
33                 display_error(_("The inventory movement type name cannot be empty."));
34                 set_focus('name');
35         }
36
37         if ($input_error != 1) 
38         {
39                 
40         if (isset($selected_id)) 
41         {
42                 
43                 update_movement_type($selected_id, $_POST['name']);
44     
45         } 
46         else 
47         {
48     
49                 add_movement_type($_POST['name']);
50         }
51         
52                 meta_forward($_SERVER['PHP_SELF']);             
53         }
54
55
56 //-----------------------------------------------------------------------------------
57
58 function can_delete($selected_id)
59 {
60         $sql= "SELECT COUNT(*) FROM ".TB_PREF."stock_moves 
61                 WHERE type=" . systypes::inventory_adjustment(). " AND person_id=$selected_id";
62         $result = db_query($sql, "could not query stock moves");
63         $myrow = db_fetch_row($result);
64         if ($myrow[0] > 0) 
65         {
66                 display_error(_("Cannot delete this inventory movement type because item transactions have been created referring to it."));
67                 return false;
68         }
69         
70         return true;
71 }
72
73
74 //-----------------------------------------------------------------------------------
75
76 if (isset($_GET['delete'])) 
77 {
78
79         if (can_delete($selected_id))
80         {
81                 delete_movement_type($selected_id);
82                 meta_forward($_SERVER['PHP_SELF']); 
83         }
84 }
85
86 //-----------------------------------------------------------------------------------
87
88 $result = get_all_movement_type();
89
90 start_table("$table_style width=30%");
91
92 $th = array(_("Description"), "", "");
93 table_header($th);
94 $k = 0;
95 while ($myrow = db_fetch($result)) 
96 {
97         
98         alt_table_row_color($k);        
99
100         label_cell($myrow["name"]);
101         edit_link_cell("selected_id=" . $myrow["id"]);
102         delete_link_cell("selected_id=" . $myrow["id"]. "&delete=1");
103         end_row();
104 }
105
106 end_table();
107
108 //-----------------------------------------------------------------------------------
109
110 hyperlink_no_params($_SERVER['PHP_SELF'], _("New Inventory Movement Type"));
111
112 start_form();
113
114 start_table();
115
116 if (isset($selected_id)) 
117 {
118         //editing an existing status code
119
120         $myrow = get_movement_type($selected_id);
121
122         $_POST['name']  = $myrow["name"];
123
124         hidden('selected_id', $selected_id);
125
126
127 text_row(_("Description:"), 'name', null, 50, 50);
128
129 end_table(1);
130
131 submit_add_or_update_center(!isset($selected_id));
132
133 end_form();
134
135 //------------------------------------------------------------------------------------
136
137 end_page();
138
139 ?>