Changeset 4596


Ignore:
Timestamp:
06/10/11 18:36:52 (9 years ago)
Author:
alexandrecorreia
Message:

Ticket #244 - Corrigido problema ao mover/deletar mensagens que estão no resultado da busca

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

Legend:

Unmodified
Added
Removed
  • branches/2.2/expressoMail1_2/js

    • Property svn:ignore
      •  

        old new  
        33.filters.js.swo 
        44.filter_old.js.swp 
         5.drag_area.js.swp 
         6.main.js.swp 
         7.messages_controller.js.swp 
         8.local_messages.j.swp 
         9.local_messages.js.swp 
         10.wfolders.js.swp 
  • branches/2.2/expressoMail1_2/js/main.js

    r4591 r4596  
    660660} 
    661661 
    662 function move_msgs2(folder, msgs_number, border_ID, new_folder, new_folder_name,show_success_msg){ 
    663         if (! folder || folder == 'null') 
    664                 folder = Element("input_folder_"+msgs_number+"_r") ? Element("input_folder_"+msgs_number+"_r").value : (openTab.imapBox[currentTab] ? openTab.imapBox[currentTab]:get_current_folder()); 
    665         if(openTab.type[currentTab] == 1) 
    666                 return move_search_msgs('content_id_'+currentTab,new_folder,new_folder_name); 
    667  
    668         var handler_move_msgs = function(data){ 
    669                 if(typeof(data) == 'string') 
    670                         if (data.match(/^(.*)TRYCREATE(.*)$/)){ 
    671                                 connector.loadScript('TreeS'); 
    672                                 var move_to_folder = data.match(/^(.*)Spam(.*)$/) ? "Spam" : trashfolder; 
    673                                 alert(get_lang('There is not %1 folder, Expresso is creating it for you... Please, repeat your request later.', move_to_folder)); 
    674                                 connector.loadScript('TreeShow'); 
    675                                 ttree.FOLDER = 'root'; 
    676                                 ttreeBox.new_past(move_to_folder); 
    677                                 return false; 
    678                         }else{ 
    679                                 alert(get_lang('Error moving message.')+":\n"+data); 
    680                                 return false; 
    681                         } 
    682                 //Este bloco verifica as permissoes ACL sobre pastas compartilhadas 
    683                 if(data.status == false){ 
    684                         alert(get_lang("You don't have permission for this operation in this shared folder!")); 
    685                         return false; 
    686                 } 
    687                 mail_msg = ( Element("divScrollMain_"+numBox) ) ? Element("divScrollMain_"+numBox).firstChild.firstChild : Element("divScrollMain_0").firstChild.firstChild; 
    688                 if (data.msgs_number.length == 1) 
    689                         write_msg(get_lang("The message was moved to folder ") + lang_folder(data.new_folder_name)); 
    690                 else 
    691                         write_msg(get_lang("The messages were moved to folder ") + lang_folder(data.new_folder_name)); 
    692  
    693                 if (openTab.type[currentTab] > 1){ 
    694                         msg_to_delete = Element(msgs_number); 
    695                         if (parseInt(preferences.delete_and_show_previous_message) && msg_to_delete) 
    696                         { 
    697                                 if (msg_to_delete.previousSibling){ 
    698                                         var previous_msg = msg_to_delete.previousSibling.id; 
    699                                         //cExecute("$this.imap_functions.get_info_msg&msg_number="+previous_msg+"&msg_folder=" + current_folder, show_msg); 
    700                                         cExecute("$this.imap_functions.get_info_msg&msg_number="+previous_msg+"&msg_folder=" + url_encode(folder), show_msg); 
    701                                 } 
    702                                 else 
    703                                         delete_border(currentTab,'false'); 
    704                         } 
    705                         else 
    706                                 delete_border(currentTab,'false'); 
    707                         if(msg_to_delete) 
    708                                 mail_msg.removeChild(msg_to_delete); 
    709  
    710                         // Update Box BgColor 
    711                         var box = Element("tbody_box"); 
    712                         if(box.childNodes.length > 0){ 
    713                                 updateBoxBgColor(box.childNodes); 
    714                         } 
    715                         return; 
    716                 } 
    717  
    718                 Element('chk_box_select_all_messages').checked = false; 
    719                 if (! mail_msg) 
    720                                 mail_msg = Element("tbody_box"); 
    721                 data.msgs_number = data.msgs_number.split(","); 
    722  
    723                 var msg_to_delete; 
    724                 if( typeof(msgs_number) == 'string' ) 
    725                         all_search_msg = msgs_number.split(','); 
    726                 else if( typeof(msgs_number) == 'number') 
    727                         all_search_msg = msgs_number; 
    728  
    729                 for (var i=0; i <= all_search_msg.length; i++) 
    730                 { 
    731                         msg_to_delete = Element(folder+';'+all_search_msg[i]); 
    732                         if (msg_to_delete) 
    733                                 msg_to_delete.parentNode.removeChild(msg_to_delete); 
    734                 } 
    735  
    736                 if ( preferences.use_shortcuts == '1') { 
    737                         var all_messages = Element('tbody_box').childNodes; 
    738  
    739                         //Last msg is selected 
    740                         if ( exist_className(all_messages[all_messages.length-1], 'selected_shortcut_msg') ) { 
    741                                 select_msg('null', 'up', true); 
    742                         } 
    743                         else { 
    744                                 if (!select_msg('null', 'down', true)) { 
    745                                         select_msg('null', 'up', true); 
    746                                 } 
    747                         } 
    748                 } 
    749                 for (var i=0; i<data.msgs_number.length; i++) 
    750                 { 
    751                         msg_to_delete = Element(data.msgs_number[i]); 
    752                         if (msg_to_delete) 
    753                                 mail_msg.removeChild(msg_to_delete); 
    754                 } 
    755  
    756  
    757                 if (data.msgs_number.length == 1) 
    758                         write_msg(get_lang("The message was moved to folder ") + lang_folder(data.new_folder_name)); 
    759                 else 
    760                         write_msg(get_lang("The messages were moved to folder ") + lang_folder(data.new_folder_name)); 
    761                 if (data.border_ID.indexOf('r') != -1){ 
    762                         if (parseInt(preferences.delete_and_show_previous_message) && folder == get_current_folder()){ 
    763                                 delete_border(data.border_ID,'false'); 
    764                                 show_msg(data.previous_msg); 
    765                                 } 
    766                         else 
    767                                 delete_border(data.border_ID,'false'); 
    768                 } 
    769                 if(folder == get_current_folder()) 
    770                         Element('tot_m').innerHTML = parseInt(Element('tot_m').innerHTML) - data.msgs_number.length; 
    771  
    772                 refresh(); 
    773         } 
    774  
    775         if (folder == new_folder){ 
    776                 write_msg(get_lang('The origin folder and the destination folder are the same.')); 
    777                 return; 
    778         } 
    779  
    780         if (msgs_number == 'selected'){ 
    781                 msgs_number = get_selected_messages(); 
    782                 } 
    783  
    784         if(openTab.type[currentTab] == 1){ 
    785                 return move_search_msgs('content_id_'+currentTab,new_folder,new_folder_name); 
    786                 } 
    787  
    788         if(currentTab.toString().indexOf("_r") != -1){ 
    789                 msgs_number = currentTab.toString().substr(0,currentTab.toString().indexOf("_r")); 
    790         } 
    791  
    792         if (parseInt(msgs_number) > 0 || msgs_number.length > 0) 
    793                 cExecute ("$this.imap_functions.move_messages&folder="+folder+"&msgs_number="+msgs_number+"&border_ID="+border_ID+"&sort_box_type="+sort_box_type+"&search_box_type="+search_box_type+"&sort_box_reverse="+sort_box_reverse+"&reuse_border="+border_ID+"&new_folder="+new_folder+"&new_folder_name="+new_folder_name+"&get_previous_msg="+preferences.delete_and_show_previous_message, handler_move_msgs); 
    794         else 
    795                 write_msg(get_lang('No selected message.')); 
    796  
    797 } 
     662function move_msgs2(folder, msgs_number, border_ID, new_folder, new_folder_name,show_success_msg) 
     663{ 
     664    if (! folder || folder == 'null') 
     665        folder = Element("input_folder_"+msgs_number+"_r") ? Element("input_folder_"+msgs_number+"_r").value : (openTab.imapBox[currentTab] ? openTab.imapBox[currentTab]:get_current_folder()); 
     666    if(openTab.type[currentTab] == 1) 
     667        return move_search_msgs('content_id_'+currentTab,new_folder,new_folder_name); 
     668 
     669    var handler_move_msgs = function(data) 
     670    { 
     671        if(typeof(data) == 'string') 
     672        {     
     673            if (data.match(/^(.*)TRYCREATE(.*)$/)) 
     674            { 
     675                connector.loadScript('TreeS'); 
     676                var move_to_folder = data.match(/^(.*)Spam(.*)$/) ? "Spam" : trashfolder; 
     677                alert(get_lang('There is not %1 folder, Expresso is creating it for you... Please, repeat your request later.', move_to_folder)); 
     678                connector.loadScript('TreeShow'); 
     679                ttree.FOLDER = 'root'; 
     680                ttreeBox.new_past(move_to_folder); 
     681                return false; 
     682            } 
     683            else 
     684            { 
     685                alert(get_lang('Error moving message.')+":\n"+data); 
     686                return false; 
     687            } 
     688        } 
     689         
     690        //Este bloco verifica as permissoes ACL sobre pastas compartilhadas 
     691        if( data.status == false ) 
     692        { 
     693            alert(get_lang("You don't have permission for this operation in this shared folder!")); 
     694            return false; 
     695        } 
     696         
     697        mail_msg = ( Element("divScrollMain_"+numBox) ) ? Element("divScrollMain_"+numBox).firstChild.firstChild : Element("divScrollMain_0").firstChild.firstChild; 
     698         
     699        if ( data.msgs_number.length == 1 ) 
     700        {     
     701            write_msg(get_lang("The message was moved to folder ") + lang_folder(data.new_folder_name)); 
     702        } 
     703        else 
     704        {     
     705            write_msg(get_lang("The messages were moved to folder ") + lang_folder(data.new_folder_name)); 
     706        } 
     707 
     708        if ( openTab.type[currentTab] > 1 ) 
     709        { 
     710            msg_to_delete = Element( data.msgs_number ); 
     711             
     712            if ( parseInt(preferences.delete_and_show_previous_message) && msg_to_delete ) 
     713            { 
     714                if ( msg_to_delete.previousSibling ) 
     715                { 
     716                    var previous_msg = msg_to_delete.previousSibling.id; 
     717                    cExecute("$this.imap_functions.get_info_msg&msg_number="+previous_msg+"&msg_folder=" + url_encode(folder), show_msg); 
     718                } 
     719                else 
     720                {     
     721                    delete_border( data.border_ID, 'false' ); 
     722                } 
     723            } 
     724            else 
     725            {     
     726                delete_border( data.border_ID, 'false' ); 
     727            } 
     728             
     729            if( msg_to_delete != null ) 
     730            {     
     731                msg_to_delete.parentNode.removeChild( msg_to_delete ); 
     732                //mail_msg.removeChild(msg_to_delete); 
     733            } 
     734             
     735            if( data.border_ID.toString().indexOf("_r") > -1 ) 
     736            { 
     737                var _msgSearch = data.border_ID.toString(); 
     738                    _msgSearch = _msgSearch.substr(0, _msgSearch.indexOf("_r") ); 
     739                 
     740                if( Element(_msgSearch) != null ) 
     741                { 
     742                    Element(_msgSearch).parentNode.removeChild( Element(_msgSearch) ); 
     743                }     
     744            }     
     745 
     746            // Update Box BgColor 
     747            if( Element("tbody_box") != null ) 
     748            { 
     749                var box = Element("tbody_box"); 
     750 
     751                if( box.childNodes.length > 0) 
     752                { 
     753                    updateBoxBgColor(box.childNodes); 
     754                } 
     755            }     
     756        } 
     757        else 
     758        { 
     759            Element('chk_box_select_all_messages').checked = false; 
     760            if (! mail_msg) 
     761                mail_msg = Element("tbody_box"); 
     762            data.msgs_number = data.msgs_number.split(","); 
     763 
     764            var msg_to_delete; 
     765            if( typeof(msgs_number) == 'string' ) 
     766                all_search_msg = msgs_number.split(','); 
     767            else if( typeof(msgs_number) == 'number') 
     768                all_search_msg = msgs_number; 
     769 
     770            for (var i=0; i <= all_search_msg.length; i++) 
     771            { 
     772                msg_to_delete = Element(folder+';'+all_search_msg[i]); 
     773                if (msg_to_delete) 
     774                    msg_to_delete.parentNode.removeChild(msg_to_delete); 
     775            } 
     776 
     777            if ( preferences.use_shortcuts == '1') { 
     778                var all_messages = Element('tbody_box').childNodes; 
     779 
     780                //Last msg is selected 
     781                if ( exist_className(all_messages[all_messages.length-1], 'selected_shortcut_msg') ) { 
     782                    select_msg('null', 'up', true); 
     783                } 
     784                else { 
     785                    if (!select_msg('null', 'down', true)) { 
     786                        select_msg('null', 'up', true); 
     787                    } 
     788                } 
     789            } 
     790            for (var i=0; i<data.msgs_number.length; i++) 
     791            { 
     792                msg_to_delete = Element(data.msgs_number[i]); 
     793                if (msg_to_delete) 
     794                    mail_msg.removeChild(msg_to_delete); 
     795            } 
     796 
     797 
     798            if (data.msgs_number.length == 1) 
     799                write_msg(get_lang("The message was moved to folder ") + lang_folder(data.new_folder_name)); 
     800            else 
     801                write_msg(get_lang("The messages were moved to folder ") + lang_folder(data.new_folder_name)); 
     802            if (data.border_ID.indexOf('r') != -1){ 
     803                if (parseInt(preferences.delete_and_show_previous_message) && folder == get_current_folder()){ 
     804                    delete_border(data.border_ID,'false'); 
     805                    show_msg(data.previous_msg); 
     806                } 
     807                else 
     808                    delete_border(data.border_ID,'false'); 
     809            } 
     810            if(folder == get_current_folder()) 
     811                Element('tot_m').innerHTML = parseInt(Element('tot_m').innerHTML) - data.msgs_number.length; 
     812 
     813            refresh(); 
     814        }    
     815         
     816    }// END VAR HANDLER_MOVE_MSG 
     817 
     818    if (msgs_number == 'selected') 
     819    { 
     820        msgs_number = get_selected_messages(); 
     821    } 
     822 
     823    if(openTab.type[currentTab] == 1) 
     824    { 
     825        return move_search_msgs('content_id_'+currentTab,new_folder,new_folder_name); 
     826    } 
     827 
     828    if(currentTab.toString().indexOf("_r") != -1) 
     829    { 
     830        msgs_number = currentTab.toString().substr(0,currentTab.toString().indexOf("_r")); 
     831        border_ID   = currentTab.toString(); 
     832    } 
     833 
     834    if( msgs_number.toString().indexOf("_s") != -1 ) 
     835    {     
     836        folder = Element(msgs_number).getAttribute("name"); 
     837        msgs_number = msgs_number.toString().substr(0 ,msgs_number.toString().indexOf("_s") ); 
     838    } 
     839     
     840    if ( folder == new_folder ) 
     841    { 
     842        write_msg(get_lang('The origin folder and the destination folder are the same.')); 
     843        return; 
     844    } 
     845 
     846    if (parseInt(msgs_number) > 0 || msgs_number.length > 0) 
     847        cExecute ("$this.imap_functions.move_messages&folder="+folder+"&msgs_number="+msgs_number+"&border_ID="+border_ID+"&sort_box_type="+sort_box_type+"&search_box_type="+search_box_type+"&sort_box_reverse="+sort_box_reverse+"&reuse_border="+border_ID+"&new_folder="+new_folder+"&new_folder_name="+new_folder_name+"&get_previous_msg="+preferences.delete_and_show_previous_message, handler_move_msgs); 
     848    else 
     849        write_msg(get_lang('No selected message.')); 
     850 
     851} 
     852 
    798853 
    799854function move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name) { 
Note: See TracChangeset for help on using the changeset viewer.