Ignore:
Timestamp:
10/26/12 13:38:28 (12 years ago)
Author:
marcosw
Message:

Ticket #3088 - Correção para manter flags no desarquivamento em massa

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/expressoMail1_2/js/mail_archiver.js

    r7459 r7468  
    171171    this.selectedfolder = null; 
    172172    this.allmessagesbyfolder = new Array(); 
     173    this.allcompletemessagesbyfolder = new Array(); 
    173174    this.isArchiveOperation = false; //Se estiver em andamento uma operação de arquivamento/desarquivamento. 
    174175    //Contadores da aba de listagem de mensagem 
     
    644645        //Both XDomainRequest and XMLHttpRequest L2 supports onload event 
    645646        UnarchiveReqHandler.handler.onload = function(){             
    646             for (var w=0; w < expresso_mail_archive.messageslisted.length; w++){ 
     647            for (var w=0; w < expresso_mail_archive.allcompletemessagesbyfolder.length; w++){ 
    647648                                 
    648                 if(expresso_mail_archive.messageslisted[w]["msg_number"] == expresso_mail_archive.message_list[expresso_mail_archive.unarchivecounter]){ 
    649                     var timestamp = expresso_mail_archive.messageslisted[w]["timestamp"]; 
     649                if(expresso_mail_archive.allcompletemessagesbyfolder[w]["msg_number"] == expresso_mail_archive.message_list[expresso_mail_archive.unarchivecounter]){ 
     650                    var timestamp = expresso_mail_archive.allcompletemessagesbyfolder[w]["timestamp"]; 
    650651                     
    651652                    //Get local tagged message data 
     
    653654                     
    654655                    //Forwarded is special one: marks as "answered" and "draft" 
    655                     if(expresso_mail_archive.messageslisted[w]["Forwarded"]){ 
    656                         if(expresso_mail_archive.messageslisted[w]["Forwarded"] == 'F') 
     656                    if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Forwarded"]){ 
     657                        if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Forwarded"] == 'F') 
    657658                            flags += 'A:X'+':';                                   
    658659                    } 
    659660                    else{ 
    660661                        //Answered tag 
    661                         if(expresso_mail_archive.messageslisted[w]["Answered"]) 
    662                             if(expresso_mail_archive.messageslisted[w]["Answered"] == 'A') 
     662                        if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Answered"]) 
     663                            if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Answered"] == 'A') 
    663664                                flags += 'A'+':'; 
    664665                            else 
     
    668669 
    669670                        //Draft tag 
    670                         if(expresso_mail_archive.messageslisted[w]["Draft"]) 
    671                             if(expresso_mail_archive.messageslisted[w]["Draft"] == 'X') 
     671                        if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Draft"]) 
     672                            if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Draft"] == 'X') 
    672673                                flags += 'D'+':';                     
    673674                            else 
     
    678679                     
    679680                    //Flagged tag 
    680                     if(expresso_mail_archive.messageslisted[w]["Flagged"]) 
    681                         if(expresso_mail_archive.messageslisted[w]["Flagged"] == 'F') 
     681                    if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Flagged"]) 
     682                        if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Flagged"] == 'F') 
    682683                            flags += 'F'+':';                                         
    683684                        else 
     
    687688                     
    688689                    //Unseen tag 
    689                     if(expresso_mail_archive.messageslisted[w]["Unseen"]) 
    690                         if(expresso_mail_archive.messageslisted[w]["Unseen"] == 'U') 
     690                    if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Unseen"]) 
     691                        if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Unseen"] == 'U') 
    691692                            flags += 'U';      
    692693                        else 
     
    710711            "&flags="       + flags + 
    711712            "&id="          + id; 
    712  
    713             //Decrementa valor total de não lidas/total de mensagens na aba de listagem de mensagens 
    714             if(flags.indexOf("U") != -1){ 
    715                 expresso_mail_archive.tot_unseen_msgs_tab -= 1; 
    716                 Element('new_m').innerHTML = '<font color="RED">'+expresso_mail_archive.tot_unseen_msgs_tab+'</font>'; 
    717             } 
    718             expresso_mail_archive.tot_msgs_tab -= 1; 
    719             Element("tot_m").innerHTML = expresso_mail_archive.tot_msgs_tab; //folder_num_msgs; 
    720713 
    721714            var handler_unarchive = function(data){ 
     
    14111404        else 
    14121405            var query_messages = '{"query":{"folder":[{"@id":"'+folderid+'"}], "tags":[{"@contains":"'+searchType+'"}], "order":[{"@asc":"date"}]}}'; 
    1413         console.log(query_messages); 
    14141406        ArchiveServices.listMessages(expresso_mail_archive.listAllMessagesByFolderOperationOK, expresso_mail_archive.listAllMessagesByFolderOperationFailure, expresso_mail_archive.session.id, query_messages); 
    14151407    } 
     
    14221414MailArchiver.prototype.listAllMessagesByFolderOperationOK = function(returnService){ 
    14231415    var msglist = new Array(); 
     1416    var msglistcomplete = new Array(); 
    14241417    for(var i=0; i< returnService.getReturn().length; i++){ 
     1418        //Array montado apenas com ids para tratamento de seleção de mensagens independente de paginação 
    14251419        msglist.push(returnService.getReturn()[i]._id); 
     1420        //Incremento de contadores para atualização da aba de listagem 
    14261421        if(returnService.getReturn()[i]._tags.indexOf("unseen") != -1){ 
    14271422            expresso_mail_archive.tot_unseen_msgs_tab++; 
    14281423        } 
    14291424        expresso_mail_archive.tot_msgs_tab++; 
    1430         //console.log(returnService.getReturn()[i]); 
    1431     } 
    1432     //console.log(msglist); 
     1425        //Array montado para operação de desarquivamento 
     1426        var ExpSerialized = expresso_mail_archive.pattern.toExpressoHeader(returnService.getReturn()[i]); 
     1427        msglistcomplete.push(connector.unserialize(ExpSerialized)); 
     1428    } 
    14331429    expresso_mail_archive.allmessagesbyfolder = msglist; 
     1430    expresso_mail_archive.allcompletemessagesbyfolder = msglistcomplete; 
    14341431} 
    14351432 
Note: See TracChangeset for help on using the changeset viewer.