Changeset 6021
- Timestamp:
- 04/24/12 18:28:27 (12 years ago)
- Location:
- trunk/prototype
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/prototype/config/filter.ini
r5862 r6021 20 20 21 21 [after.create] 22 makeId = modules/filters/interceptors/FilterMapping.php 22 23 applySieveFilter = modules/filters/interceptors/FilterMapping.php 23 24 24 25 25 ;[after.update]26 ;applySieveFilter= modules/filters/interceptors/FilterMapping.php26 [after.update] 27 makeId = modules/filters/interceptors/FilterMapping.php 27 28 28 29 -
trunk/prototype/modules/filters/filter-list.ejs
r5985 r6021 48 48 <fieldset class="fields-selected-itens ui-corner-all"> 49 49 <legend>Selecionadas</legend> 50 <a href="#" class="button enable" title="Habilitar regras selecionadas">Habilitar</a>51 <a href="#" class="button disable" title="Desabilitar regras selecionadas">Desabilitar</a>52 <a href="#" class="button delete" title="Excluir regras selecionadas">Excluir</a>50 <a href="#" class="button allenable" title="Habilitar regras selecionadas">Habilitar</a> 51 <a href="#" class="button alldisable" title="Desabilitar regras selecionadas">Desabilitar</a> 52 <a href="#" class="button alldelete" title="Excluir regras selecionadas">Excluir</a> 53 53 </fieldset> -
trunk/prototype/modules/filters/filters.js
r5995 r6021 4 4 var filters = DataLayer.get("filter"); 5 5 var outoffice_active = false; 6 varoutoffice = false;6 outoffice = false; 7 7 for(var index in filters){ 8 DataLayer.put( 'filter', filters[index].id, { enabled: (filters[index].enabled == "true" ? true: false)});9 8 if(filters[index].id == "vacation") 10 9 outoffice = true; … … 15 14 } 16 15 } 16 if(!outoffice_active) 17 clean_msg(); 17 18 } 18 19 … … 289 290 var selectedMessages = {}; 290 291 var allMessages = false; 291 //list_container = container.find(".rule-list-container");292 /*293 var raster = function( html ){294 container = $('body.expressomail-module-container').append( html ).find(".expresso-window-container");295 list_container = container.find(".rule-list-container");296 details_container = container.find(".rule-details-container");297 vacation_container = container.find(".vacation-details-container");298 form = container.find("form");299 criterias = details_container.find( 'fieldset input[name="criteriaType[]"]' );300 actions = details_container.find( 'fieldset input[name="actionType[]"]' );301 nameObj = details_container.find( 'input[name="name"]' );302 isExact = details_container.find( 'input[name="isExact"]' );303 formatter();304 container = container.dialog({305 width:700,306 modal: true,307 closeOnEscape:true,308 close:function(event, ui) {309 event.stopPropagation();310 list_container.removeClass('hidden');311 details_container.addClass('hidden');312 vacation_container.addClass('hidden');313 },314 open: function () {315 $(".ui-dialog .ui-dialog-titlebar")316 .append('<a href="#" class="ui-dialog-titlebar-minimize ui-corner-all" role="button"><span class="ui-icon ui-icon-minusthick">minimize</span></a>')317 .find('.ui-dialog-titlebar-minimize').click(function() {318 $(".ui-dialog-buttonpane, .ui-dialog-content").toggle();319 $(".ui-icon-minusthick, .ui-icon-newwin").toggleClass('ui-icon-minusthick').toggleClass('ui-icon-newwin');320 });321 },322 autoOpen: false323 });324 details_container.accordion({autoHeight: false});325 326 DataLayer.render( BASE_PATH + 'api/templates/folderselect.ejs', 'folder:select', function( html ){327 details_container.find(".select-folderlist").append( html );328 });329 330 331 container.find(".button").button()332 333 .filter(".menu-filters > .button")334 335 .click(function(){336 337 container.dialog( 'close' );338 339 })340 341 .filter(".cancel")342 343 .click(function(){344 345 DataLayer.rollback( 'filter' );346 return( false );347 348 })349 350 .end().filter(".submit")351 352 .click(function(){353 354 DataLayer.commit( 'filter' );355 return( false );356 357 });358 359 details_container.find( ".menu-container" )360 361 .find(".button.cancel").click(function(event){362 363 details_container.accordion('activate',0);364 365 showGridButton.removeClass('hidden');366 grid.addClass('hidden').jqGrid('GridDestroy');367 368 list_container.removeClass('hidden');369 details_container.addClass('hidden');370 371 return( false );372 373 }).end()374 .find(".button.submit").click(function(event){375 376 $(this).submit();377 378 details_container.accordion('activate',0);379 380 showGridButton.removeClass('hidden');381 grid.addClass('hidden').jqGrid('GridDestroy');382 383 list_container.removeClass('hidden');384 details_container.addClass('hidden');385 386 return( false );387 388 }).end()389 .find(".button.back").click(function(event){390 391 details_container.accordion('activate',0);392 393 return( false );394 395 }).end()396 .find(".button.forth").click(function(event){397 398 details_container.accordion('activate',1);399 400 return( false );401 402 }).end()403 404 //$( ".expresso-window-container .rule-details-container" ).accordion();405 // var removeURL = new RegExp("^*.#");406 407 // ------------------------------------------------------------408 // ------------------------------------------------------------409 410 //jqgrid411 .end().find(".fields-search-messages .button.search")412 413 .click(function(){414 415 var rule = DataLayer.form( form );416 417 showGridButton = $(this).parent();418 419 var connect = rule.isExact ? "AND" : "OR";420 421 var filter = $.map( rule.criteria, function( criteria, i ){422 423 if( i === 0 )424 return {"0": criteria.field, "1": criteria.operator, "2": criteria.value};425 else426 return {"0": connect, "1": criteria.field, "2": criteria.operator, "3": criteria.value};427 });428 429 $.ajax( {430 url: DataLayer.basePath + 'folder/INBOX/message&' + $.param( {"filter": filter} ),431 432 dataType: 'json',433 434 success: function(data){435 436 allMessages = data;437 438 grid = showGridButton.addClass('hidden')439 .siblings(".fields-search-messages-grid, .fields-search-messages-grid-pager")440 .removeClass('hidden').filter(".fields-search-messages-grid").jqGrid({441 442 url: DataLayer.basePath + 'folder/INBOX/message&' + $.param( {"filter": [ "msgNumber", "IN", data ]} ),443 datatype: "json",444 mtype: 'GET',445 colNames:['#', ' ', 'De', 'Assunto', 'Data', 'Tamanho'],446 colModel:[447 {name:'msg_number',index:'msg_number', width:45, hidden:true, sortable:false},448 {name:'flags',index:'msg_number', width:40, sortable:false, formatter:flags2Class},449 {name:'from.name',index:'msg_number', width:130, sortable:false},450 {name:'subject',index:'subject', width:250, sortable:false},451 {name:'timestamp',index:'timestamp', width:65, align:"center", sortable:false, formatter:date2Time},452 {name:'size',index:'size', width:50, align:"right", sortable:false, formatter:bytes2Size}453 ],454 jsonReader : {455 root:"rows",456 page: "page",457 total: "total",458 records: "records",459 repeatitems: false,460 id: "0"461 },462 rowNum:10,463 rowList:[10,25,50],464 pager: '#fields-search-messages-grid-pager',465 sortname: 'id',466 viewrecords: true,467 sortorder: "desc",468 multiselect: true,469 autowidth: true,470 height:40,471 loadComplete: function(data) {472 // // aplica o contador473 // jQuery('.timable').each(function (i) {474 // jQuery(this).countdown({475 // since: new Date(parseInt(this.title)),476 // significant: 1,477 // layout: 'há {d<}{dn} {dl} {d>}{h<}{hn} {hl} {h>}{m<}{mn} {ml} {m>}{s<}{sn} {sl}{s>}',478 // description: ' atrás'479 // });480 // });481 },482 onSelectRow: function (id, selected) {483 484 if( selected )485 selectedMessages[ id ] = true;486 else487 delete selectedMessages[ id ];488 489 },490 caption: 'Mensagens que atendem aos critérios'491 });492 }493 } );494 495 496 });497 498 vacation_container.find( ".menu-container" )499 .find(".button.back").click(function(event){500 501 list_container.removeClass('hidden');502 vacation_container.addClass('hidden');503 504 return( false );505 506 }).end()507 .find(".button.submit").click(function(event){508 509 $(this).submit();510 511 list_container.removeClass('hidden');512 vacation_container.addClass('hidden');513 return( false );514 });515 516 }517 518 var reraster = function( html ){519 520 //$(".rule-list-container").next().addClass("hidden");521 522 list_container.find( '.ui-widget' ).remove();523 524 list_container.html( html ).find(".button").button();525 526 formatter();527 }528 529 var formatter = function(){530 531 checkBoxes = container.find(".rule-list").selectable({532 selecting: function(event, ui) {533 $(ui.selecting).find(':checkbox').attr('checked', true);534 },535 unselecting: function(event, ui) {536 $(ui.unselecting).find(':checkbox').attr('checked', false);537 }538 })539 .find(':checkbox').change(function () {540 541 // if ($(this).attr("checked"))542 // $(this).parents('.rule').addClass('ui-selected');543 // else544 $(this).parents('.rule').toggleClass('ui-selected');545 546 });547 548 list_container.children()549 550 .filter( ".fields-add" )551 552 .find(".button.add").click(function(){553 554 list_container.addClass('hidden');555 details_container.removeClass('hidden');556 form.get(0).reset();557 558 return( false );559 })560 .filter(".vacation").click(function(){561 562 details_container.addClass('hidden');563 vacation_container.removeClass('hidden');564 form.get(0).reset();565 566 return( false );567 568 }).end().end()569 570 .end().filter( ".fields-selected-itens" )571 572 .find(".button.enable").click(function(){573 574 var values = [];575 576 checkBoxes.filter(':checked').parents(".rule-list").find('.title').each(function(){577 578 values[ values.length ] = { id: this.innerHTML, enabled: true };579 580 });581 582 DataLayer.put( 'filter', values );583 584 }).end()585 586 .find(".button.disable").click(function(){587 588 var values = [];589 590 checkBoxes.filter(':checked').parents(".rule-list").find('.title').each(function(){591 592 values[ values.length ] = { id: this.innerHTML, enabled: false };593 594 });595 596 DataLayer.put( 'filter', values );597 598 }).end()599 600 .find(".button.delete").click(function(){601 602 checkBoxes.filter(':checked').parents(".rule-list").find('.title').each(function(i, o){603 604 DataLayer.remove( 'filter', o.html() );605 606 });607 608 }).end()609 610 611 .end().find( ".menu-control .button" ).filter(".update").button({612 icons: {613 primary: "ui-icon-pencil"614 },615 text: false616 }).end()617 618 .filter(".enable, .disable").click( function(event) {619 620 var id = $(this).parents("li.rule").find('.title').html();621 622 DataLayer.put( 'filter', id, { enabled: !$(this).is('.enable') } );623 })624 625 .filter(".enable").button({626 icons: {627 primary: "ui-icon-circle-check"628 },629 text: false630 }).end()631 632 .filter(".disable").button({633 icons: {634 primary: "ui-icon-circle-close"635 },636 text: false637 }).end().end()638 639 .filter(".close").button({640 icons: {641 primary: "ui-icon-close"642 },643 text: false644 }).click( function(event) {645 $(event.target)646 .parents("li.rule").find('.title')647 .each( function(){648 649 DataLayer.remove( 'filter', $(this).html() );650 651 }).end().remove();652 }).end()653 654 .filter(".update").click(function(event){655 656 var id = ( event.target.href || event.target.parentNode.href ).replace( new RegExp("^.*#"), "" );657 658 var data = DataLayer.get( 'filter', id );659 660 if( id === "vacation" )661 {662 $('[name="vacation"]').val( data.actions[0].parameter );663 664 list_container.addClass('hidden');665 vacation_container.removeClass('hidden');666 return;667 }668 669 showDetails( data );670 671 list_container.addClass('hidden');672 details_container.removeClass('hidden');673 }).end()674 675 .removeClass('ui-button-icon-only');676 };677 // ------------------------------------------------------------678 // ------------------------------------------------------------679 */680 292 681 293 function block_user_email(email) { … … 717 329 718 330 function list_filters(html){ 719 /** TODO - Mudar quando API abstrair atualizações no cache */ 720 DataLayer.remove('filter', false); 721 var filters = DataLayer.get("filter"); 722 var outoffice_active = false; 723 var outoffice = false; 724 for(var index in filters){ 725 DataLayer.put( 'filter', filters[index].id, { enabled: (filters[index].enabled == "true" ? true: false)}); 726 if(filters[index].id == "vacation") 727 outoffice = true; 728 if(filters[index].id == "vacation" && filters[index].enabled == "true"){ 729 write_msg(get_lang("Attention, you are in out of office mode."), true); 730 outoffice_active = true; 731 break; 732 } 733 } 734 DataLayer.commit( 'filter' ); 735 if(!outoffice_active){ 736 clean_msg(); 737 } 331 outOfficeVerify(); 738 332 if(html){ 739 333 if( ! $(".filters-windows").length ) … … 852 446 text: false 853 447 }).click(function(){ 854 var id = $(this).parents("li.rule").find('.id').val(); 448 var id = $(this).parents("li.rule").find('.id').val(); 855 449 DataLayer.put( 'filter', id, { enabled: false }); 856 450 DataLayer.commit("filter", false,function(){ … … 900 494 }).end().removeClass("ui-button-icon-only"); 901 495 902 $(".button. enable").click(function(){496 $(".button.allenable").click(function(){ 903 497 container.find('.rule-list').find('.rule').find('.select').find(':checked').parents('.rule').find('.title').each(function(i,o){ 904 498 DataLayer.put( 'filter', o.innerHTML, { enabled: true }); … … 909 503 }); 910 504 911 $(".button. disable").click(function(){505 $(".button.alldisable").click(function(){ 912 506 container.find('.rule-list').find('.rule').find('.select').find(':checked').parents('.rule').find('.title').each(function(i,o){ 913 507 DataLayer.put( 'filter', o.innerHTML, { enabled: false }); … … 920 514 921 515 922 $(".button. delete").click(function(){516 $(".button.alldelete").click(function(){ 923 517 $.Zebra_Dialog(get_lang("Are you sure to delete the filters?"),{ 924 518 'type': 'question', -
trunk/prototype/modules/filters/interceptors/FilterMapping.php
r6009 r6021 57 57 class FilterMapping 58 58 { 59 60 59 var $service; 60 61 /** 62 * Método que cria o ID da regra que está sendo criada. 63 * 64 * @license http://www.gnu.org/copyleft/gpl.html GPL 65 * @author Consórcio Expresso Livre - 4Linux (www.4linux.com.br) e Prognus Software Livre (www.prognus.com.br) 66 * @sponsor Caixa EconÃŽmica Federal 67 * @author Airton Bordin Junior <airton@prognus.com.br> 68 * @author Gustavo Pereira dos Santos <gustavo@prognus.com.br> 69 * @author Natan Fonseca <natan@prognus.com.br> 70 * @param <$uri> 71 * @param <$result> 72 * @param <$criteria> 73 * @param <$original> 74 * @access <public> 75 */ 76 public function makeId(&$uri , &$result , &$criteria , $original) { 77 $result['id'] = $uri['id']; 78 } 61 79 62 80 … … 452 470 //if() 453 471 //{ 454 $result['id'] = $uri['id'];455 472 $rule_apply = array(); 456 473
Note: See TracChangeset
for help on using the changeset viewer.