Changeset 5086 for branches/2.2


Ignore:
Timestamp:
09/13/11 10:21:50 (13 years ago)
Author:
diogenesduarte
Message:

Ticket #2234 - Ordenando pesquisa em mensagens locais, igual a ordenação em não locais.

Location:
branches/2.2/expressoMail1_2/js
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/2.2/expressoMail1_2/js/local_messages.js

    r4857 r5086  
    913913} 
    914914 
    915 local_messages.prototype.search = function(folders,sFilter) { 
     915local_messages.prototype.search = function(folders,sFilter,sortType) { 
    916916    this.init_local_messages(); 
    917917    this.setFilter(sFilter); 
     
    958958        } 
    959959    } 
    960     var sql = "select mail.header,folder.folder,mail.rowid,size from mail inner join folder on mail.id_folder=folder.rowid where mail.uid_usuario="+account_id + " and folder.folder in ("; 
     960    var sql = "select mail.header,folder.folder,mail.rowid,size"; 
     961    var order; 
     962    if(sortType) { 
     963        var sort_splited = sortType.split("_"); 
     964         
     965        //Preparando o select caso tenha order from 
     966        if(sort_splited[0]=="SORTWHO") { 
     967                sql+=',case when ltrim(ltrim(substr(UPPER(ffrom),21,length(mail.ffrom)),\':\'),\'"\')  like \'5:%\' then ' + 
     968            'substr(ltrim(ltrim(substr(UPPER(mail.ffrom),21,length(mail.ffrom)),\':\'),\'"\'),17) ' + 
     969            'else ' + 
     970            'ltrim(ltrim(substr(UPPER(mail.ffrom),21,length(mail.ffrom)),\':\'),\'"\') ' + 
     971            'end as order_from'; 
     972            } 
     973         
     974        order=" order by "; 
     975        switch (sort_splited[0]) { 
     976                case "SORTBOX": 
     977                        order+= "folder.folder "; 
     978                        break; 
     979                case "SORTWHO": 
     980                        order+="order_from "; 
     981                        break; 
     982                case "SORTSUBJECT": 
     983                        order+="UPPER(mail.subject) "; 
     984                        break; 
     985                case "SORTDATE": 
     986                        order+="mail.timestamp "; 
     987                        break; 
     988                case "SORTSIZE": 
     989                        order+="mail.size "; 
     990                        break; 
     991        } 
     992        if(sort_splited[1]=='REVERSE') 
     993                order+="desc"; 
     994     
     995     
     996 
     997    } 
     998    else { 
     999        order = " "; 
     1000    } 
     1001    sql+=" from mail inner join folder on mail.id_folder=folder.rowid where mail.uid_usuario="+account_id + " and folder.folder in ("; 
    9611002    for(var fnum in folders) { 
    9621003        sql+="'"+folders[fnum]+"'"; 
     
    9901031    } 
    9911032    sql += ")"; 
     1033    sql += order; 
     1034     
     1035         
    9921036    var rs = this.dbGears.execute(sql); 
    9931037    var retorno = []; 
  • branches/2.2/expressoMail1_2/js/search.js

    r5067 r5086  
    331331        } 
    332332         
    333         searchE.prototype.viewLocalMessage = function() 
     333        searchE.prototype.viewLocalMessage = function(borderID, sortType) 
    334334        { 
    335335                var data                        = [2]; 
     
    349349                        if ( local_folders.length > 0 ){ 
    350350                                if (this.folders.length >0) 
    351                                         gears = expresso_local_messages.search( this.folders, expresso_local_messages.getFilter() ); 
     351                                        gears = expresso_local_messages.search( this.folders, expresso_local_messages.getFilter(),sortType ); 
    352352                                else 
    353                                         gears = expresso_local_messages.search( local_folders, expresso_local_messages.getFilter() ); 
     353                                        gears = expresso_local_messages.search( local_folders, expresso_local_messages.getFilter(), sortType ); 
    354354                        } 
    355355                        data['data_gears']      = gears; 
     
    358358                write_msg( data['num_msgs'] + " " + get_lang("results found") ); 
    359359                         
    360                         EsearchE.mount_result( data ); 
     360                        delete_border( borderID, false ); 
     361                         
     362                        EsearchE.mount_result( data, sortType ); 
    361363                } 
    362364        } 
     
    638640                        if( Data['data'] ) 
    639641                        { 
    640                                 td_element1.onclick             = function(){ EsearchE.searchFor(border_id, 'SORTBOX_REVERSE'); }; 
    641                                 td_element1.innerHTML   = "<b>"+get_lang("Folder")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>"; 
     642                                td_element1.onclick             = function(){ EsearchE.searchFor(border_id, 'SORTBOX_REVERSE'); };       
    642643                        } 
    643644                        else 
    644645                        { 
    645                                 td_element1.innerHTML   = "<b>"+get_lang("Folder")+"</b>"; 
    646                         } 
     646                                td_element1.onclick             = function(){ EsearchE.viewLocalMessage(border_id,'SORTBOX_REVERSE'); }; 
     647                        } 
     648                        td_element1.innerHTML   = "<b>"+get_lang("Folder")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>"; 
    647649                } 
    648650                else 
     
    654656                        else 
    655657                        { 
     658                                td_element1.onclick             = function(){ EsearchE.viewLocalMessage(border_id,'SORTBOX'); }; 
    656659                                //alert('Ordenando localMessage'); 
    657660                        } 
     
    669672                        { 
    670673                                td_element2.onclick             = function(){ EsearchE.searchFor(border_id, 'SORTWHO_REVERSE'); }; 
    671                                 td_element2.innerHTML   = "<b>"+get_lang("who")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>"; 
    672674                        } 
    673675                        else 
    674676                        { 
    675                                 td_element2.innerHTML   = "<b>"+get_lang("who")+"</b>"; 
    676                         } 
     677                                td_element2.onclick             = function(){ EsearchE.viewLocalMessage(border_id,'SORTWHO_REVERSE'); }; 
     678                        } 
     679                        td_element2.innerHTML   = "<b>"+get_lang("who")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>"; 
    677680                } 
    678681                else 
     
    684687                        else 
    685688                        { 
    686                                 //alert('Ordenando localMessage'); 
     689                                td_element2.onclick             = function(){ EsearchE.viewLocalMessage(border_id, 'SORTWHO'); }; 
    687690                        } 
    688691                        td_element2.innerHTML   = ( sort_type == 'SORTWHO_REVERSE' ) ? arrow_ascendant(get_lang("who")) : get_lang("who"); 
     
    699702                        { 
    700703                                td_element3.onclick             = function(){ EsearchE.searchFor(border_id, 'SORTSUBJECT_REVERSE'); }; 
    701                                 td_element3.innerHTML   = "<b>"+get_lang("subject")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>";                                
     704                                                                 
    702705                        } 
    703706                        else 
    704707                        { 
    705                                 td_element3.innerHTML   = "<b>"+get_lang("subject")+"</b>"; 
    706                         } 
     708                                td_element3.onclick             = function(){ EsearchE.viewLocalMessage(border_id, 'SORTSUBJECT_REVERSE'); }; 
     709                        } 
     710                        td_element3.innerHTML   = "<b>"+get_lang("subject")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>"; 
    707711                } 
    708712                else 
     
    714718                        else 
    715719                        { 
    716                                 //alert('Ordenando localMessage'); 
     720                                td_element3.onclick             = function(){ EsearchE.viewLocalMessage( border_id, 'SORTSUBJECT'); }; 
    717721                        } 
    718722                        td_element3.innerHTML   = ( sort_type == 'SORTSUBJECT_REVERSE' ) ? arrow_ascendant(get_lang("subject")) : get_lang("subject"); 
     
    729733                        { 
    730734                                td_element4.onclick             = function(){ EsearchE.searchFor(border_id, 'SORTDATE_REVERSE'); }; 
    731                                 td_element4.innerHTML   = "<b>"+get_lang("Date")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>"; 
    732735                        } 
    733736                        else 
    734737                        { 
    735                                 td_element4.innerHTML   = "<b>"+get_lang("Date")+"</b>"; 
    736                         } 
     738                                td_element4.onclick             = function(){ EsearchE.viewLocalMessage(border_id, 'SORTDATE_REVERSE'); }; 
     739                        } 
     740                        td_element4.innerHTML   = "<b>"+get_lang("Date")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>"; 
    737741                } 
    738742                else 
     
    744748                        else 
    745749                        { 
    746                                 //alert('Ordenando localMessage'); 
     750                                td_element4.onclick             = function(){ EsearchE.viewLocalMessage(border_id, 'SORTDATE'); }; 
    747751                        } 
    748752                        td_element4.innerHTML   = ( sort_type == 'SORTDATE_REVERSE' ) ? arrow_ascendant(get_lang("Date")) : get_lang("Date"); 
     
    759763                        { 
    760764                                td_element5.onclick             = function(){ EsearchE.searchFor(border_id, 'SORTSIZE_REVERSE'); }; 
    761                                 td_element5.innerHTML   = "<b>"+get_lang("size")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>";                           
     765                                                                 
    762766                        } 
    763767                        else 
    764768                        { 
    765                                 td_element5.innerHTML   = "<b>"+get_lang("size")+"</b>"; 
    766                         } 
     769                                td_element5.onclick             = function(){ EsearchE.viewLocalMessage(border_id, 'SORTSIZE_REVERSE'); }; 
     770                        } 
     771                        td_element5.innerHTML   = "<b>"+get_lang("size")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>"; 
    767772                } 
    768773                else 
     
    774779                        else 
    775780                        { 
    776                                 //alert('Ordenando localMessage'); 
     781                                td_element5.onclick             = function(){ EsearchE.viewLocalMessage(border_id, 'SORTSIZE'); }; 
    777782                        } 
    778783                        td_element5.innerHTML   = ( sort_type == 'SORTSIZE_REVERSE' ) ? arrow_ascendant(get_lang("size")) : get_lang("size"); 
     
    813818                 
    814819                resizeWindow(); 
    815  
    816                 EsearchE.show_paging( Data['num_msgs'] ); 
     820                if( Data['data'] ) 
     821                        EsearchE.show_paging( Data['num_msgs'] ); 
    817822        } 
    818823 
     
    11031108                if( (tmp.length > 0) && (!data['num_msgs']) ) 
    11041109                { 
    1105                         EsearchE.folders = local_folders;  
    1106                         EsearchE.viewLocalMessage(); 
     1110                        //EsearchE.folders = local_folders; 
     1111                        var data_local = [2];  
     1112                        data_local['data_gears'] = tmp; 
     1113                                        data_local['num_msgs'] = tmp.length; 
     1114                        EsearchE.mount_result(data_local); 
     1115                //      EsearchE.viewLocalMessage(); 
    11071116                } 
    11081117                else 
Note: See TracChangeset for help on using the changeset viewer.