Changeset 5804 for trunk/expressoAdmin1_2/js/jscode/shared_accounts.js
- Timestamp:
- 03/23/12 16:39:10 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoAdmin1_2/js/jscode/shared_accounts.js
r5589 r5804 168 168 Element('em_input_saveAcl').checked = false; 169 169 Element('em_input_folderAcl').checked = false; 170 170 171 Element('em_input_readCalendar').checked = false; 171 172 Element('em_input_writeCalendar').checked = false; … … 173 174 Element('em_input_deleteCalendar').checked = false; 174 175 Element('em_input_restrictCalendar').checked = false; 176 177 Element('em_input_readExpressoCalendar').checked = false; 178 Element('em_input_writeExpressoCalendar').checked = false; 179 Element('em_input_freebusyExpressoCalendar').checked = false; 180 Element('em_input_deleteExpressoCalendar').checked = false; 181 182 175 183 Element('em_input_sendAcl').disabled = true; 176 184 select_owners = Element('ea_select_owners'); … … 182 190 { 183 191 select_owners = Element('ea_select_owners'); 192 193 var user = ''; 184 194 for(var i = 0;i < select_owners.options.length; i++) 185 195 if(select_owners.options[i].selected){ 186 varuser = select_owners.options[i].value;196 user = select_owners.options[i].value; 187 197 delete sharemailbox.ownersAcl[user]; 188 198 sharemailbox.ownersCalendarAcl[user] = ''; … … 193 203 if(select_owners.options.length > 0 ){ 194 204 select_owners.options[0].selected = true; 195 varuser = select_owners.options[0].value;205 user = select_owners.options[0].value; 196 206 sharemailbox.getaclfromuser(user); 197 207 } 208 209 if(sharemailbox.ownersExpressoCalendarAcl){ 210 211 delete sharemailbox.ownersExpressoCalendarAcl[user]; 212 213 var sharedUser = DataLayer.get('user', {filter: ['=','mail',$('#mail').val()]}); 214 var signature = DataLayer.get('calendarSignature', {filter: ['=','user', sharedUser[0].id]}); 215 216 var usuario = DataLayer.get('user', {filter: ['AND', ['=','uid',user], ['*','mail',user] ]}); 217 var calendarPermission = DataLayer.get('calendarToPermission', {filter: ['AND', ['=','calendar',signature[0].calendar], ['=','user',usuario[0].id] ] }); 218 219 var signatureUser = DataLayer.get('calendarSignature', {filter: ['AND', ['=','calendar', signature[0].calendar], ['=','user', usuario[0].id ] ]}); 220 221 DataLayer.remove('calendarSignature', signatureUser[0].id); 222 DataLayer.remove('calendarToPermission', calendarPermission[0].id); 223 224 } 225 226 227 198 228 } 199 229 … … 261 291 Element('desc').value = data.description; 262 292 //Necessario, pois o IE6 tem um bug que não exibe as novas opções se o innerHTML estava vazio 263 Element('ea_select_owners').innerHTML = ' ' + data.owners_options; 264 Element('ea_select_owners').outerHTML = Element('ea_select_owners').outerHTML; 265 293 294 if(data.owners_options){ 295 Element('ea_select_owners').innerHTML = ' ' + data.owners_options; 296 Element('ea_select_owners').outerHTML = Element('ea_select_owners').outerHTML; 297 } 266 298 Element('display_empty_inbox').style.display = data.display_empty_inbox; 267 299 if( data.allow_edit_shared_account_acl == "0"){ … … 283 315 sharemailbox.ownersCalendarAcl = new Array(); 284 316 if( data.owners && data.owners != "undefined" && data.owners_acl != "undefined" ){ 285 286 287 288 317 for (i=0; i<data.owners.length; i++){ 318 sharemailbox.ownersAcl[ data.owners[i] ] = data.owners_acl[i]; 319 sharemailbox.ownersCalendarAcl[ data.owners[i] ] = data.owners_calendar_acl[i]; 320 } 289 321 } 322 323 //new API compatibility 324 var signature = DataLayer.get('calendarSignature', {filter: ['=','user', data.uidnumber]}); 325 if(!!signature){ 326 sharemailbox.currentPemissions[data.uidnumber] = true; 327 var calendarPermission = DataLayer.get('calendarToPermission:detail', {filter: ['=','calendar',signature[0].calendar], criteria:{deepness: 2}}); 328 if(calendarPermission){ 329 var owners_options = ''; 330 for (i=0; i < calendarPermission.length; i++){ 331 sharemailbox.ownersExpressoCalendarAcl[ calendarPermission[i].user.uid ] = calendarPermission[i].aclValues; 332 owners_options += '<option value='+calendarPermission[i].user.uid+'>'+calendarPermission[i].user.name+'</option>' 333 sharemailbox.currentPemissions[calendarPermission[i].user.uid] = calendarPermission[i].id; 334 } 335 336 337 delete sharemailbox.currentPemissions[undefined]; 338 delete sharemailbox.currentPemissions[undefined]; 339 340 Element('ea_select_owners').innerHTML = ' ' + owners_options; 341 Element('ea_select_owners').outerHTML = Element('ea_select_owners').outerHTML; 342 343 } 344 345 } 346 347 290 348 } 291 349 else … … 304 362 else form = document.forms["shared_accounts_form"]; 305 363 306 364 hidden_owners_calendar_acl = Element('owners_calendar_acls'); 307 365 hidden_owners_acl = Element('owners_acls'); 308 366 select_owners = Element('ea_select_owners'); 309 367 for(var i = 0;i < select_owners.options.length; i++){ 310 311 312 368 var user = select_owners.options[i].value; 369 select_owners.options[i].value = user; 370 } 313 371 hidden_owners_acl.value = admin_connector.serialize(sharemailbox.ownersAcl); 372 373 if(sharemailbox.ownersExpressoCalendarAcl){ 374 375 var calback = function(){ 376 var sharedUser = DataLayer.get('user', {filter: ['=','mail',$('#mail').val()]}); 377 378 if(!!sharedUser && $.isArray(sharedUser)) 379 sharedUser = sharedUser[0]; 380 381 if(!!!sharemailbox.currentPemissions[sharedUser.id]) 382 DataLayer.put('calendarSignature', { 383 user: sharedUser.id, 384 calendar: { 385 timezone: 'America/Sao_Paulo', 386 name: $('#cn').val(), 387 location : $('#cn').val(), 388 description : $('#cn').val() 389 }, 390 isOwner: '1', 391 fontColor: '000000', 392 backgroundColor: 'f1efac', 393 borderColor: 'eddb21' 394 }); 395 396 var returns = function(data){ 397 398 399 var calendar = ''; 400 401 if(data){ 402 for(var i in data) 403 if(i.indexOf('calendar:') >= 0) 404 calendar = data[i].id; 405 }else{ 406 calendar = DataLayer.get('calendarSignature', {filter: ['=','user', sharedUser.id]}); 407 calendar = calendar[0].calendar; 408 } 409 410 $.each(sharemailbox.ownersExpressoCalendarAcl, function(user, acl) { 411 412 var usuario = DataLayer.get('user', {filter: ['AND', ['=','uid',user], ['*','mail',user] ]}); 413 414 if($.isArray(usuario)) 415 usuario = usuario[0]; 416 417 418 DataLayer.put('calendarToPermission', DataLayer.merge({ 419 user: usuario.id, 420 type: '0', 421 acl: acl, 422 calendar: calendar 423 }, !!sharemailbox.currentPemissions[usuario.uid] ? {id: sharemailbox.currentPemissions[usuario.uid]} : {})); 424 425 if(!!!sharemailbox.currentPemissions[usuario.uid]) 426 DataLayer.put('calendarSignature', { 427 user: usuario.id, 428 calendar: calendar, 429 isOwner: '0', 430 fontColor: '000000', 431 backgroundColor: 'f1efac', 432 borderColor: 'eddb21' 433 }); 434 435 }) 436 DataLayer.commit(); 437 }; 438 if(!!sharemailbox.currentPemissions[sharedUser.id]) 439 returns(false); 440 else 441 DataLayer.commit(false, false, returns); 442 } 443 } 314 444 hidden_owners_calendar_acl.value = admin_connector.serialize(sharemailbox.ownersCalendarAcl); 315 445 cExecuteForm ("$this.shared_accounts.save", form, handler_save_shared_accounts); 316 446 get_shared_accounts(Element('ea_shared_account_search').value); 447 calback(); 317 448 } 318 449 … … 364 495 this.ownersAcl = new Array(); 365 496 this.ownersCalendarAcl = new Array(); 497 this.ownersExpressoCalendarAcl = {}; 498 this.currentPemissions = {}; 366 499 } 367 500 … … 409 542 Element('em_input_restrictCalendar').checked = false; 410 543 544 Element('em_input_readExpressoCalendar').checked = false; 545 Element('em_input_writeExpressoCalendar').checked = false; 546 Element('em_input_freebusyExpressoCalendar').checked = false; 547 Element('em_input_deleteExpressoCalendar').checked = false; 548 411 549 Element('em_input_editCalendar').disabled = true; 412 550 Element('em_input_deleteCalendar').disabled = true; 413 551 Element('em_input_restrictCalendar').disabled = true; 552 553 554 if(this.ownersExpressoCalendarAcl[user]) 555 { 556 if (this.ownersExpressoCalendarAcl[user].indexOf('r') >= 0) 557 { 558 Element('em_input_readExpressoCalendar').checked = true; 559 Element('em_input_writeExpressoCalendar').checked = false; 560 Element('em_input_freebusyExpressoCalendar').checked = false; 561 Element('em_input_deleteExpressoCalendar').checked = false; 562 563 } 564 if (this.ownersExpressoCalendarAcl[user].indexOf('w') >= 0) 565 { 566 Element('em_input_writeExpressoCalendar').checked = true; 567 } 568 if (this.ownersExpressoCalendarAcl[user].indexOf('d') >= 0) 569 { 570 Element('em_input_deleteExpressoCalendar').checked = true; 571 } 572 if (this.ownersExpressoCalendarAcl[user].indexOf('b') >= 0) 573 { 574 Element('em_input_freebusyExpressoCalendar').checked = true; 575 } 576 } 577 414 578 415 579 if(this.ownersCalendarAcl[user]) … … 418 582 { 419 583 Element('em_input_readCalendar').checked = true; 420 421 584 Element('em_input_editCalendar').disabled = false; 422 585 Element('em_input_deleteCalendar').disabled = false; 423 586 Element('em_input_restrictCalendar').disabled = false; 587 588 Element('em_input_readExpressoCalendar').checked = true; 589 Element('em_input_writeExpressoCalendar').checked = false; 590 Element('em_input_freebusyExpressoCalendar').checked = false; 591 Element('em_input_deleteExpressoCalendar').checked = false; 592 424 593 } 425 594 if (this.ownersCalendarAcl[user].indexOf('2-',0) >= 0) 426 595 { 427 596 Element('em_input_writeCalendar').checked = true; 597 Element('em_input_writeExpressoCalendar').checked = true; 428 598 } 429 599 if (this.ownersCalendarAcl[user].indexOf('4-',0) >= 0) 430 600 { 431 601 Element('em_input_editCalendar').checked = true; 602 Element('em_input_writeExpressoCalendar').checked = true; 432 603 } 433 604 if (this.ownersCalendarAcl[user].indexOf('8-',0) >= 0) 434 605 { 435 606 Element('em_input_deleteCalendar').checked = true; 607 Element('em_input_deleteExpressoCalendar').checked = true; 436 608 } 437 609 if (this.ownersCalendarAcl[user].indexOf('16-',0) >= 0) … … 535 707 var acl = ''; 536 708 var select = Element('ea_select_owners'); 709 710 sharemailbox.ownersExpressoCalendarAcl = false; 537 711 538 712 if(select.selectedIndex == "-1"){ … … 556 730 Element('em_input_deleteCalendar').disabled = false; 557 731 Element('em_input_restrictCalendar').disabled = false; 558 732 559 733 if (Element('em_input_editCalendar').checked) 560 734 acl += '4-'; 561 735 562 if (Element('em_input_deleteCalendar').checked )736 if (Element('em_input_deleteCalendar').checked ) 563 737 acl += '8-'; 564 738 … … 574 748 Element('em_input_deleteCalendar').checked = false; 575 749 Element('em_input_restrictCalendar').checked = false; 576 } 577 578 if (Element('em_input_writeCalendar').checked) 750 751 } 752 753 if (Element('em_input_writeCalendar').checked || Element('em_input_writeExpressoCalendar').checked) 579 754 acl += '2-'; 580 755 581 756 582 757 this.ownersCalendarAcl[user] = acl; 758 } 759 } 760 761 cShareMailbox.prototype.setExpressoCalendaraclfromuser = function() 762 { 763 var acl = ''; 764 var select = Element('ea_select_owners'); 765 766 sharemailbox.ownersCalendarAcl = false; 767 768 if(select.selectedIndex == "-1"){ 769 alert("Selecione antes um usuario!"); 770 return false; 771 } 772 773 for(var k = 0; k < select.options.length; k ++ ) 774 { 775 if(select.options[k].selected !== true ) continue; 776 777 acl = ''; 778 var user = select.options[k].value; 779 780 if(Element('em_input_freebusyExpressoCalendar').checked) 781 { 782 Element('em_input_writeExpressoCalendar').disabled = true; 783 Element('em_input_deleteExpressoCalendar').disabled = true; 784 Element('em_input_readExpressoCalendar').disabled = true; 785 Element('em_input_writeExpressoCalendar').checked = false; 786 Element('em_input_deleteExpressoCalendar').checked = false; 787 Element('em_input_readExpressoCalendar').checked = false; 788 789 790 acl += 'b' 791 } 792 else 793 { 794 Element('em_input_readExpressoCalendar').disabled = false; 795 if (Element('em_input_readExpressoCalendar').checked) 796 { 797 acl += 'r'; 798 799 Element('em_input_writeExpressoCalendar').disabled = false; 800 Element('em_input_deleteExpressoCalendar').disabled = false; 801 //Element('em_input_freebusyExpressoCalendar').disabled = false; 802 803 if (Element('em_input_writeExpressoCalendar').checked) 804 acl += 'w'; 805 806 if (Element('em_input_deleteExpressoCalendar').checked) 807 acl += 'd'; 808 809 } 810 else 811 { 812 Element('em_input_writeExpressoCalendar').disabled = true; 813 Element('em_input_deleteExpressoCalendar').disabled = true; 814 //Element('em_input_freebusyExpressoCalendar').disabled = true; 815 Element('em_input_writeExpressoCalendar').checked = false; 816 Element('em_input_deleteExpressoCalendar').checked = false; 817 // Element('em_input_freebusyExpressoCalendar').checked = false; 818 } 819 820 } 821 822 this.ownersExpressoCalendarAcl[user] = acl; 583 823 } 584 824 } … … 650 890 Element('em_input_saveAcl').checked = false; 651 891 Element('em_input_folderAcl').checked = false; 892 652 893 Element('em_input_readCalendar').checked = false; 653 894 Element('em_input_writeCalendar').checked = false; … … 655 896 Element('em_input_deleteCalendar').checked = false; 656 897 Element('em_input_restrictCalendar').checked = false; 898 899 Element('em_input_readExpressoCalendar').disabled = true; 900 Element('em_input_writeExpressoCalendar').disabled = true; 901 Element('em_input_deleteExpressoCalendar').disabled = true; 902 Element('em_input_readExpressoCalendar').disabled = true; 657 903 } 658 904
Note: See TracChangeset
for help on using the changeset viewer.