Changeset 6859 for branches/2.4/expressoMail1_2/js/sharemailbox.js
- Timestamp:
- 07/24/12 10:24:52 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.4/expressoMail1_2/js/sharemailbox.js
r6754 r6859 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 else 53 { 54 Element('em_input_sendAcl').disabled = true; 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 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 ((this.users[user].acls.indexOf('l',0) >= 0) && 46 (this.users[user].acls.indexOf('r',0) >= 0) && 47 (this.users[user].acls.indexOf('s',0) >= 0) ) 48 { 49 Element('em_input_sendAcl').disabled = false; 50 Element('em_input_deleteAcl').disabled = false; 51 Element('em_input_writeAcl').disabled = false ; 52 Element('em_input_readAcl').checked = true; 53 } 54 else 55 Element('em_input_sendAcl').disabled = true; 56 57 58 if ((this.users[user].acls.indexOf('x',0) >= 0) && 59 (this.users[user].acls.indexOf('t',0) >= 0) && 60 (this.users[user].acls.indexOf('e',0) >= 0) ) 61 { 62 Element('em_input_deleteAcl').checked = true; 63 Element('em_input_deleteAcl').disabled = false; 64 } 65 66 if ((this.users[user].acls.indexOf('w',0) >= 0) && 67 (this.users[user].acls.indexOf('i',0) >= 0) && 68 (this.users[user].acls.indexOf('k',0) >= 0) ) 69 { 70 Element('em_input_writeAcl').checked = true; 71 Element('em_input_writeAcl').disabled = false 72 } 73 74 if (this.users[user].acls != "false" && this.users[user].acls.indexOf('p',0) >= 0) 75 { 76 Element('em_input_sendAcl').disabled = false; 77 Element('em_input_sendAcl').checked = true; 78 } 78 79 } 79 80 … … 105 106 Element('em_input_deleteAcl').checked = false; 106 107 Element('em_input_writeAcl').disabled = true; 107 Element('em_input_writeAcl').checked = false; 108 108 Element('em_input_writeAcl').checked = false; 109 109 } 110 110 111 111 if (Element('em_input_deleteAcl').checked) 112 acl += ' ida';112 acl += 'xte'; 113 113 114 114 if (Element('em_input_writeAcl').checked) { 115 acl += 'w c';115 acl += 'wik'; 116 116 } 117 117 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); 118 acl += 'p'; 119 } 120 121 this.users[user].acls = acl; 127 122 } 128 123 … … 172 167 click: function() 173 168 { 174 $(this).dialog("destroy"); 175 div.removeChild(div.firstChild); 169 $(div).dialog("close"); 176 170 }, 177 171 style: "margin-top: -2.1em" … … 180 174 text: get_lang("Save"), 181 175 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); 176 { 177 $.ajax({ 178 url: 'controller.php?' + $.param( { 179 action: '$this.imap_functions.setacl', 180 acls: connector.serialize(sharemailbox.users)} 181 ), 182 success: function( data ){ 183 data = connector.unserialize( data ); 184 185 if( data ) 186 { 187 write_msg(get_lang('Shared options saved with success')); 188 $(div).dialog("close"); 189 190 } 191 }, 192 beforeSend: function( jqXHR, settings ){ 193 connector.showProgressBar(); 194 }, 195 complete: function( jqXHR, settings ){ 196 connector.hideProgressBar(); 197 } 198 199 }); 229 200 230 201 }, … … 267 238 268 239 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 } 240 this.users = optionsData; 241 for( var i in optionsData ) 242 selectSharedFolders.options[selectSharedFolders.options.length] = new Option(optionsData[i].cn, i, false, false); 274 243 } 275 244 … … 331 300 } 332 301 } 302 var newobject = new Object; 303 newobject.cn = select_available_users.options[i].text; 304 newobject.acls = ""; 305 this.users[select_available_users.options[i].value] = newobject; 306 333 307 } 334 308 } … … 339 313 select_users.outerHTML = select_users.outerHTML; 340 314 } 315 316 317 341 318 } 342 319 … … 349 326 var user = select.options[select.selectedIndex].value; 350 327 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 } 328 delete this.users[user]; 329 330 select.options[select.selectedIndex] = null; 367 331 368 332 Element('em_input_readAcl').checked = false; … … 371 335 Element('em_input_sendAcl').checked = false; 372 336 337 373 338 } 374 339
Note: See TracChangeset
for help on using the changeset viewer.