Migration von parts.bin nach wirklichen Lager und Lagerplatz s.a. Ticket 2284
[kivitendo-erp.git] / templates / webpages / dbupgrade / default_bin_parts.html
1 [%- USE T8 %]
2 [%- USE HTML %]
3 [%- USE LxERP %]
4 [%- USE JavaScript %]
5  <script type="text/javascript" src="js/common.js"></script>
6  <script type="text/javascript" src="js/parts_language_selection.js"></script>
7  <script type="text/javascript">
8   <!--
9      warehouses = new Array();
10      [%- USE WAREHOUSES_it = Iterator(WAREHOUSES) %][%- FOREACH warehouse = WAREHOUSES_it %]
11       warehouses[[% WAREHOUSES_it.count - 1 %]] = new Array();
12       warehouses[[% WAREHOUSES_it.count - 1 %]]['id'] = [% warehouse.id %];
13       warehouses[[% WAREHOUSES_it.count - 1 %]]['bins'] = new Array();
14       [% USE BINS_it = Iterator(warehouse.BINS) %][% FOREACH bin = BINS_it %]
15       warehouses[[% WAREHOUSES_it.count - 1%]]['bins'][[% BINS_it.count - 1 %]] = new Array();
16       warehouses[[% WAREHOUSES_it.count - 1%]]['bins'][[% BINS_it.count - 1 %]]['description'] = "[% JavaScript.escape(bin.description) %]";
17       warehouses[[% WAREHOUSES_it.count - 1%]]['bins'][[% BINS_it.count - 1 %]]['id'] = [% bin.id %];
18       [% END %]
19       [% END %]
20       //var rowcount = [% rowcount %];
21       //var rowcount = 3; //[% rowcount %];
22       function warehouse_selected(warehouse_id, bin_id, loop) {
23         var control = document.getElementById("bin_id_" + loop);
24
25         for (var i = control.options.length - 1; i >= 0; i--) {
26           control.options[i] = null;
27         }
28
29         var warehouse_index = 0;
30
31         for (i = 0; i < warehouses.length; i++)
32           if (warehouses[i]['id'] == warehouse_id) {
33             warehouse_index = i;
34             break;
35           }
36
37         var warehouse = warehouses[warehouse_index];
38         var bin_index = 0;
39
40         for (i = 0; i < warehouse['bins'].length; i++)
41           if (warehouse['bins'][i]['id'] == bin_id) {
42             bin_index = i;
43             break;
44           }
45
46         for (i = 0; i < warehouse['bins'].length; i++) {
47           control.options[i] = new Option(warehouse['bins'][i]['description'], warehouse['bins'][i]['id']);
48         }
49
50
51         control.options[bin_index].selected = true;
52       }
53       function bin_match(rowcount) {
54         for (i = 1; i < rowcount + 1; i++) {              // über alle parts_id
55           var lagerplatz = document.getElementById("bin_" + i).value;
56           var control = document.getElementById("bin_id_" + i);
57           var bin_index = 0;
58           //alert(lagerplatz);
59           for (j = 0; j < warehouses.length; j++) {       // über alle lager
60             var warehouse = warehouses[j];
61
62             for (k = 0; k < warehouse['bins'].length; k++) {       // über alle lagerplätze
63
64               if (lagerplatz == warehouse['bins'][k]['description']) {
65                 //alert('ware ' + warehouse['bins'][k]['description']);
66                 var lager = document.getElementById("warehouse_id_" + i);
67                 lager.selectedIndex = j;
68                 bin_index = k;
69                 break;
70                 /*var lagerplatz = document.getElementById("bin_id_" + i);
71                 alert('lagerplatz ' + lagerplatz.value);
72                 lagerplatz.selectedIndex = k; */
73               }
74
75             }
76           }
77         }
78         for (i = 0; i < warehouse['bins'].length; i++) {
79                 control.options[i] = new Option(warehouse['bins'][i]['description'], warehouse['bins'][i]['id']);
80               }
81               control.options[bin_index].selected = true;
82
83
84       }
85
86
87       $(function() {
88         warehouse_selected([% warehouse_id %], [% bin_id %]);
89       })
90     -->
91  </script>
92
93
94
95 <div class="listtop">[% '<b>Default Bins Migration !READ CAREFULLY!</b>' | $T8 %]</div>
96 <form name="Form" method="post" action="login.pl">
97 <input type="hidden" name="action" value="login">
98 <input type="hidden" name="continued" value="1">
99
100
101
102 <p>[% 'There are Bins defined in your Inventory.' | $T8 %]</p>
103 <p>[% 'The Bins in Inventory were only a information text field.' | $T8 %]</p>
104 <p>[% 'This has been changed in this version, therefore please change the "old" bins to some real warehouse bins.' | $T8 %]</p>
105 <p>[% 'If your old bins match exactly Bins in the Warehouse CLICK on <b>AUTOMATICALLY MATCH BINS</b>.' | $T8 %]</p>
106 <p>[% 'Otherwise you can simply check create warehouse and bins and define a name for the warehouse (Bins will be created automatically) and then continue'  | $T8 %]</p>
107
108 <p>[% 'Please change the partnumber of the following parts and run the update again:' | $T8 %]</p>
109 <table>
110   <tr>
111     <th class="listheading">[% 'Partnumber' | $T8 %]</th>
112     <th class="listheading">[% 'Description' | $T8 %]</th>
113     <th class="listheading">[% 'Bin' | $T8 %]</th>
114     <th class="listheading">[% 'Default Warehouse' | $T8 %]</th>
115     <th class="listheading">[% 'Default Bin' | $T8 %]</th>
116   </tr>
117
118   [% SET row_odd = '1' %][% FOREACH row = PARTS %]
119   <tr class="listrow[% IF row_odd %]1[% SET row_odd = '0' %][% ELSE %]0[% SET row_odd = '1' %][% END %]">
120    <td align="left"> [% HTML.escape(row.partnumber) %]</a></td>
121     <td align="left"> [% HTML.escape(row.description) %]</a></td>
122     <td align="right">[% HTML.escape(row.bin) %]
123     <input type="hidden" id="bin_[% loop.count %]" name="bin_[% loop.count %]" value="[% HTML.escape(row.bin) %]">
124     </td>
125     <td>
126     <input type="hidden" name='partid_[% loop.count %]' value='[% HTML.escape(row.id) %]'>
127      <select id="warehouse_id_[% loop.count %]" name="warehouse_id_[% loop.count %]" onchange="warehouse_selected(warehouses[this.selectedIndex]['id'], 0, [% loop.count %])">
128              [%- FOREACH warehouse = WAREHOUSES %]
129                <option value="[% HTML.escape(warehouse.id) %]"[% IF warehouse_id  == warehouse.id %] selected[% END %]>[% warehouse.description %]</option>
130              [%- END %]
131                 <option value=""  [% IF warehouse_id  == 0 %] selected[% END %] ></option>
132      </select>
133     </td>
134     <td><select id="bin_id_[% loop.count %]" name="bin_id_[% loop.count %]"></select></td>
135   </tr>
136   [% SET rowcount = loop.count %]
137   [% END %]
138   <input type="hidden" name="rowcount" value="[% rowcount %]">
139   <tr><td colspan="5"><hr/></td></tr>
140   <tr><td colspan="5">
141          <input type="checkbox" name="create_new_bins"> [% '<b>Automatically create new bins</b> in the following warehouse if not selected in the list above' | $T8 %]
142           <select id="warehouse_id_default" name="warehouse_id_default">
143              [%- FOREACH warehouse = WAREHOUSES %]
144                <option value="[% HTML.escape(warehouse.id) %]"[% IF warehouse_id  == warehouse.id %] selected[% END %]>[% warehouse.description %]</option>
145              [%- END %]
146                 <option value=""  [% IF warehouse_id  == 0 %] selected[% END %] ></option>
147          </select>
148       </td>
149   </tr>
150
151   <tr><td colspan="5"><hr/></td></tr>
152  <tr><td><input type="button" class="submit" onclick="history.back()" value="[% 'Back' | $T8 %]"> </td><td colspan="3" align="center"><b><input style="background-color:#FFEE66" type="button" value="[% 'AUTOMATICALLY MATCH BINS' | $T8 %]"  onclick="bin_match([% rowcount %])"></b> </td><td><input type="submit" value="[% 'Continue' | $T8 %]"></td></tr>
153 </table>
154 </form>