source: trunk/workflow/js/adminaccess/control_folder.js @ 8094

Revision 8094, 35.6 KB checked in by rafaelgobara, 11 years ago (diff)

Ticket #3423 - Rename das funcoes js que chamam o plugin que carrega usuarios

  • Property svn:executable set to *
Line 
1function 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
34function 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
46function del_option_values(element)
47{
48        for (var i = 0; i < element.options.length; i++)
49        element.options[i--] = null;
50}
51
52function 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
69function 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
84function 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
99function 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
114function 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
129function 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
144function 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
163function 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
195function 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
227function 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
259function 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
270function 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
281function 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
292function 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 = "&nbsp;";
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() { openParticipantsWindow('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
452function 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 = "&nbsp;";
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() { openParticipantsWindow('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
602function 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 = "&nbsp;";
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() { openParticipantsWindow('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
761function 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">&nbsp;</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="openParticipantsWindow(\'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
796function fillExternalApplicationAdmins()
797{
798        cExecute ("$this.bo_adminaccess.getExternalApplicationAdmins", refreshExternalApplicationAdmins, "external_application_id=" + document.getElementById('sel_exa').value);
799}
800
801function 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
807function 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
827function 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
835function 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="openParticipantsWindow(\'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
860function 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
868function 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
881function 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
887function 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="openParticipantsWindow(\'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
912function 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
920function 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
933function 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 */
940function 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 */
1039function 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 */
1138function 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 */
1167function 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
1195function 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
1202function 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
1209function draw_control_folder()
1210{
1211        change_folder(0);
1212}
1213
1214function 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}
Note: See TracBrowser for help on using the repository browser.