Changeset 6848 for trunk/expressoMail1_2/js/sharemailbox.js
- Timestamp:
- 07/23/12 14:28:41 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoMail1_2/js/sharemailbox.js
r6551 r6848 2 2 { 3 3 this.xtools = new xtools('../expressoMail1_2/templates/'); 4 5 var users; 4 6 } 5 7 … … 33 35 cShareMailbox.prototype.getaclfromuser = function(user) 34 36 { 35 var handler_getaclfromuser = function(data) 36 {37 Element('em_input_readAcl').checked= false;38 Element('em_input_deleteAcl').checked = false;39 Element('em_input_writeAcl').checked= false;40 Element('em_input_sendAcl').checked = false;41 42 Element('em_input_deleteAcl').disabled = true;43 Element('em_input_writeAcl').disabled = true; 44 45 if (data[user].indexOf('lrs',0) >= 0)46 {47 Element('em_input_sendAcl').disabled = false;48 Element('em_input_deleteAcl').disabled = false;49 Element('em_input_writeAcl').disabled = false;50 Element('em_input_readAcl').checked = true;51 }52 else53 {54 55 }56 57 if (data[user].indexOf('d',0) >= 0)58 {59 Element('em_input_deleteAcl').checked = true;60 Element('em_input_deleteAcl').disabled = false;61 }62 63 if (data[user].indexOf('w',0) >= 0)64 {65 Element('em_input_writeAcl').checked = true;66 Element('em_input_writeAcl').disabled = false 67 }68 69 if (data[user] != "false" && data[user].indexOf('p',0) >= 0)70 {71 Element('em_input_sendAcl').disabled = false;72 Element('em_input_sendAcl').checked = true;73 }74 75 }76 77 cExecute ("$this.imap_functions.getaclfromuser&user="+user, handler_getaclfromuser);37 38 Element('em_input_readAcl').checked = false; 39 Element('em_input_deleteAcl').checked = false; 40 Element('em_input_writeAcl').checked = false; 41 Element('em_input_sendAcl').checked = false; 42 43 Element('em_input_deleteAcl').disabled = true; 44 Element('em_input_writeAcl').disabled = true; 45 46 if ((this.users[user].acls.indexOf('l',0) >= 0) && 47 (this.users[user].acls.indexOf('r',0) >= 0) && 48 (this.users[user].acls.indexOf('s',0) >= 0) ) 49 { 50 Element('em_input_sendAcl').disabled = false; 51 Element('em_input_deleteAcl').disabled = false; 52 Element('em_input_writeAcl').disabled = false ; 53 Element('em_input_readAcl').checked = true; 54 } 55 else 56 Element('em_input_sendAcl').disabled = true; 57 58 59 if ((this.users[user].acls.indexOf('x',0) >= 0) && 60 (this.users[user].acls.indexOf('t',0) >= 0) && 61 (this.users[user].acls.indexOf('e',0) >= 0) ) 62 { 63 Element('em_input_deleteAcl').checked = true; 64 Element('em_input_deleteAcl').disabled = false; 65 } 66 67 if ((this.users[user].acls.indexOf('w',0) >= 0) && 68 (this.users[user].acls.indexOf('i',0) >= 0) && 69 (this.users[user].acls.indexOf('k',0) >= 0) ) 70 { 71 Element('em_input_writeAcl').checked = true; 72 Element('em_input_writeAcl').disabled = false 73 } 74 75 if (this.users[user].acls != "false" && this.users[user].acls.indexOf('p',0) >= 0) 76 { 77 Element('em_input_sendAcl').disabled = false; 78 Element('em_input_sendAcl').checked = true; 79 } 78 80 } 79 81 … … 106 108 Element('em_input_writeAcl').disabled = true; 107 109 Element('em_input_writeAcl').checked = false; 108 109 110 } 110 111 111 112 if (Element('em_input_deleteAcl').checked) 112 acl += ' ida';113 acl += 'xte'; 113 114 114 115 if (Element('em_input_writeAcl').checked) { 115 acl += 'w c';116 acl += 'wik'; 116 117 } 117 118 if (Element('em_input_sendAcl').checked){ 118 acl += 'pa'; 119 } 120 121 var handler_setaclfromuser = function(data) { 122 if (!data) 123 alert(data); 124 return true; 125 } 126 cExecute ("$this.imap_functions.setaclfromuser&user="+user+"&acl="+acl, handler_setaclfromuser); 119 acl += 'p'; 120 } 121 122 this.users[user].acls = acl; 127 123 } 128 124 … … 172 168 click: function() 173 169 { 174 $(this).dialog("destroy"); 175 div.removeChild(div.firstChild); 170 $(div).dialog("close"); 176 171 }, 177 172 style: "margin-top: -2.1em" … … 180 175 text: get_lang("Save"), 181 176 click: function() 182 { 183 // Needed select all options from select 184 var users_setacl = new Array(); 185 var select_users = Element('em_select_sharefolders_users'); 186 187 for(var i = 0; i < select_users.options.length; i++) 188 { 189 users_setacl[i] = select_users.options[i].value; 190 } 191 var attributes = connector.serialize(users_setacl); 192 193 var handler_save = function(data) 194 { 195 if (data) 196 { 197 var sharedFoldersUsers = document.getElementById('em_select_sharefolders_users'); 198 199 for( var i = 0;i < sharedFoldersUsers.options.length; i++ ) 200 { 201 if( sharedFoldersUsers.options[i].selected ) 202 { 203 var value = sharedFoldersUsers.options[i].value; 204 var text = sharedFoldersUsers.options[i].text; 205 sharedFoldersUsers.options[i].parentNode.removeChild(sharedFoldersUsers.options[i]); 206 sharedFoldersUsers.options[sharedFoldersUsers.options.length] = new Option( text, value, false, false); 207 } 208 } 209 210 Element('em_input_readAcl').checked = false; 211 Element('em_input_deleteAcl').checked = false; 212 Element('em_input_writeAcl').checked = false; 213 Element('em_input_sendAcl').checked = false; 214 215 Element('em_input_deleteAcl').disabled = true; 216 Element('em_input_writeAcl').disabled = true; 217 Element('em_input_sendAcl').disabled = true; 218 219 //$("#sharemailbox").empty(); 220 //$("#sharemailbox").dialog("destroy"); 221 $("#sharemailbox").parents().find(".ui-icon-closethick").trigger("click"); 222 223 write_msg(get_lang('Shared options saved with success')); 224 225 } 226 } 227 228 cExecute ("$this.imap_functions.setacl", handler_save, 'users='+attributes); 229 177 { 178 $.ajax({ 179 url: 'controller.php?' + $.param( { 180 action: '$this.imap_functions.setacl', 181 acls: connector.serialize(sharemailbox.users)} 182 ), 183 success: function( data ){ 184 data = connector.unserialize( data ); 185 186 if( data ) 187 { 188 write_msg(get_lang('Shared options saved with success')); 189 $(div).dialog("close"); 190 191 } 192 }, 193 beforeSend: function( jqXHR, settings ){ 194 connector.showProgressBar(); 195 }, 196 complete: function( jqXHR, settings ){ 197 connector.hideProgressBar(); 198 } 199 200 }); 201 230 202 }, 231 203 style: "margin-top: -2.1em" … … 267 239 268 240 var selectSharedFolders = Element('em_select_sharefolders_users'); 269 270 for( var i in optionsData ) 271 { 272 selectSharedFolders.options[selectSharedFolders.options.length] = new Option(optionsData[i].cn, optionsData[i].uid, false, false); 273 } 241 this.users = optionsData; 242 for( var i in optionsData ) 243 selectSharedFolders.options[selectSharedFolders.options.length] = new Option(optionsData[i].cn, i, false, false); 244 274 245 } 275 246 … … 331 302 } 332 303 } 304 var newobject = new Object; 305 newobject.cn = select_available_users.options[i].text; 306 newobject.acls = ""; 307 this.users[select_available_users.options[i].value] = newobject; 333 308 } 334 309 } … … 339 314 select_users.outerHTML = select_users.outerHTML; 340 315 } 316 317 318 341 319 } 342 320 … … 349 327 var user = select.options[select.selectedIndex].value; 350 328 351 var handler_setaclfromuser = function(data) { 352 if (!data) 353 alert(data); 354 return true; 355 } 356 357 cExecute ("$this.imap_functions.setaclfromuser&user="+user+"&acl="+acl, handler_setaclfromuser); 358 359 360 for( var i = 0 ; i < select_users.options.length; i++ ) 361 { 362 if( select_users.options[i].selected ) 363 { 364 select_users.options[i--] = null; 365 } 366 } 367 329 delete this.users[user]; 330 331 select.options[select.selectedIndex] = null; 332 368 333 Element('em_input_readAcl').checked = false; 369 334 Element('em_input_deleteAcl').checked = false; 370 335 Element('em_input_writeAcl').checked = false; 371 336 Element('em_input_sendAcl').checked = false; 337 372 338 373 339 }
Note: See TracChangeset
for help on using the changeset viewer.