1 | function change_folder(index) |
---|
2 | { |
---|
3 | if (alternate_border(index) == 0) |
---|
4 | { |
---|
5 | switch (index) |
---|
6 | { |
---|
7 | case 0: |
---|
8 | draw_administration_control(); |
---|
9 | break; |
---|
10 | |
---|
11 | case 1: |
---|
12 | draw_development_control(); |
---|
13 | break; |
---|
14 | |
---|
15 | case 2: |
---|
16 | draw_organogram_control(); |
---|
17 | break; |
---|
18 | |
---|
19 | case 3: |
---|
20 | draw_process_control(); |
---|
21 | break; |
---|
22 | |
---|
23 | case 4: |
---|
24 | draw_monitor_control(); |
---|
25 | break; |
---|
26 | |
---|
27 | case 5: |
---|
28 | draw_external_application_control(); |
---|
29 | break; |
---|
30 | } |
---|
31 | } |
---|
32 | } |
---|
33 | |
---|
34 | function setSelectValue(obj, value) |
---|
35 | { |
---|
36 | /* IE MAGIC */ |
---|
37 | if (obj.outerHTML) |
---|
38 | { |
---|
39 | obj.innerHTML = ''; |
---|
40 | obj.outerHTML = obj.outerHTML.match(/<select[^>]*>/gi) + value + '</select>'; |
---|
41 | } |
---|
42 | else |
---|
43 | obj.innerHTML = value; |
---|
44 | } |
---|
45 | |
---|
46 | function del_option_values(element) |
---|
47 | { |
---|
48 | for (var i = 0; i < element.options.length; i++) |
---|
49 | element.options[i--] = null; |
---|
50 | } |
---|
51 | |
---|
52 | function del_selected_reg(id_name) |
---|
53 | { |
---|
54 | element = document.getElementById(id_name); |
---|
55 | for(var i = 0;i < element.options.length; i++) |
---|
56 | if (element.options[i].selected) |
---|
57 | { |
---|
58 | element.options[i] = null; |
---|
59 | if (element.options[i]) |
---|
60 | element.options[i].selected = true; |
---|
61 | else |
---|
62 | if (i > 0) |
---|
63 | element.options[--i].selected = true; |
---|
64 | |
---|
65 | break; |
---|
66 | } |
---|
67 | } |
---|
68 | |
---|
69 | function del_organogram_admin() |
---|
70 | { |
---|
71 | var hndDelAdmin = function(data) |
---|
72 | { |
---|
73 | refresh_org_admins(data); |
---|
74 | }; |
---|
75 | |
---|
76 | if (confirm('Tem certeza que deseja excluir o registro selecionado?')) |
---|
77 | { |
---|
78 | var sel_org = document.getElementById('sel_org'); |
---|
79 | var sel_org_admin = document.getElementById('sel_org_admin'); |
---|
80 | cExecute ("$this.bo_adminaccess.del_organogram_admin", hndDelAdmin, "org_id="+sel_org.value+"&admin_id="+sel_org_admin.value); |
---|
81 | } |
---|
82 | } |
---|
83 | |
---|
84 | function del_process_admin() |
---|
85 | { |
---|
86 | var hndDelProc = function(data) |
---|
87 | { |
---|
88 | refresh_proc_admins(data); |
---|
89 | }; |
---|
90 | |
---|
91 | if (confirm('Tem certeza que deseja excluir o registro selecionado?')) |
---|
92 | { |
---|
93 | var sel_proc = document.getElementById('sel_proc'); |
---|
94 | var sel_proc_admin = document.getElementById('sel_proc_admin'); |
---|
95 | cExecute ("$this.bo_adminaccess.del_process_admin", hndDelProc, "proc_id="+sel_proc.value+"&admin_id="+sel_proc_admin.value); |
---|
96 | } |
---|
97 | } |
---|
98 | |
---|
99 | function del_monitor_admin() |
---|
100 | { |
---|
101 | var hndDelProc = function(data) |
---|
102 | { |
---|
103 | refresh_mon_admins(data); |
---|
104 | }; |
---|
105 | |
---|
106 | if (confirm('Tem certeza que deseja excluir o registro selecionado?')) |
---|
107 | { |
---|
108 | var sel_mon = document.getElementById('sel_mon'); |
---|
109 | var sel_mon_admin = document.getElementById('sel_mon_admin'); |
---|
110 | cExecute ("$this.bo_adminaccess.del_monitor_admin", hndDelProc, "proc_id="+sel_mon.value+"&admin_id="+sel_mon_admin.value); |
---|
111 | } |
---|
112 | } |
---|
113 | |
---|
114 | function refresh_org_admins(data) |
---|
115 | { |
---|
116 | var se = document.getElementById('sel_org_admin'); |
---|
117 | |
---|
118 | del_option_values(se); |
---|
119 | |
---|
120 | for (i = 0; i < data.length; i++) |
---|
121 | { |
---|
122 | op = document.createElement("OPTION"); |
---|
123 | op.setAttribute('value',data[i]['uidnumber']); |
---|
124 | op.innerHTML = data[i]['cn']; |
---|
125 | se.appendChild(op); |
---|
126 | } |
---|
127 | } |
---|
128 | |
---|
129 | function refresh_proc_admins(data) |
---|
130 | { |
---|
131 | var se = document.getElementById('sel_proc_admin'); |
---|
132 | |
---|
133 | del_option_values(se); |
---|
134 | |
---|
135 | for (i = 0; i < data.length; i++) |
---|
136 | { |
---|
137 | op = document.createElement("OPTION"); |
---|
138 | op.setAttribute('value',data[i]['uidnumber']); |
---|
139 | op.innerHTML = data[i]['cn']; |
---|
140 | se.appendChild(op); |
---|
141 | } |
---|
142 | } |
---|
143 | |
---|
144 | function refresh_mon_admins(data) |
---|
145 | { |
---|
146 | /* remove information about the user levels */ |
---|
147 | var divUserLevels = document.getElementById("userLevel"); |
---|
148 | divUserLevels.innerHTML = ""; |
---|
149 | |
---|
150 | var se = document.getElementById('sel_mon_admin'); |
---|
151 | |
---|
152 | del_option_values(se); |
---|
153 | |
---|
154 | for (i = 0; i < data.length; i++) |
---|
155 | { |
---|
156 | op = document.createElement("OPTION"); |
---|
157 | op.setAttribute('value',data[i]['uidnumber']); |
---|
158 | op.innerHTML = data[i]['cn']; |
---|
159 | se.appendChild(op); |
---|
160 | } |
---|
161 | } |
---|
162 | |
---|
163 | function add_organogram_admins() |
---|
164 | { |
---|
165 | var hndAddAdmin = function(data) |
---|
166 | { |
---|
167 | refresh_org_admins(data); |
---|
168 | |
---|
169 | se = document.getElementById('sel_org_user'); |
---|
170 | del_option_values(se); |
---|
171 | }; |
---|
172 | |
---|
173 | var sel_org = document.getElementById('sel_org'); |
---|
174 | if (sel_org.value == -1) { |
---|
175 | alert('É necessário selecionar uma organização.'); |
---|
176 | return; |
---|
177 | } |
---|
178 | |
---|
179 | element = document.getElementById('sel_org_user'); |
---|
180 | if (element.options.length == 0) return; |
---|
181 | |
---|
182 | ids = ''; |
---|
183 | for(var i = 0;i < element.options.length; i++) |
---|
184 | { |
---|
185 | if (i) { |
---|
186 | ids += '.'+element.options[i].value; |
---|
187 | } else { |
---|
188 | ids = element.options[i].value; |
---|
189 | } |
---|
190 | } |
---|
191 | |
---|
192 | cExecute ("$this.bo_adminaccess.add_organogram_admins", hndAddAdmin, "org_id="+sel_org.value+"&user_ids="+ids); |
---|
193 | } |
---|
194 | |
---|
195 | function add_process_admins() |
---|
196 | { |
---|
197 | var hndAddAdmin = function(data) |
---|
198 | { |
---|
199 | refresh_proc_admins(data); |
---|
200 | |
---|
201 | var se = document.getElementById('sel_proc_user'); |
---|
202 | del_option_values(se); |
---|
203 | }; |
---|
204 | |
---|
205 | var sel_proc = document.getElementById('sel_proc'); |
---|
206 | if (sel_proc.value == -1) { |
---|
207 | alert('É necessário selecionar um processo.'); |
---|
208 | return; |
---|
209 | } |
---|
210 | |
---|
211 | var element = document.getElementById('sel_proc_user'); |
---|
212 | if (element.options.length == 0) return; |
---|
213 | |
---|
214 | ids = ''; |
---|
215 | for(var i = 0;i < element.options.length; i++) |
---|
216 | { |
---|
217 | if (i) { |
---|
218 | ids += '.'+element.options[i].value; |
---|
219 | } else { |
---|
220 | ids = element.options[i].value; |
---|
221 | } |
---|
222 | } |
---|
223 | |
---|
224 | cExecute ("$this.bo_adminaccess.add_process_admins", hndAddAdmin, "proc_id="+sel_proc.value+"&user_ids="+ids); |
---|
225 | } |
---|
226 | |
---|
227 | function add_monitor_admins() |
---|
228 | { |
---|
229 | var hndAddAdmin = function(data) |
---|
230 | { |
---|
231 | refresh_mon_admins(data); |
---|
232 | |
---|
233 | var se = document.getElementById('sel_mon_user'); |
---|
234 | del_option_values(se); |
---|
235 | }; |
---|
236 | |
---|
237 | var sel_mon = document.getElementById('sel_mon'); |
---|
238 | if (sel_mon.value == -1) { |
---|
239 | alert('É necessário selecionar um processo.'); |
---|
240 | return; |
---|
241 | } |
---|
242 | |
---|
243 | var element = document.getElementById('sel_mon_user'); |
---|
244 | if (element.options.length == 0) return; |
---|
245 | |
---|
246 | ids = ''; |
---|
247 | for(var i = 0;i < element.options.length; i++) |
---|
248 | { |
---|
249 | if (i) { |
---|
250 | ids += '.'+element.options[i].value; |
---|
251 | } else { |
---|
252 | ids = element.options[i].value; |
---|
253 | } |
---|
254 | } |
---|
255 | |
---|
256 | cExecute ("$this.bo_adminaccess.add_monitor_admins", hndAddAdmin, "proc_id="+sel_mon.value+"&user_ids="+ids); |
---|
257 | } |
---|
258 | |
---|
259 | function fillOrgAdmins() |
---|
260 | { |
---|
261 | var hndAdminList = function(data) |
---|
262 | { |
---|
263 | refresh_org_admins(data); |
---|
264 | }; |
---|
265 | |
---|
266 | var sel_org = document.getElementById('sel_org'); |
---|
267 | cExecute ("$this.bo_adminaccess.get_organogram_admins", hndAdminList, "org_id="+sel_org.value); |
---|
268 | } |
---|
269 | |
---|
270 | function fillProcAdmins() |
---|
271 | { |
---|
272 | var hndAdminList = function(data) |
---|
273 | { |
---|
274 | refresh_proc_admins(data); |
---|
275 | }; |
---|
276 | |
---|
277 | var sel_proc = document.getElementById('sel_proc'); |
---|
278 | cExecute ("$this.bo_adminaccess.get_process_admins", hndAdminList, "proc_id="+sel_proc.value); |
---|
279 | } |
---|
280 | |
---|
281 | function fillMonAdmins() |
---|
282 | { |
---|
283 | var hndAdminList = function(data) |
---|
284 | { |
---|
285 | refresh_mon_admins(data); |
---|
286 | }; |
---|
287 | |
---|
288 | var sel_mon = document.getElementById('sel_mon'); |
---|
289 | cExecute ("$this.bo_adminaccess.get_monitor_admins", hndAdminList, "proc_id="+sel_mon.value); |
---|
290 | } |
---|
291 | |
---|
292 | function draw_organogram_control() |
---|
293 | { |
---|
294 | var fillOrgs = function(data) |
---|
295 | { |
---|
296 | se = document.getElementById('sel_org'); |
---|
297 | |
---|
298 | op = document.createElement("OPTION"); |
---|
299 | op.setAttribute('value',-1); |
---|
300 | se.appendChild(op); |
---|
301 | |
---|
302 | for (i = 0; i < data.length; i++) |
---|
303 | { |
---|
304 | op = document.createElement("OPTION"); |
---|
305 | op.setAttribute('value',data[i]['organizacao_id']); |
---|
306 | op.innerHTML = data[i]['nome']; |
---|
307 | se.appendChild(op); |
---|
308 | } |
---|
309 | }; |
---|
310 | |
---|
311 | |
---|
312 | var control_folder = getFolder(2); |
---|
313 | var input_width = '300px'; |
---|
314 | var input_height = '150px'; |
---|
315 | |
---|
316 | control_folder.appendChild(document.createElement('BR')); |
---|
317 | control_folder.appendChild(document.createElement('BR')); |
---|
318 | |
---|
319 | tb_out = document.createElement("TABLE"); |
---|
320 | to_out = document.createElement("TBODY"); |
---|
321 | tr_out = document.createElement("TR"); |
---|
322 | td_out = document.createElement("TD"); |
---|
323 | |
---|
324 | tb = document.createElement("TABLE"); |
---|
325 | to = document.createElement("TBODY"); |
---|
326 | tr = document.createElement("TR"); |
---|
327 | td = document.createElement("TD"); |
---|
328 | |
---|
329 | td.innerHTML = 'Organização:<br>'; |
---|
330 | se = document.createElement("SELECT"); |
---|
331 | se.setAttribute('name','sel_org'); |
---|
332 | se.setAttribute('id','sel_org'); |
---|
333 | se.onchange = function() { fillOrgAdmins(); }; |
---|
334 | se.style.width = input_width; |
---|
335 | |
---|
336 | td.appendChild(se); |
---|
337 | tr.appendChild(td); |
---|
338 | |
---|
339 | td = document.createElement("TD"); |
---|
340 | tr.appendChild(td); |
---|
341 | td = document.createElement("TD"); |
---|
342 | tr.appendChild(td); |
---|
343 | to.appendChild(tr); |
---|
344 | |
---|
345 | tr = document.createElement("TR"); |
---|
346 | td = document.createElement("TD"); |
---|
347 | td.setAttribute("colSpan", 3); |
---|
348 | td.innerHTML = " "; |
---|
349 | tr.appendChild(td); |
---|
350 | to.appendChild(tr); |
---|
351 | |
---|
352 | tr = document.createElement("TR"); |
---|
353 | td = document.createElement("TD"); |
---|
354 | |
---|
355 | td.innerHTML = 'Administradores do organograma:<br>'; |
---|
356 | se = document.createElement("SELECT"); |
---|
357 | se.setAttribute('size','10'); |
---|
358 | se.setAttribute('id','sel_org_admin'); |
---|
359 | se.onchange = function() { loadLevelORG(); }; |
---|
360 | se.style.width = input_width; |
---|
361 | se.style.height = input_height; |
---|
362 | |
---|
363 | td.appendChild(se); |
---|
364 | tr.appendChild(td); |
---|
365 | to.appendChild(tr); |
---|
366 | |
---|
367 | td = document.createElement('TD'); |
---|
368 | td.setAttribute('align','center'); |
---|
369 | li = document.createElement('A'); |
---|
370 | li.setAttribute('href',"javascript:add_organogram_admins()"); |
---|
371 | im = new Image(); |
---|
372 | im.src = _icon_dir+'/add_org_admin.png'; |
---|
373 | li.appendChild(im); |
---|
374 | td.appendChild(li); |
---|
375 | td.appendChild(document.createElement('BR')); |
---|
376 | li = document.createElement('A'); |
---|
377 | li.setAttribute('href',"javascript:add_organogram_admins()"); |
---|
378 | li.innerHTML = 'Adicionar'; |
---|
379 | td.appendChild(li); |
---|
380 | tr.appendChild(td); |
---|
381 | |
---|
382 | td = document.createElement("TD"); |
---|
383 | td.innerHTML = 'Usuários para adicionar:<br>'; |
---|
384 | td.setAttribute('valign','top'); |
---|
385 | se = document.createElement("SELECT"); |
---|
386 | se.setAttribute('name','file'); |
---|
387 | se.setAttribute('id','sel_org_user'); |
---|
388 | se.setAttribute('size','10'); |
---|
389 | se.style.width = input_width; |
---|
390 | se.style.height = input_height; |
---|
391 | |
---|
392 | td.appendChild(se); |
---|
393 | tr.appendChild(td); |
---|
394 | to.appendChild(tr); |
---|
395 | |
---|
396 | tr = document.createElement("TR"); |
---|
397 | |
---|
398 | td = document.createElement("TD"); |
---|
399 | td.setAttribute('align','right'); |
---|
400 | bt = document.createElement("INPUT"); |
---|
401 | bt.setAttribute('type','button'); |
---|
402 | bt.setAttribute('name','Remover'); |
---|
403 | bt.setAttribute('value','Remover'); |
---|
404 | bt.onclick = function() { del_organogram_admin(); }; |
---|
405 | td.appendChild(bt); |
---|
406 | tr.appendChild(td); |
---|
407 | |
---|
408 | td = document.createElement("TD"); |
---|
409 | tr.appendChild(td); |
---|
410 | |
---|
411 | td = document.createElement("TD"); |
---|
412 | td.setAttribute('align','right'); |
---|
413 | |
---|
414 | bt = document.createElement("INPUT"); |
---|
415 | bt.setAttribute('type','button'); |
---|
416 | bt.setAttribute('name','Selecionar'); |
---|
417 | bt.setAttribute('value','Selecionar'); |
---|
418 | bt.onclick = function() { openParticipants('sel_org_user', 'hidegroups=1'); }; |
---|
419 | td.appendChild(bt); |
---|
420 | |
---|
421 | bt = document.createElement("INPUT"); |
---|
422 | bt.setAttribute('type','button'); |
---|
423 | bt.setAttribute('name','Remover'); |
---|
424 | bt.setAttribute('value','Remover'); |
---|
425 | bt.onclick = function() { del_selected_reg('sel_org_user'); }; |
---|
426 | td.appendChild(bt); |
---|
427 | tr.appendChild(td); |
---|
428 | |
---|
429 | to.appendChild(tr); |
---|
430 | tb.appendChild(to); |
---|
431 | |
---|
432 | /* include the cell that will hold the user level interface */ |
---|
433 | tr = document.createElement("TR"); |
---|
434 | td = document.createElement("TD"); |
---|
435 | td.setAttribute("id", "userLevelORG"); |
---|
436 | td.setAttribute("colSpan", 3); |
---|
437 | tr.appendChild(td); |
---|
438 | to.appendChild(tr); |
---|
439 | tb.appendChild(to); |
---|
440 | |
---|
441 | tb_out.setAttribute('align','center'); |
---|
442 | td_out.appendChild(tb); |
---|
443 | tr_out.appendChild(td_out); |
---|
444 | to_out.appendChild(tr_out); |
---|
445 | tb_out.appendChild(to_out); |
---|
446 | |
---|
447 | control_folder.appendChild(tb_out); |
---|
448 | |
---|
449 | cExecute ("$this.bo_orgchart.listOrganization", fillOrgs, ""); |
---|
450 | } |
---|
451 | |
---|
452 | function draw_process_control() |
---|
453 | { |
---|
454 | var fillProcs = function(data) |
---|
455 | { |
---|
456 | var se = document.getElementById('sel_proc'); |
---|
457 | |
---|
458 | var op = document.createElement("OPTION"); |
---|
459 | op.setAttribute('value',-1); |
---|
460 | se.appendChild(op); |
---|
461 | |
---|
462 | for (i = 0; i < data.length; i++) |
---|
463 | { |
---|
464 | op = document.createElement("OPTION"); |
---|
465 | op.setAttribute('value',data[i]['proc_in_id']); |
---|
466 | op.innerHTML = data[i]['proc_st_name']; |
---|
467 | se.appendChild(op); |
---|
468 | } |
---|
469 | }; |
---|
470 | |
---|
471 | |
---|
472 | var control_folder = getFolder(3); |
---|
473 | var input_width = '300px'; |
---|
474 | var input_height = '150px'; |
---|
475 | |
---|
476 | control_folder.appendChild(document.createElement('BR')); |
---|
477 | control_folder.appendChild(document.createElement('BR')); |
---|
478 | |
---|
479 | tb_out = document.createElement("TABLE"); |
---|
480 | to_out = document.createElement("TBODY"); |
---|
481 | tr_out = document.createElement("TR"); |
---|
482 | td_out = document.createElement("TD"); |
---|
483 | |
---|
484 | tb = document.createElement("TABLE"); |
---|
485 | to = document.createElement("TBODY"); |
---|
486 | tr = document.createElement("TR"); |
---|
487 | td = document.createElement("TD"); |
---|
488 | |
---|
489 | td.innerHTML = 'Processo:<br>'; |
---|
490 | se = document.createElement("SELECT"); |
---|
491 | se.setAttribute('name','sel_proc'); |
---|
492 | se.setAttribute('id','sel_proc'); |
---|
493 | se.onchange = function() { fillProcAdmins(); }; |
---|
494 | se.style.width = input_width; |
---|
495 | |
---|
496 | td.appendChild(se); |
---|
497 | tr.appendChild(td); |
---|
498 | |
---|
499 | td = document.createElement("TD"); |
---|
500 | tr.appendChild(td); |
---|
501 | td = document.createElement("TD"); |
---|
502 | tr.appendChild(td); |
---|
503 | to.appendChild(tr); |
---|
504 | |
---|
505 | tr = document.createElement("TR"); |
---|
506 | td = document.createElement("TD"); |
---|
507 | td.setAttribute("colSpan", 3); |
---|
508 | td.innerHTML = " "; |
---|
509 | tr.appendChild(td); |
---|
510 | to.appendChild(tr); |
---|
511 | |
---|
512 | tr = document.createElement("TR"); |
---|
513 | td = document.createElement("TD"); |
---|
514 | |
---|
515 | td.innerHTML = 'Administradores do processo:<br>'; |
---|
516 | se = document.createElement("SELECT"); |
---|
517 | se.setAttribute('size','10'); |
---|
518 | se.setAttribute('id','sel_proc_admin'); |
---|
519 | se.style.width = input_width; |
---|
520 | se.style.height = input_height; |
---|
521 | |
---|
522 | td.appendChild(se); |
---|
523 | tr.appendChild(td); |
---|
524 | to.appendChild(tr); |
---|
525 | |
---|
526 | td = document.createElement('TD'); |
---|
527 | td.setAttribute('align','center'); |
---|
528 | li = document.createElement('A'); |
---|
529 | li.setAttribute('href',"javascript:add_process_admins()"); |
---|
530 | im = new Image(); |
---|
531 | im.src = _icon_dir+'/add_org_admin.png'; |
---|
532 | li.appendChild(im); |
---|
533 | td.appendChild(li); |
---|
534 | td.appendChild(document.createElement('BR')); |
---|
535 | li = document.createElement('A'); |
---|
536 | li.setAttribute('href',"javascript:add_process_admins()"); |
---|
537 | li.innerHTML = 'Adicionar'; |
---|
538 | td.appendChild(li); |
---|
539 | tr.appendChild(td); |
---|
540 | |
---|
541 | td = document.createElement("TD"); |
---|
542 | td.innerHTML = 'Usuários para adicionar:<br>'; |
---|
543 | td.setAttribute('valign','top'); |
---|
544 | se = document.createElement("SELECT"); |
---|
545 | se.setAttribute('name','file'); |
---|
546 | se.setAttribute('id','sel_proc_user'); |
---|
547 | se.setAttribute('size','10'); |
---|
548 | se.style.width = input_width; |
---|
549 | se.style.height = input_height; |
---|
550 | |
---|
551 | td.appendChild(se); |
---|
552 | tr.appendChild(td); |
---|
553 | to.appendChild(tr); |
---|
554 | |
---|
555 | tr = document.createElement("TR"); |
---|
556 | |
---|
557 | td = document.createElement("TD"); |
---|
558 | td.setAttribute('align','right'); |
---|
559 | bt = document.createElement("INPUT"); |
---|
560 | bt.setAttribute('type','button'); |
---|
561 | bt.setAttribute('name','Remover'); |
---|
562 | bt.setAttribute('value','Remover'); |
---|
563 | bt.onclick = function() { del_process_admin(); }; |
---|
564 | td.appendChild(bt); |
---|
565 | tr.appendChild(td); |
---|
566 | |
---|
567 | td = document.createElement("TD"); |
---|
568 | tr.appendChild(td); |
---|
569 | |
---|
570 | td = document.createElement("TD"); |
---|
571 | td.setAttribute('align','right'); |
---|
572 | |
---|
573 | bt = document.createElement("INPUT"); |
---|
574 | bt.setAttribute('type','button'); |
---|
575 | bt.setAttribute('name','Selecionar'); |
---|
576 | bt.setAttribute('value','Selecionar'); |
---|
577 | bt.onclick = function() { openParticipants('sel_proc_user', ''); }; |
---|
578 | td.appendChild(bt); |
---|
579 | |
---|
580 | bt = document.createElement("INPUT"); |
---|
581 | bt.setAttribute('type','button'); |
---|
582 | bt.setAttribute('name','Remover'); |
---|
583 | bt.setAttribute('value','Remover'); |
---|
584 | bt.onclick = function() { del_selected_reg('sel_proc_user'); }; |
---|
585 | td.appendChild(bt); |
---|
586 | tr.appendChild(td); |
---|
587 | |
---|
588 | to.appendChild(tr); |
---|
589 | tb.appendChild(to); |
---|
590 | |
---|
591 | tb_out.setAttribute('align','center'); |
---|
592 | td_out.appendChild(tb); |
---|
593 | tr_out.appendChild(td_out); |
---|
594 | to_out.appendChild(tr_out); |
---|
595 | tb_out.appendChild(to_out); |
---|
596 | |
---|
597 | control_folder.appendChild(tb_out); |
---|
598 | |
---|
599 | cExecute ("$this.bo_adminaccess.get_all_processes", fillProcs, ""); |
---|
600 | } |
---|
601 | |
---|
602 | function draw_monitor_control() |
---|
603 | { |
---|
604 | var fillProcsMon = function(data) |
---|
605 | { |
---|
606 | var se = document.getElementById('sel_mon'); |
---|
607 | |
---|
608 | var op = document.createElement("OPTION"); |
---|
609 | op.setAttribute('value',-1); |
---|
610 | se.appendChild(op); |
---|
611 | |
---|
612 | for (i = 0; i < data.length; i++) |
---|
613 | { |
---|
614 | op = document.createElement("OPTION"); |
---|
615 | op.setAttribute('value',data[i]['proc_in_id']); |
---|
616 | op.innerHTML = data[i]['proc_st_name']; |
---|
617 | se.appendChild(op); |
---|
618 | } |
---|
619 | }; |
---|
620 | |
---|
621 | |
---|
622 | var control_folder = getFolder(4); |
---|
623 | var input_width = '300px'; |
---|
624 | var input_height = '150px'; |
---|
625 | |
---|
626 | control_folder.appendChild(document.createElement('BR')); |
---|
627 | control_folder.appendChild(document.createElement('BR')); |
---|
628 | |
---|
629 | tb_out = document.createElement("TABLE"); |
---|
630 | to_out = document.createElement("TBODY"); |
---|
631 | tr_out = document.createElement("TR"); |
---|
632 | td_out = document.createElement("TD"); |
---|
633 | |
---|
634 | tb = document.createElement("TABLE"); |
---|
635 | to = document.createElement("TBODY"); |
---|
636 | tr = document.createElement("TR"); |
---|
637 | td = document.createElement("TD"); |
---|
638 | |
---|
639 | td.innerHTML = 'Processo:<br>'; |
---|
640 | se = document.createElement("SELECT"); |
---|
641 | se.setAttribute('name','sel_mon'); |
---|
642 | se.setAttribute('id','sel_mon'); |
---|
643 | se.onchange = function() { fillMonAdmins(); }; |
---|
644 | se.style.width = input_width; |
---|
645 | |
---|
646 | td.appendChild(se); |
---|
647 | tr.appendChild(td); |
---|
648 | |
---|
649 | td = document.createElement("TD"); |
---|
650 | tr.appendChild(td); |
---|
651 | td = document.createElement("TD"); |
---|
652 | tr.appendChild(td); |
---|
653 | to.appendChild(tr); |
---|
654 | |
---|
655 | tr = document.createElement("TR"); |
---|
656 | td = document.createElement("TD"); |
---|
657 | td.setAttribute("colSpan", 3); |
---|
658 | td.innerHTML = " "; |
---|
659 | tr.appendChild(td); |
---|
660 | to.appendChild(tr); |
---|
661 | |
---|
662 | tr = document.createElement("TR"); |
---|
663 | td = document.createElement("TD"); |
---|
664 | |
---|
665 | td.innerHTML = 'Usuários monitores:<br>'; |
---|
666 | se = document.createElement("SELECT"); |
---|
667 | se.setAttribute('size','10'); |
---|
668 | se.setAttribute('id','sel_mon_admin'); |
---|
669 | se.onchange = function() { loadLevel(); }; |
---|
670 | se.style.width = input_width; |
---|
671 | se.style.height = input_height; |
---|
672 | |
---|
673 | td.appendChild(se); |
---|
674 | tr.appendChild(td); |
---|
675 | to.appendChild(tr); |
---|
676 | |
---|
677 | td = document.createElement('TD'); |
---|
678 | td.setAttribute('align','center'); |
---|
679 | li = document.createElement('A'); |
---|
680 | li.setAttribute('href',"javascript:add_monitor_admins()"); |
---|
681 | im = new Image(); |
---|
682 | im.src = _icon_dir+'/add_org_admin.png'; |
---|
683 | li.appendChild(im); |
---|
684 | td.appendChild(li); |
---|
685 | td.appendChild(document.createElement('BR')); |
---|
686 | li = document.createElement('A'); |
---|
687 | li.setAttribute('href',"javascript:add_monitor_admins()"); |
---|
688 | li.innerHTML = 'Adicionar'; |
---|
689 | td.appendChild(li); |
---|
690 | tr.appendChild(td); |
---|
691 | |
---|
692 | td = document.createElement("TD"); |
---|
693 | td.innerHTML = 'Usuários para adicionar:<br>'; |
---|
694 | td.setAttribute('valign','top'); |
---|
695 | se = document.createElement("SELECT"); |
---|
696 | se.setAttribute('name','file'); |
---|
697 | se.setAttribute('id','sel_mon_user'); |
---|
698 | se.setAttribute('size','10'); |
---|
699 | se.style.width = input_width; |
---|
700 | se.style.height = input_height; |
---|
701 | |
---|
702 | td.appendChild(se); |
---|
703 | tr.appendChild(td); |
---|
704 | to.appendChild(tr); |
---|
705 | |
---|
706 | tr = document.createElement("TR"); |
---|
707 | |
---|
708 | td = document.createElement("TD"); |
---|
709 | td.setAttribute('align','right'); |
---|
710 | bt = document.createElement("INPUT"); |
---|
711 | bt.setAttribute('type','button'); |
---|
712 | bt.setAttribute('name','Remover'); |
---|
713 | bt.setAttribute('value','Remover'); |
---|
714 | bt.onclick = function() { del_monitor_admin(); }; |
---|
715 | td.appendChild(bt); |
---|
716 | tr.appendChild(td); |
---|
717 | |
---|
718 | td = document.createElement("TD"); |
---|
719 | tr.appendChild(td); |
---|
720 | |
---|
721 | td = document.createElement("TD"); |
---|
722 | td.setAttribute('align','right'); |
---|
723 | |
---|
724 | bt = document.createElement("INPUT"); |
---|
725 | bt.setAttribute('type','button'); |
---|
726 | bt.setAttribute('name','Selecionar'); |
---|
727 | bt.setAttribute('value','Selecionar'); |
---|
728 | bt.onclick = function() { openParticipants('sel_mon_user', ''); }; |
---|
729 | td.appendChild(bt); |
---|
730 | |
---|
731 | bt = document.createElement("INPUT"); |
---|
732 | bt.setAttribute('type','button'); |
---|
733 | bt.setAttribute('name','Remover'); |
---|
734 | bt.setAttribute('value','Remover'); |
---|
735 | bt.onclick = function() { del_selected_reg('sel_mon_user'); }; |
---|
736 | td.appendChild(bt); |
---|
737 | tr.appendChild(td); |
---|
738 | |
---|
739 | to.appendChild(tr); |
---|
740 | |
---|
741 | /* include the cell that will hold the user level interface */ |
---|
742 | tr = document.createElement("TR"); |
---|
743 | td = document.createElement("TD"); |
---|
744 | td.setAttribute("id", "userLevel"); |
---|
745 | td.setAttribute("colSpan", 3); |
---|
746 | tr.appendChild(td); |
---|
747 | to.appendChild(tr); |
---|
748 | tb.appendChild(to); |
---|
749 | |
---|
750 | tb_out.setAttribute('align','center'); |
---|
751 | td_out.appendChild(tb); |
---|
752 | tr_out.appendChild(td_out); |
---|
753 | to_out.appendChild(tr_out); |
---|
754 | tb_out.appendChild(to_out); |
---|
755 | |
---|
756 | control_folder.appendChild(tb_out); |
---|
757 | |
---|
758 | cExecute ("$this.bo_adminaccess.get_all_processes", fillProcsMon, ""); |
---|
759 | } |
---|
760 | |
---|
761 | function draw_external_application_control() |
---|
762 | { |
---|
763 | function fillExternalApplications(data) |
---|
764 | { |
---|
765 | var content = '<option value="-1"></option>'; |
---|
766 | for (i = 0; i < data.length; i++) |
---|
767 | content += '<option value="' + data[i]['external_application_id'] + '">' + data[i]['name'] + '</option>'; |
---|
768 | setSelectValue(document.getElementById('sel_exa'), content); |
---|
769 | } |
---|
770 | |
---|
771 | var inputWidth = '300px'; |
---|
772 | var inputHeight = '150px'; |
---|
773 | |
---|
774 | var content = '<br/><br/>'; |
---|
775 | content += '<table align="center"><tr><td>'; |
---|
776 | content += '<table>'; |
---|
777 | content += '<tr><td>Aplicações Externas:<br/><select name="sel_exa" id="sel_exa" onchange="fillExternalApplicationAdmins();" style="width: ' + inputWidth + ';"></select></td><td></td><td></td></tr>'; |
---|
778 | content += '<tr><td colspan="3"> </td></tr>'; |
---|
779 | content += '<tr>'; |
---|
780 | content += '<td>Usuários com acesso:<br/><select id="sel_exa_admin" size="10" style="width: ' + inputWidth + '; height: ' + inputHeight + ';"/></td>'; |
---|
781 | content += '<td align="center"><a href="javascript:addExternalApplicationAdmins()"><img src="' + _icon_dir + 'add_org_admin.png"/></a><br/><a href="javascript:addExternalApplicationAdmins();">Adicionar</a></td>'; |
---|
782 | content += '<td valign="top">Usuários para adicionar:<br/><select id="sel_exa_user" name="file" size="10" style="width: ' + inputWidth + '; height: ' + inputHeight + ';"/></td>'; |
---|
783 | content += '</tr>'; |
---|
784 | content += '<tr>'; |
---|
785 | content += '<td align="right"><input type="button" name="Remover" value="Remover" onclick="deleteExternalApplicationAdmin();"/></td>'; |
---|
786 | content += '<td></td>'; |
---|
787 | content += '<td align="right"><input type="button" name="Selecionar" value="Selecionar" onclick="openParticipants(\'sel_exa_user\', \'\')"/><input type="button" name="Remover" value="Remover" onclick="del_selected_reg(\'sel_exa_user\');"/></td>'; |
---|
788 | content += '</tr>'; |
---|
789 | content += '<tr><td colspan="3"></td></tr>'; |
---|
790 | content += '</table></td></tr></table>'; |
---|
791 | |
---|
792 | getFolder(5).innerHTML = content; |
---|
793 | cExecute ("$this.bo_external_applications.getExternalApplications", fillExternalApplications, ""); |
---|
794 | } |
---|
795 | |
---|
796 | function fillExternalApplicationAdmins() |
---|
797 | { |
---|
798 | cExecute ("$this.bo_adminaccess.getExternalApplicationAdmins", refreshExternalApplicationAdmins, "external_application_id=" + document.getElementById('sel_exa').value); |
---|
799 | } |
---|
800 | |
---|
801 | function deleteExternalApplicationAdmin() |
---|
802 | { |
---|
803 | if (confirm('Tem certeza que deseja excluir o registro selecionado?')) |
---|
804 | cExecute ("$this.bo_adminaccess.deleteExternalApplicationAdmin", refreshExternalApplicationAdmins, "external_application_id=" + document.getElementById('sel_exa').value + "&admin_id=" + document.getElementById('sel_exa_admin').value); |
---|
805 | } |
---|
806 | |
---|
807 | function addExternalApplicationAdmins() |
---|
808 | { |
---|
809 | var sel_exa = document.getElementById('sel_exa'); |
---|
810 | if (sel_exa.value == -1) |
---|
811 | { |
---|
812 | alert('É necessário selecionar uma Aplicação Externa.'); |
---|
813 | return; |
---|
814 | } |
---|
815 | |
---|
816 | var element = document.getElementById('sel_exa_user'); |
---|
817 | if (element.options.length == 0) |
---|
818 | return; |
---|
819 | |
---|
820 | var ids = ''; |
---|
821 | for(var i = 0; i < element.options.length; i++) |
---|
822 | ids += ((i == 0) ? '' : '.') + element.options[i].value; |
---|
823 | |
---|
824 | cExecute("$this.bo_adminaccess.addExternalApplicationAdmins", function(data){refreshExternalApplicationAdmins(data); document.getElementById('sel_exa_user').innerHTML = '';}, "external_application_id="+sel_exa.value+"&user_ids="+ids); |
---|
825 | } |
---|
826 | |
---|
827 | function refreshExternalApplicationAdmins(data) |
---|
828 | { |
---|
829 | var content = ''; |
---|
830 | for (var i = 0; i < data.length; i++) |
---|
831 | content += '<option value="' + data[i]['uidnumber'] + '">' + data[i]['cn'] + '</option>'; |
---|
832 | setSelectValue(document.getElementById('sel_exa_admin'), content); |
---|
833 | } |
---|
834 | |
---|
835 | function draw_administration_control() |
---|
836 | { |
---|
837 | var inputWidth = '300px'; |
---|
838 | var inputHeight = '150px'; |
---|
839 | |
---|
840 | var content = '<br/><br/>'; |
---|
841 | content += '<table align="center"><tr><td>'; |
---|
842 | content += '<table>'; |
---|
843 | content += '<tr>'; |
---|
844 | content += '<td>Administradores do Módulo:<br/><select id="selectWorkflowAdmins" size="10" style="width: ' + inputWidth + '; height: ' + inputHeight + ';"/></td>'; |
---|
845 | content += '<td align="center"><a href="javascript:addWorkflowAdministrators()"><img src="' + _icon_dir + 'add_org_admin.png"/></a><br/><a href="javascript:addWorkflowAdministrators();">Adicionar</a></td>'; |
---|
846 | content += '<td valign="top">Usuários para adicionar:<br/><select id="selectWorkflowUsers" name="file" size="10" style="width: ' + inputWidth + '; height: ' + inputHeight + ';"/></td>'; |
---|
847 | content += '</tr>'; |
---|
848 | content += '<tr>'; |
---|
849 | content += '<td align="right"><input type="button" name="Remover" value="Remover" onclick="deleteWorkflowAdministrators();"/></td>'; |
---|
850 | content += '<td></td>'; |
---|
851 | content += '<td align="right"><input type="button" name="Selecionar" value="Selecionar" onclick="openParticipants(\'selectWorkflowUsers\', \'\')"/><input type="button" name="Remover" value="Remover" onclick="del_selected_reg(\'selectWorkflowUsers\');"/></td>'; |
---|
852 | content += '</tr>'; |
---|
853 | content += '<tr><td colspan="3"></td></tr>'; |
---|
854 | content += '</table></td></tr></table>'; |
---|
855 | |
---|
856 | getFolder(0).innerHTML = content; |
---|
857 | cExecute ("$this.bo_adminaccess.getWorkflowAdministrators", refreshWorkflowAdministrators, ""); |
---|
858 | } |
---|
859 | |
---|
860 | function refreshWorkflowAdministrators(data) |
---|
861 | { |
---|
862 | var content = ''; |
---|
863 | for (var i = 0; i < data.length; i++) |
---|
864 | content += '<option value="' + data[i]['uidnumber'] + '">' + data[i]['cn'] + '</option>'; |
---|
865 | setSelectValue(document.getElementById('selectWorkflowAdmins'), content); |
---|
866 | } |
---|
867 | |
---|
868 | function addWorkflowAdministrators() |
---|
869 | { |
---|
870 | var element = document.getElementById('selectWorkflowUsers'); |
---|
871 | if (element.options.length == 0) |
---|
872 | return; |
---|
873 | |
---|
874 | var ids = ''; |
---|
875 | for(var i = 0; i < element.options.length; i++) |
---|
876 | ids += ((i == 0) ? '' : '.') + element.options[i].value; |
---|
877 | |
---|
878 | cExecute("$this.bo_adminaccess.addWorkflowAdministrators", function(data){refreshWorkflowAdministrators(data); document.getElementById('selectWorkflowUsers').innerHTML = '';}, "user_ids="+ids); |
---|
879 | } |
---|
880 | |
---|
881 | function deleteWorkflowAdministrators() |
---|
882 | { |
---|
883 | if (confirm('Tem certeza que deseja excluir o registro selecionado?')) |
---|
884 | cExecute("$this.bo_adminaccess.deleteWorkflowAdministrators", refreshWorkflowAdministrators, "admin_id=" + document.getElementById('selectWorkflowAdmins').value); |
---|
885 | } |
---|
886 | |
---|
887 | function draw_development_control() |
---|
888 | { |
---|
889 | var inputWidth = '300px'; |
---|
890 | var inputHeight = '150px'; |
---|
891 | |
---|
892 | var content = '<br/><br/>'; |
---|
893 | content += '<table align="center"><tr><td>'; |
---|
894 | content += '<table>'; |
---|
895 | content += '<tr>'; |
---|
896 | content += '<td>Desenvolvedores de processos:<br/><select id="selectDevelopmentAdmins" size="10" style="width: ' + inputWidth + '; height: ' + inputHeight + ';"/></td>'; |
---|
897 | content += '<td align="center"><a href="javascript:addDevelopmentAdministrators()"><img src="' + _icon_dir + 'add_org_admin.png"/></a><br/><a href="javascript:addDevelopmentAdministrators();">Adicionar</a></td>'; |
---|
898 | content += '<td valign="top">Usuários para adicionar:<br/><select id="selectDevelopmentUsers" name="file" size="10" style="width: ' + inputWidth + '; height: ' + inputHeight + ';"/></td>'; |
---|
899 | content += '</tr>'; |
---|
900 | content += '<tr>'; |
---|
901 | content += '<td align="right"><input type="button" name="Remover" value="Remover" onclick="deleteDevelopmentAdministrators();"/></td>'; |
---|
902 | content += '<td></td>'; |
---|
903 | content += '<td align="right"><input type="button" name="Selecionar" value="Selecionar" onclick="openParticipants(\'selectDevelopmentUsers\', \'\')"/><input type="button" name="Remover" value="Remover" onclick="del_selected_reg(\'selectDevelopmentUsers\');"/></td>'; |
---|
904 | content += '</tr>'; |
---|
905 | content += '<tr><td colspan="3"></td></tr>'; |
---|
906 | content += '</table></td></tr></table>'; |
---|
907 | |
---|
908 | getFolder(1).innerHTML = content; |
---|
909 | cExecute ("$this.bo_adminaccess.getDevelopmentAdministrators", refreshDevelopmentAdministrators, ""); |
---|
910 | } |
---|
911 | |
---|
912 | function refreshDevelopmentAdministrators(data) |
---|
913 | { |
---|
914 | var content = ''; |
---|
915 | for (var i = 0; i < data.length; i++) |
---|
916 | content += '<option value="' + data[i]['uidnumber'] + '">' + data[i]['cn'] + '</option>'; |
---|
917 | setSelectValue(document.getElementById('selectDevelopmentAdmins'), content); |
---|
918 | } |
---|
919 | |
---|
920 | function addDevelopmentAdministrators() |
---|
921 | { |
---|
922 | var element = document.getElementById('selectDevelopmentUsers'); |
---|
923 | if (element.options.length == 0) |
---|
924 | return; |
---|
925 | |
---|
926 | var ids = ''; |
---|
927 | for(var i = 0; i < element.options.length; i++) |
---|
928 | ids += ((i == 0) ? '' : '.') + element.options[i].value; |
---|
929 | |
---|
930 | cExecute("$this.bo_adminaccess.addDevelopmentAdministrators", function(data){refreshDevelopmentAdministrators(data); document.getElementById('selectDevelopmentUsers').innerHTML = '';}, "user_ids="+ids); |
---|
931 | } |
---|
932 | |
---|
933 | function deleteDevelopmentAdministrators() |
---|
934 | { |
---|
935 | if (confirm('Tem certeza que deseja excluir o registro selecionado?')) |
---|
936 | cExecute("$this.bo_adminaccess.deleteDevelopmentAdministrators", refreshDevelopmentAdministrators, "admin_id=" + document.getElementById('selectDevelopmentAdmins').value); |
---|
937 | } |
---|
938 | |
---|
939 | /* construct the user level interface */ |
---|
940 | function loadLevel() |
---|
941 | { |
---|
942 | /* required parameters */ |
---|
943 | var pid = document.getElementById('sel_mon').value; |
---|
944 | var uid = document.getElementById('sel_mon_admin').value; |
---|
945 | |
---|
946 | var loadLevelHandler = function(data) |
---|
947 | { |
---|
948 | var userLevelContainer = document.getElementById("userLevel"); |
---|
949 | userLevelContainer.innerHTML = ""; |
---|
950 | |
---|
951 | /* checkboxes creation */ |
---|
952 | var checkBoxesPerRow = 2; |
---|
953 | var tb_out = document.createElement("TABLE"); |
---|
954 | var to_out = document.createElement("TBODY"); |
---|
955 | var tr = document.createElement("TR"); |
---|
956 | var td = document.createElement("TD"); |
---|
957 | td.innerHTML = "Permissões de Acesso:"; |
---|
958 | tr.appendChild(td); |
---|
959 | to_out.appendChild(tr); |
---|
960 | var table = document.createElement("TABLE"); |
---|
961 | var tbody = document.createElement("TBODY"); |
---|
962 | table.style.border='1px solid gray'; |
---|
963 | tr = null; |
---|
964 | td = null; |
---|
965 | for (var i = 0; i < permissionList.length; i++) |
---|
966 | { |
---|
967 | /* create the checkbox and the label */ |
---|
968 | var checkBox = document.createElement("INPUT"); |
---|
969 | checkBox.setAttribute("id", "cb_" + permissionList[i]['value']); |
---|
970 | checkBox.setAttribute("type", "checkbox"); |
---|
971 | if (data['bits'][permissionList[i]['value']]) |
---|
972 | checkBox.defaultChecked = true; |
---|
973 | |
---|
974 | var label = "<label for=\"cb_" + permissionList[i]['value'] + "\">" + permissionList[i]['name'] + "</label>"; |
---|
975 | /* if necessary, start a new row */ |
---|
976 | if (!tr || (tr.childNodes.length == 2*checkBoxesPerRow)) |
---|
977 | tr = document.createElement("TR"); |
---|
978 | td = document.createElement("TD"); |
---|
979 | td.innerHTML = label; |
---|
980 | tr.appendChild(td); |
---|
981 | td = document.createElement("TD"); |
---|
982 | td.appendChild(checkBox); |
---|
983 | tr.appendChild(td); |
---|
984 | |
---|
985 | /* check if the row is "complete" */ |
---|
986 | if (tr.childNodes.length == 2*checkBoxesPerRow) |
---|
987 | { |
---|
988 | tbody.appendChild(tr); |
---|
989 | } |
---|
990 | else |
---|
991 | { |
---|
992 | if (i == (permissionList.length - 1)) |
---|
993 | { |
---|
994 | tr.appendChild(document.createElement("TD")); |
---|
995 | tr.appendChild(document.createElement("TD")); |
---|
996 | tbody.appendChild(tr); |
---|
997 | } |
---|
998 | } |
---|
999 | } |
---|
1000 | tr = document.createElement("TR"); |
---|
1001 | td = document.createElement("TD"); |
---|
1002 | td.colSpan = 4; |
---|
1003 | td.align = 'center'; |
---|
1004 | var toggleButton = document.createElement("BUTTON"); |
---|
1005 | toggleButton.onclick = toggleCheckboxes; |
---|
1006 | toggleButton.innerHTML = 'Marcar/Desmarcar Tudo'; |
---|
1007 | |
---|
1008 | td.appendChild(toggleButton); |
---|
1009 | tr.appendChild(td); |
---|
1010 | tbody.appendChild(tr); |
---|
1011 | table.appendChild(tbody); |
---|
1012 | |
---|
1013 | /* submit button */ |
---|
1014 | var button = document.createElement("BUTTON"); |
---|
1015 | button.onclick = function() { changeUserLevel(); }; |
---|
1016 | button.innerHTML = "Salvar"; |
---|
1017 | |
---|
1018 | tr = document.createElement("TR"); |
---|
1019 | td = document.createElement("TD"); |
---|
1020 | td.appendChild(table); |
---|
1021 | tr.appendChild(td); |
---|
1022 | to_out.appendChild(tr); |
---|
1023 | |
---|
1024 | tr = document.createElement("TR"); |
---|
1025 | td = document.createElement("TD"); |
---|
1026 | td.setAttribute("align", "right"); |
---|
1027 | td.appendChild(button); |
---|
1028 | tr.appendChild(td); |
---|
1029 | to_out.appendChild(tr); |
---|
1030 | |
---|
1031 | tb_out.appendChild(to_out); |
---|
1032 | userLevelContainer.appendChild(tb_out); |
---|
1033 | }; |
---|
1034 | |
---|
1035 | cExecute ("$this.bo_adminaccess.get_monitor_admin_level", loadLevelHandler, "pid=" + pid + "&uid=" + uid); |
---|
1036 | } |
---|
1037 | |
---|
1038 | /* construct the user level interface */ |
---|
1039 | function loadLevelORG() |
---|
1040 | { |
---|
1041 | /* required parameters */ |
---|
1042 | var pid = document.getElementById('sel_org').value; |
---|
1043 | var uid = document.getElementById('sel_org_admin').value; |
---|
1044 | |
---|
1045 | var loadLevelHandler = function(data) |
---|
1046 | { |
---|
1047 | var userLevelContainer = document.getElementById("userLevelORG"); |
---|
1048 | userLevelContainer.innerHTML = ""; |
---|
1049 | |
---|
1050 | /* checkboxes creation */ |
---|
1051 | var checkBoxesPerRow = 2; |
---|
1052 | var tb_out = document.createElement("TABLE"); |
---|
1053 | var to_out = document.createElement("TBODY"); |
---|
1054 | var tr = document.createElement("TR"); |
---|
1055 | var td = document.createElement("TD"); |
---|
1056 | td.innerHTML = "Permissões de Acesso:"; |
---|
1057 | tr.appendChild(td); |
---|
1058 | to_out.appendChild(tr); |
---|
1059 | var table = document.createElement("TABLE"); |
---|
1060 | var tbody = document.createElement("TBODY"); |
---|
1061 | table.style.border='1px solid gray'; |
---|
1062 | tr = null; |
---|
1063 | td = null; |
---|
1064 | for (var i = 0; i < permissionListORG.length; i++) |
---|
1065 | { |
---|
1066 | /* create the checkbox and the label */ |
---|
1067 | var checkBox = document.createElement("INPUT"); |
---|
1068 | checkBox.setAttribute("id", "cb_" + permissionListORG[i]['value']); |
---|
1069 | checkBox.setAttribute("type", "checkbox"); |
---|
1070 | if (data['bits'][permissionListORG[i]['value']]) |
---|
1071 | checkBox.defaultChecked = true; |
---|
1072 | |
---|
1073 | var label = "<label for=\"cb_" + permissionListORG[i]['value'] + "\">" + permissionListORG[i]['name'] + "</label>"; |
---|
1074 | /* if necessary, start a new row */ |
---|
1075 | if (!tr || (tr.childNodes.length == 2*checkBoxesPerRow)) |
---|
1076 | tr = document.createElement("TR"); |
---|
1077 | td = document.createElement("TD"); |
---|
1078 | td.innerHTML = label; |
---|
1079 | tr.appendChild(td); |
---|
1080 | td = document.createElement("TD"); |
---|
1081 | td.appendChild(checkBox); |
---|
1082 | tr.appendChild(td); |
---|
1083 | |
---|
1084 | /* check if the row is "complete" */ |
---|
1085 | if (tr.childNodes.length == 2*checkBoxesPerRow) |
---|
1086 | { |
---|
1087 | tbody.appendChild(tr); |
---|
1088 | } |
---|
1089 | else |
---|
1090 | { |
---|
1091 | if (i == (permissionListORG.length - 1)) |
---|
1092 | { |
---|
1093 | tr.appendChild(document.createElement("TD")); |
---|
1094 | tr.appendChild(document.createElement("TD")); |
---|
1095 | tbody.appendChild(tr); |
---|
1096 | } |
---|
1097 | } |
---|
1098 | } |
---|
1099 | tr = document.createElement("TR"); |
---|
1100 | td = document.createElement("TD"); |
---|
1101 | td.colSpan = 4; |
---|
1102 | td.align = 'center'; |
---|
1103 | var toggleButton = document.createElement("BUTTON"); |
---|
1104 | toggleButton.onclick = toggleCheckboxesORG; |
---|
1105 | toggleButton.innerHTML = 'Marcar/Desmarcar Tudo'; |
---|
1106 | |
---|
1107 | td.appendChild(toggleButton); |
---|
1108 | tr.appendChild(td); |
---|
1109 | tbody.appendChild(tr); |
---|
1110 | table.appendChild(tbody); |
---|
1111 | |
---|
1112 | /* submit button */ |
---|
1113 | var button = document.createElement("BUTTON"); |
---|
1114 | button.onclick = function() { changeUserLevelORG(); }; |
---|
1115 | button.innerHTML = "Salvar"; |
---|
1116 | |
---|
1117 | tr = document.createElement("TR"); |
---|
1118 | td = document.createElement("TD"); |
---|
1119 | td.appendChild(table); |
---|
1120 | tr.appendChild(td); |
---|
1121 | to_out.appendChild(tr); |
---|
1122 | |
---|
1123 | tr = document.createElement("TR"); |
---|
1124 | td = document.createElement("TD"); |
---|
1125 | td.setAttribute("align", "right"); |
---|
1126 | td.appendChild(button); |
---|
1127 | tr.appendChild(td); |
---|
1128 | to_out.appendChild(tr); |
---|
1129 | |
---|
1130 | tb_out.appendChild(to_out); |
---|
1131 | userLevelContainer.appendChild(tb_out); |
---|
1132 | }; |
---|
1133 | |
---|
1134 | cExecute ("$this.bo_adminaccess.get_organogram_admin_level", loadLevelHandler, "pid=" + pid + "&uid=" + uid); |
---|
1135 | } |
---|
1136 | |
---|
1137 | /* change the user level */ |
---|
1138 | function changeUserLevel() |
---|
1139 | { |
---|
1140 | /* required parameters */ |
---|
1141 | var pid = document.getElementById('sel_mon').value; |
---|
1142 | var uid = document.getElementById('sel_mon_admin').value; |
---|
1143 | |
---|
1144 | /* check for error (ajax callback) */ |
---|
1145 | var changeUserLevelHandler = function(data) |
---|
1146 | { |
---|
1147 | if (typeof(data) == "string") |
---|
1148 | write_errors(data); |
---|
1149 | else |
---|
1150 | write_msg('As permissões foram salvas'); |
---|
1151 | }; |
---|
1152 | |
---|
1153 | /* generate the new permission string */ |
---|
1154 | var newPermission = ""; |
---|
1155 | for (var i = 0; i < permissionList.length; i++) |
---|
1156 | { |
---|
1157 | var cb = document.getElementById("cb_" + permissionList[i]['value']); |
---|
1158 | newPermission += permissionList[i]['value'] + "=" + ((cb.checked) ? "1" : "0") + "_"; |
---|
1159 | } |
---|
1160 | newPermission = newPermission.substring(0, newPermission.length-1); |
---|
1161 | |
---|
1162 | /* call ajax */ |
---|
1163 | cExecute ("$this.bo_adminaccess.set_monitor_admin_level", changeUserLevelHandler, "pid=" + pid + "&uid=" + uid + "&np=" + newPermission); |
---|
1164 | } |
---|
1165 | |
---|
1166 | /* change the user level */ |
---|
1167 | function changeUserLevelORG() |
---|
1168 | { |
---|
1169 | /* required parameters */ |
---|
1170 | var pid = document.getElementById('sel_org').value; |
---|
1171 | var uid = document.getElementById('sel_org_admin').value; |
---|
1172 | |
---|
1173 | /* check for error (ajax callback) */ |
---|
1174 | var changeUserLevelHandler = function(data) |
---|
1175 | { |
---|
1176 | if (typeof(data) == "string") |
---|
1177 | write_errors(data); |
---|
1178 | else |
---|
1179 | write_msg('As permissões foram salvas'); |
---|
1180 | }; |
---|
1181 | |
---|
1182 | /* generate the new permission string */ |
---|
1183 | var newPermission = ""; |
---|
1184 | for (var i = 0; i < permissionListORG.length; i++) |
---|
1185 | { |
---|
1186 | var cb = document.getElementById("cb_" + permissionListORG[i]['value']); |
---|
1187 | newPermission += permissionListORG[i]['value'] + "=" + ((cb.checked) ? "1" : "0") + "_"; |
---|
1188 | } |
---|
1189 | newPermission = newPermission.substring(0, newPermission.length-1); |
---|
1190 | |
---|
1191 | /* call ajax */ |
---|
1192 | cExecute ("$this.bo_adminaccess.set_organogram_admin_level", changeUserLevelHandler, "pid=" + pid + "&uid=" + uid + "&np=" + newPermission); |
---|
1193 | } |
---|
1194 | |
---|
1195 | function toggleCheckboxes() |
---|
1196 | { |
---|
1197 | var value = !document.getElementById('cb_' + permissionList[0]['value']).checked; |
---|
1198 | for (var i = 0; i < permissionList.length; i++) |
---|
1199 | document.getElementById('cb_' + permissionList[i]['value']).checked = value; |
---|
1200 | } |
---|
1201 | |
---|
1202 | function toggleCheckboxesORG() |
---|
1203 | { |
---|
1204 | var value = !document.getElementById('cb_' + permissionListORG[0]['value']).checked; |
---|
1205 | for (var i = 0; i < permissionListORG.length; i++) |
---|
1206 | document.getElementById('cb_' + permissionListORG[i]['value']).checked = value; |
---|
1207 | } |
---|
1208 | |
---|
1209 | function draw_control_folder() |
---|
1210 | { |
---|
1211 | change_folder(0); |
---|
1212 | } |
---|
1213 | |
---|
1214 | function delUsers() |
---|
1215 | { |
---|
1216 | target = window.document.getElementById('user_list'); |
---|
1217 | |
---|
1218 | for(var i = 0; i < target.options.length; i++) |
---|
1219 | { |
---|
1220 | if(target.options[i].selected) |
---|
1221 | { |
---|
1222 | target.options[i--] = null; |
---|
1223 | } |
---|
1224 | } |
---|
1225 | } |
---|