[1643] | 1 | var searchTimeout; |
---|
| 2 | |
---|
| 3 | function lang(key){ |
---|
| 4 | return document.getElementById("txt_"+key).value; |
---|
| 5 | } |
---|
| 6 | |
---|
| 7 | function remove_user(id){ |
---|
| 8 | if(!confirm(lang("confirm"))) |
---|
| 9 | return true; |
---|
| 10 | var handler_rem_user = function(data){ |
---|
| 11 | if(data) { |
---|
| 12 | var tr = document.getElementById(id); |
---|
| 13 | tr.parentNode.removeChild(tr); |
---|
| 14 | } |
---|
| 15 | } |
---|
| 16 | cExecute ('calendar.uigroup_access.rem_user&id='+id, handler_rem_user); |
---|
| 17 | } |
---|
| 18 | function add_user(){ |
---|
| 19 | var select_users = document.getElementById("user"); |
---|
| 20 | var select_groups = document.getElementById("group"); |
---|
| 21 | var a_rights = new Array("L","A","E","R","P"); |
---|
| 22 | var rights = ''; |
---|
| 23 | for(var z = 0; z < a_rights.length; z++){ |
---|
| 24 | var check = document.getElementById("right_"+a_rights[z]); |
---|
| 25 | if(check.checked){ |
---|
| 26 | rights += check.value; |
---|
| 27 | } |
---|
| 28 | } |
---|
| 29 | if(!select_users.value){ |
---|
| 30 | alert(lang("nouser")); |
---|
| 31 | return; |
---|
| 32 | } |
---|
| 33 | else if(!select_groups.value){ |
---|
| 34 | alert(lang("nogroup")); |
---|
| 35 | return; |
---|
| 36 | } |
---|
| 37 | else if(!rights){ |
---|
| 38 | alert(lang("nopermissiontype")); |
---|
| 39 | return; |
---|
| 40 | } |
---|
| 41 | |
---|
| 42 | var str = select_users.value+";"+select_groups.value; |
---|
| 43 | var handler_add_user = function(data){ |
---|
| 44 | |
---|
| 45 | if(data){ |
---|
| 46 | var t = document.getElementById('tbody_list'); |
---|
| 47 | var tr = document.createElement("TR"); |
---|
| 48 | tr.bgColor = "#DCDCDC"; |
---|
| 49 | var td1 = document.createElement("TD"); |
---|
| 50 | var td2 = document.createElement("TD"); |
---|
| 51 | var td3 = document.createElement("TD"); |
---|
| 52 | var td4 = document.createElement("TD"); |
---|
| 53 | tr.id = str; |
---|
| 54 | td1.innerHTML = "<b> "+select_users[select_users.selectedIndex].text+"</b>"; |
---|
| 55 | td2.innerHTML = rights; |
---|
| 56 | td2.align = "center"; |
---|
| 57 | td3.innerHTML = " "+select_groups[select_groups.selectedIndex].text; |
---|
| 58 | td4.innerHTML = "<button title='remove' type='button' onClick='javascript:remove_user(\""+str+"\");'><img src='"+document.getElementById("template_set").value+"/images/delete.png' style='vertical-align: middle;'/></button>"; |
---|
| 59 | tr.appendChild(td1); |
---|
| 60 | tr.appendChild(td2); |
---|
| 61 | tr.appendChild(td3); |
---|
| 62 | tr.appendChild(td4); |
---|
| 63 | t.appendChild(tr); |
---|
| 64 | alert(lang("success")); |
---|
| 65 | } |
---|
| 66 | else{ |
---|
| 67 | alert(lang("exist")); |
---|
| 68 | } |
---|
| 69 | } |
---|
| 70 | cExecute ('calendar.uigroup_access.add_user&id='+str+"&rights="+rights, handler_add_user); |
---|
| 71 | return true; |
---|
| 72 | |
---|
| 73 | } |
---|
| 74 | function search_object(input, id_span, id_select, type) |
---|
| 75 | { |
---|
| 76 | clearTimeout(searchTimeout); |
---|
| 77 | var spam = document.getElementById(id_span); |
---|
| 78 | if (input.value.length <= 3){ |
---|
| 79 | spam.innerHTML = lang("typemoreletters").replace("X",4 - input.value.length); |
---|
| 80 | }else{ |
---|
| 81 | spam.innerHTML = lang("searching")+'...'; |
---|
| 82 | searchTimeout = setTimeout("search_ldap('"+input.id+"','"+id_span+"','"+id_select+"','"+type+"')",750); |
---|
| 83 | } |
---|
| 84 | } |
---|
| 85 | |
---|
| 86 | function search_ldap(id_input, id_span, id_select, type) |
---|
| 87 | { |
---|
| 88 | var search = document.getElementById(id_input).value; |
---|
| 89 | |
---|
| 90 | var handler_search_user = function(data) |
---|
| 91 | { |
---|
| 92 | var spam = document.getElementById(id_span); |
---|
| 93 | select_available_users = document.getElementById(id_select); |
---|
| 94 | if (data.status == 'false') |
---|
| 95 | { |
---|
| 96 | spam.innerHTML = data.msg; |
---|
| 97 | // Necessario, pois o IE6 tem um bug que retira o primeiro options se o innerHTML estiver vazio. |
---|
| 98 | select_available_users.innerHTML = '#'; |
---|
| 99 | select_available_users.outerHTML = select_available_users.outerHTML; |
---|
| 100 | return; |
---|
| 101 | } |
---|
| 102 | spam.innerHTML = ''; |
---|
| 103 | // Necessario, pois o IE6 tem um bug que retira o primeiro options se o innerHTML estiver vazio. |
---|
| 104 | select_available_users.innerHTML = '#' + data; |
---|
| 105 | select_available_users.outerHTML = select_available_users.outerHTML; |
---|
| 106 | } |
---|
| 107 | cExecute ('calendar.uigroup_access.search_user&search='+search+"&type="+type, handler_search_user); |
---|
| 108 | } |
---|