Ignore:
Timestamp:
04/02/12 17:58:17 (12 years ago)
Author:
airton
Message:

Ticket #1794 - Codificar DFD0060 - Aplicacao das regras nas mensagens da caixa de entrada

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/prototype/modules/filters/filters.js

    r5801 r5862  
    154154      } 
    155155 
     156          var apply_messages_ = keys(selectedMessages); 
     157          delete selectedMessages;  
     158 
    156159      return { 
    157160                //id: form.name, 
     
    199202                }), 
    200203                enabled : false, 
    201                 applyMessages: allMessages? !$.isEmptyObject( selectedMessages ) ? 
    202                 keys( selectedMessages ) : allMessages : "" 
    203                  
     204                //applyMessages: allMessages? !$.isEmptyObject( selectedMessages ) ? 
     205                //keys( selectedMessages ) : allMessages : "" 
     206                applyMessages: apply_messages_  
     207                //applyMessages: "" 
    204208      }; 
    205209  }, 
    206210   
    207211  encoder: function( filters ){ 
    208          
    209212        var rules = []; 
    210213 
     
    215218 
    216219  } 
     220   
    217221}); 
    218222 
     
    681685                                        { name: email, isExact: false,  
    682686                                                criteria:{ 0: {value: email, operator: "=", field: "from"} }, 
    683                                                 /* To-do: Arrumar para popular a tela com o reject, pois não há essa opção na interface. */ 
    684687                                                actions: { 0: {parameter: "INBOX/Spam", type: "fileinto"}},  
    685688                                                enabled: true,  
     
    885888                        }).end().filter(".cancel").click(function(){ 
    886889                                DataLayer.render( BASE_PATH + 'modules/filters/init.ejs', {},list_filters); 
    887                         }).end().filter(".submit").click(function(){ 
     890                        }).end().filter(".submit").click(function() { 
    888891                                if(valid_save()) 
    889892                                        $(this).submit(); 
     
    893896                                        DataLayer.render( BASE_PATH + 'modules/filters/init.ejs', {},list_filters); 
    894897                                }); 
    895                         }); 
    896                 });      
     898                        }).end().filter('.button.search').click(function() {                             
     899                                /* Valida se o usuário preencheu as informações */ 
     900                                if(valid_save()) 
     901                                {        
     902                                        var criteria_list          = list_container.find('[name="criteriaValue[]"]'); 
     903                                        var criteria_operator_list = list_container.find('[name="criteriaOperator[]"]'); 
     904                                        var criteria_value = ""; 
     905                                        var criteria = ""; 
     906                                        $.each(criteria_list, function(index, value){ 
     907                                                criteria += $.trim($(criteria_list[index]).val()) + ","; 
     908                                        }); 
     909                                        var criteria_ = criteria.split(","); 
     910                                        var criteria_operator  = ""; 
     911                                        $.each(criteria_operator_list, function(index, value){ 
     912                                                criteria_operator += $.trim($(criteria_list[index]).val()) != "" ? index + "," : ","; 
     913                                                criteria_value    += $.trim($(criteria_operator_list[index]).val()) + ","; 
     914                                        }); 
     915                                        var criteria_operator_  = criteria_operator.split(","); 
     916                                        var criteria_value_     = criteria_value.split(","); 
     917                                        var options = ["from", "to", "subject", "body", "size"]; 
     918                                        var criterias_ = new Array(); 
     919                                        var j = 0;               
     920                                        for (i in criteria_) { 
     921                                                if(criteria_[i] != "") { 
     922                                                        (j == 0) ? criterias_[j] = {"0": options[i], "1": criteria_value_[i], "2": criteria_[i]} : criterias_[j] = {"0": "OR", "1": options[i], "2": criteria_value_[i], "3": criteria_[i]};  
     923                                                        j++; 
     924                                                }        
     925                                        } 
     926                                        showGridButton = $(this).parent(); 
     927                                        $.ajax({   
     928                                                url: DataLayer.basePath + 'folder/INBOX/message&' +  $.param( {"filter": criterias_} ), 
     929                                                dataType: 'json', 
     930                                                success: function(data){         
     931                                                        allMessages = data; 
     932                                                        var parametro = ""; 
     933                                                        (data != false) ? parametro = {"filter": [ "msgNumber", "IN", data ]} : parametro = {"filter": criterias_}; 
     934                                                         
     935                                                        grid = showGridButton.addClass('hidden') 
     936                                                        .siblings(".fields-search-messages-grid, .fields-search-messages-grid-pager") 
     937                                                        .removeClass('hidden').filter(".fields-search-messages-grid").jqGrid({ 
     938                                                                //url: DataLayer.basePath + 'folder/INBOX/message&' +  $.param( {"filter": [ "msgNumber", "IN", data ]} ), 
     939                                                                url: DataLayer.basePath + 'folder/INBOX/message&' +  $.param( parametro ), 
     940                                                                datatype: "json", 
     941                                                                mtype: 'GET', 
     942                                                                colNames:['#', ' ', 'De', 'Assunto', 'Data', 'Tamanho'], 
     943                                                                colModel:[ 
     944                                                                        {name:'msg_number',index:'msg_number', width:45, hidden:true, sortable:false}, 
     945                                                                        {name:'flags',index:'msg_number', width:40, sortable:false, formatter:flags2Class}, 
     946                                                                        {name:'from.name',index:'msg_number', width:130, sortable:false}, 
     947                                                                        {name:'subject',index:'subject', width:250, sortable:false}, 
     948                                                                        {name:'timestamp',index:'timestamp', width:65, align:"center", sortable:false, formatter:date2Time}, 
     949                                                                        {name:'size',index:'size', width:50, align:"right", sortable:false, formatter:bytes2Size} 
     950                                                                ], 
     951                                                                jsonReader : { 
     952                                                                        root:"rows", 
     953                                                                        page: "page", 
     954                                                                        total: "total", 
     955                                                                        records: "records", 
     956                                                                        repeatitems: false, 
     957                                                                        id: "0" 
     958                                                                }, 
     959                                                                rowNum:10, 
     960                                                                //rowList:[10,25,50], 
     961                                                                rowList:[10], 
     962                                                                pager: '#fields-search-messages-grid-pager', 
     963                                                                sortname: 'id', 
     964                                                                viewrecords: true, 
     965                                                                sortorder: "desc", 
     966                                                                multiselect: true, 
     967                                                                autowidth: true, 
     968                                                                height:40, 
     969                                                                loadComplete: function(data) { 
     970                                                          //                            // aplica o contador 
     971                                                          //                            jQuery('.timable').each(function (i) { 
     972                                                          //                                    jQuery(this).countdown({ 
     973                                                          //                                            since: new Date(parseInt(this.title)),  
     974                                                          //                                            significant: 1, 
     975                                                          //                                            layout: 'h&aacute; {d<}{dn} {dl} {d>}{h<}{hn} {hl} {h>}{m<}{mn} {ml} {m>}{s<}{sn} {sl}{s>}',  
     976                                                          //                                            description: ' atr&aacute;s' 
     977                                                          //                                    }); 
     978                                                          //                            }); 
     979                                                                }, 
     980                                                                onSelectRow: function (id, selected) { 
     981                                                                        if( selected )  
     982                                                                        { 
     983                                                                                selectedMessages[ id ] = true; 
     984                                                                        } 
     985                                                                        else 
     986                                                                        { 
     987                                                                                delete selectedMessages[ id ]; 
     988                                                                        } 
     989                                                                }, 
     990                                                                caption: 'Mensagens que atendem aos crit&eacute;rios' 
     991                                                        }); // end jqGrid 
     992                                                } // end success 
     993                                        }); // end ajax 
     994                                }  
     995                                else 
     996                                { 
     997                                        return; 
     998                                } 
     999                        }); // end function click 
     1000                });     // end DataLayer.render 
    8971001        }); 
    8981002        list_container.parent().find(".button.add.vacation").click(function(){ 
Note: See TracChangeset for help on using the changeset viewer.