Changeset 7149


Ignore:
Timestamp:
09/03/12 17:17:31 (7 years ago)
Author:
marcosw
Message:

Ticket #3088 - Melhoria para mover e remover mensagens locais

Location:
sandbox/2.5.0-expresso1
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • sandbox/2.5.0-expresso1/expressoMail1_2/js/mail_archiver.js

    r7146 r7149  
    889889 
    890890MailArchiver.prototype.moveMessagesHandler = function(){ 
    891      
    892     if((ttreeBox.name_folder != null) && (ttreeBox.name_folder != '') && (ttreeBox.name_folder.length >0)){ 
    893         expresso_mail_archive.currentfolder = ttreeBox.name_folder.substr(6, ttreeBox.name_folder.length); 
    894     }  
     891    //Marcosw início - código foi comentado pois causava inconsistencias. 
     892    // console.log("ttreBox.name_folder: "+ttreeBox.name_folder); 
     893    // console.log("Estranho este metodo"); 
     894    // if((ttreeBox.name_folder != null) && (ttreeBox.name_folder != '') && (ttreeBox.name_folder.length >0)){ 
     895    //     expresso_mail_archive.currentfolder = ttreeBox.name_folder.substr(6, ttreeBox.name_folder.length); 
     896    // }  
     897    //Marcosw fim 
    895898 
    896899    if((expresso_mail_archive.message_list.length > 0) && (expresso_mail_archive.message_list[0] != '')) { 
     
    948951        expresso_mail_archive.listMessages(expresso_mail_archive.currentfolder);  
    949952               
    950  
    951         if(expresso_mail_archive.currentfolder.substr(0,6) == 'local_'){ 
    952             ttreeBox.name_folder = expresso_mail_archive.currentfolder; 
    953         } 
    954         else{ 
    955             ttreeBox.name_folder = "local_" + expresso_mail_archive.currentfolder; 
    956         } 
     953        //Marcosw início - código foi comentado pois causava inconsistencias. 
     954        // if(expresso_mail_archive.currentfolder.substr(0,6) == 'local_'){ 
     955        //     ttreeBox.name_folder = expresso_mail_archive.currentfolder; 
     956        // } 
     957        // else{ 
     958        //     ttreeBox.name_folder = "local_" + expresso_mail_archive.currentfolder; 
     959        // } 
    957960        //ttreeBox.update_folder(true); 
    958961        expresso_mail_archive.resetObject(); 
  • sandbox/2.5.0-expresso1/expressoMail1_2/js/main.js

    r7146 r7149  
    13781378        } 
    13791379        refresh(); 
    1380         if (parseInt(msgs_number) > 0 || msgs_number.length > 0){ 
    1381                 // remove a flag $FilteredMessage da mensagem, depois move 
    1382                 var handler_removeFlag = function(){ 
    1383                         $.ajax({ 
    1384                                 url: 'controller.php?' + $.param( {action: '$this.imap_functions.move_messages', 
    1385                                                                     folder: folder, 
    1386                                                                     msgs_number: ""+msgs_number, 
    1387                                                                     border_ID: border_ID, 
    1388                                                                     sort_box_type: sort_box_type, 
    1389                                                                     search_box_type: search_box_type, 
    1390                                                                     sort_box_reverse: sort_box_reverse, 
    1391                                                                     reuse_border: border_ID, 
    1392                                                                     new_folder: new_folder, 
    1393                                                                     new_folder_name: new_folder_name, 
    1394                                                                     get_previous_msg: ( !not_opem_previus ? preferences.delete_and_show_previous_message : false ), 
    1395                                                                     decoded: true } ), 
    1396  
    1397                                 success: function( data ){ 
    1398                                     data = connector.unserialize( data ); 
    1399                                     $.each(msgs_number, function(index, value){ 
    1400                                         delete selectedPagingMsgs[value]; 
     1380         
     1381        //*** MARCOSW INICIO *** 
     1382        if (proxy_mensagens.is_local_folder(folder)){ 
     1383                expresso_mail_archive.update_counters = true; 
     1384        //Folder de onde sai a mensagem é local (armazenamento local) 
     1385 
     1386        if(msgs_number=='selected'){ 
     1387            msgs_number = get_selected_messages(); 
     1388        } 
     1389 
     1390        if (new_folder == 'local_root'){ 
     1391            alert(get_lang("Select a folder!")); 
     1392        } 
     1393                     
     1394        if (parseInt(msgs_number) > 0 || msgs_number.length > 0) { 
     1395            if (proxy_mensagens.is_local_folder(new_folder)){ 
     1396                //esta tirando de um folder local para outro folder local 
     1397                //expresso_mail_archive.moveMessages(new_folder.substr(6), msgs_number); 
     1398                expresso_mail_archive.moveMessages(new_folder.replace('local_messages_', ''), msgs_number); 
     1399            } 
     1400            else{ 
     1401                //esta tirando de um folder local para um folder IMAP (desarquivamento) 
     1402                if(!new_folder){ 
     1403                    new_folder = 'INBOX'; 
     1404                } 
     1405                if(currentTab.toString().indexOf("_r") != -1){ 
     1406                    msgs_number = currentTab.toString().substr(0,currentTab.toString().indexOf("_r")); 
     1407                }                       
     1408                expresso_mail_archive.unarchieve(folder, new_folder, msgs_number); 
     1409            } 
     1410        } 
     1411        else{ 
     1412            write_msg(get_lang('No selected message.')); 
     1413        } 
     1414        } 
     1415        else{ 
     1416        if (proxy_mensagens.is_local_folder(new_folder)){ 
     1417            //esta tirando de um folder não local para um folder local (arquivamento) 
     1418            if(msgs_number=='selected'){ 
     1419                archive_msgs(folder, new_folder); 
     1420            } 
     1421            else{ 
     1422                archive_msgs(folder, new_folder, msgs_number); 
     1423            } 
     1424        } 
     1425        else{ 
     1426            //esta tirando de um folder não local para outro folder não local (move) 
     1427        //*** MARCOSW FIM *** 
     1428            //move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name); 
     1429                        if (parseInt(msgs_number) > 0 || msgs_number.length > 0){ 
     1430                                // remove a flag $FilteredMessage da mensagem, depois move 
     1431                                var handler_removeFlag = function(){ 
     1432                                        $.ajax({ 
     1433                                                url: 'controller.php?' + $.param( {action: '$this.imap_functions.move_messages', 
     1434                                                                                    folder: folder, 
     1435                                                                                    msgs_number: ""+msgs_number, 
     1436                                                                                    border_ID: border_ID, 
     1437                                                                                    sort_box_type: sort_box_type, 
     1438                                                                                    search_box_type: search_box_type, 
     1439                                                                                    sort_box_reverse: sort_box_reverse, 
     1440                                                                                    reuse_border: border_ID, 
     1441                                                                                    new_folder: new_folder, 
     1442                                                                                    new_folder_name: new_folder_name, 
     1443                                                                                    get_previous_msg: ( !not_opem_previus ? preferences.delete_and_show_previous_message : false ), 
     1444                                                                                    decoded: true } ), 
     1445 
     1446                                                success: function( data ){ 
     1447                                                    data = connector.unserialize( data ); 
     1448                                                    $.each(msgs_number, function(index, value){ 
     1449                                                        delete selectedPagingMsgs[value]; 
     1450                                                    }); 
     1451                                                    totalFolderMsgs -= msgs_number.split(",").length; 
     1452 
     1453                                                    //TESTE 
     1454                                                    selectAllFolderMsgs(); 
     1455                                                $('.select-link').unbind('click'); 
     1456 
     1457                                                    if( data ) 
     1458                                                        handler_move_msgs( data ); 
     1459                                                }, 
     1460                                                beforeSend: function( jqXHR, settings ){ 
     1461                                                        connector.showProgressBar(); 
     1462                                            }, 
     1463                                            complete: function( jqXHR, settings ){ 
     1464                                                        connector.hideProgressBar(); 
     1465                                          } 
     1466 
    14011467                                    }); 
    1402                                     totalFolderMsgs -= msgs_number.split(",").length; 
    1403  
    1404                                     //TESTE 
    1405                                     selectAllFolderMsgs(); 
    1406                                 $('.select-link').unbind('click'); 
    1407  
    1408                                     if( data ) 
    1409                                         handler_move_msgs( data ); 
    1410                                 }, 
    1411                                 beforeSend: function( jqXHR, settings ){ 
    1412                                         connector.showProgressBar(); 
    1413                             }, 
    1414                             complete: function( jqXHR, settings ){ 
    1415                                         connector.hideProgressBar(); 
    1416                           } 
    1417  
    1418                     }); 
    1419                 } 
    1420                 var hasFolder = false; 
    1421                 $.each(fromRules, function(index, value) { 
    1422                         if(value == folder){ 
    1423                                 hasFolder = true; 
    1424                                 cExecute ("$this.imap_functions.removeFlagMessagesFilter&folder="+folder+"&msg_number="+msgs_number, handler_removeFlag);  
    1425                                 return false; 
    1426                         } 
    1427                 }); 
    1428                 if(!hasFolder){ 
    1429                         handler_removeFlag(); 
    1430                 } 
    1431                  
    1432         }else 
    1433                 write_msg(get_lang('No selected message.')); 
     1468                                } 
     1469                                var hasFolder = false; 
     1470                                $.each(fromRules, function(index, value) { 
     1471                                        if(value == folder){ 
     1472                                                hasFolder = true; 
     1473                                                cExecute ("$this.imap_functions.removeFlagMessagesFilter&folder="+folder+"&msg_number="+msgs_number, handler_removeFlag);  
     1474                                                return false; 
     1475                                        } 
     1476                                }); 
     1477                                if(!hasFolder){ 
     1478                                        handler_removeFlag(); 
     1479                                } 
     1480                                 
     1481                        }else 
     1482                                write_msg(get_lang('No selected message.')); 
     1483    //*** MARCOSW INICIO *** 
     1484        } 
     1485    }    
     1486    //Marcosw fim 
     1487         
    14341488} 
    14351489 
  • sandbox/2.5.0-expresso1/expressoMail1_2/js/messages_controller.js

    r7146 r7149  
    173173                if (!this.is_local_folder(folder)){ 
    174174                        delete_msgs(folder, msgs_number, border_ID); 
    175                 }else { 
     175                }else {     
     176            console.log("delete_msgs 2.3 messages_controller");                
     177            //MAILARCHIVER-03 
     178            var msg_to_delete = Element(msgs_number); 
     179            //user has preference to show previous message on deleting one 
     180            if (isNaN(currentTab) && parseInt(preferences.delete_and_show_previous_message) && msg_to_delete) { 
     181                    if (msg_to_delete.previousSibling){  
     182                            var previous_msg = msg_to_delete.previousSibling.id; 
     183                             
     184                            //user has preference to maintain default folder structure at local folders, so we have trash folder 
     185                            if(preferences.auto_create_local == 1){ 
     186                                //user has preference to "save" delete messasge on trash folder, so move it to there 
     187                                if (((preferences.save_deleted_msg == true)) && (folder != expresso_mail_archive.specialfolders.trash)){ 
     188                                    expresso_mail_archive.folder_destination = 'trash'; 
     189                                    expresso_mail_archive.moveMessages(expresso_mail_archive.folder_destination, msgs_number); 
     190                                    expresso_mail_archive.getMessage(previous_msg); 
     191                                } 
     192                                //user does not want to save messages deleted on trash. purge them imediatly 
     193                                else{ 
     194                                    expresso_mail_archive.deleteMessages(msgs_number); 
     195                                    expresso_mail_archive.getMessage(previous_msg) 
     196                                }                                                                                 
     197                            } 
     198                            //maybe, we do not have trash. 
     199                            else{ 
     200                                //user has preference to "save" delete messasge on trash folder, so move it to there 
     201                                if (((preferences.save_deleted_msg == true)) && (folder != expresso_mail_archive.specialfolders.trash)){ 
     202                                    expresso_mail_archive.createFolder("","Trash"); 
     203                                    expresso_mail_archive.folder_destination = 'trash'; 
     204                                    expresso_mail_archive.moveMessages(expresso_mail_archive.folder_destination, msgs_number); 
     205                                    expresso_mail_archive.getMessage(previous_msg); 
     206                                } 
     207                                //user does not want to save messages deleted on trash. purge them imediatly 
     208                                else{ 
     209                                    expresso_mail_archive.deleteMessages(msgs_number); 
     210                                    expresso_mail_archive.getMessage(previous_msg) 
     211                                }                                           
     212                            } 
     213                    }  
     214                    //there is no previous message existing to show. Just delete de view context 
     215                    else{  
     216                           //user has preference to maintain default folder structure at local folders, so we have trash folder 
     217                           if(preferences.auto_create_local == 1){ 
     218                                if (((preferences.save_deleted_msg == true)) && (folder != expresso_mail_archive.specialfolders.trash)){ 
     219                                    expresso_mail_archive.folder_destination = 'trash'; 
     220                                    expresso_mail_archive.moveMessages(expresso_mail_archive.folder_destination, msgs_number); 
     221                                    delete_border(currentTab,'false');  
     222                                } 
     223                                //user does not want to save messages deleted on trash. purge them imediatly 
     224                                else{ 
     225                                    expresso_mail_archive.deleteMessages(msgs_number); 
     226                                    delete_border(currentTab,'false');  
     227                                }                                        
     228                           } 
     229                            //maybe, we do not have trash. Purge message so. 
     230                            else{ 
     231                                //user has preference to "save" delete messasge on trash folder, so move it to there 
     232                                if (((preferences.save_deleted_msg == true)) && (folder != expresso_mail_archive.specialfolders.trash)){ 
     233                                    expresso_mail_archive.createFolder("","Trash"); 
     234                                    expresso_mail_archive.folder_destination = 'trash'; 
     235                                    expresso_mail_archive.moveMessages(expresso_mail_archive.folder_destination, msgs_number); 
     236                                    expresso_mail_archive.getMessage(previous_msg); 
     237                                } 
     238                                //user does not want to save messages deleted on trash. purge them imediatly 
     239                                else{ 
     240                                    expresso_mail_archive.deleteMessages(msgs_number); 
     241                                }                                     
     242                            } 
     243                    }  
     244            }  
     245            //user has no preferece to show previous message on deleting 
     246            else{  
     247                if(preferences.auto_create_local == 1){ 
     248                    //user has preference to "save" delete messasge on trash folder, so move it to there 
     249                                        //Marcosw inicio - removido "messages_" da string folder para evitar inconsistência 
     250                    if (((preferences.save_deleted_msg == true)) && (folder.replace('messages_','') != expresso_mail_archive.specialfolders.trash)){ 
     251                    //Marcosw fim 
     252                        expresso_mail_archive.folder_destination = 'trash'; 
     253                        expresso_mail_archive.moveMessages(expresso_mail_archive.folder_destination, msgs_number); 
     254                        delete_border(currentTab,'false'); 
     255                    } 
     256                    //user does not want to save messages deleted on trash (or is cleaning it). purge them imediatly 
     257                    else{ 
     258                        expresso_mail_archive.deleteMessages(msgs_number); 
     259                        delete_border(currentTab,'false'); 
     260                    }                             
     261                } 
     262                //maybe, we do not have trash. Purge message so. 
     263                else{ 
     264                    //user has preference to "save" delete messasge on trash folder, so move it to there 
     265                    if (((preferences.save_deleted_msg == true)) && (folder != expresso_mail_archive.specialfolders.trash)){ 
     266                      expresso_mail_archive.createFolder("","Trash"); 
     267                      expresso_mail_archive.folder_destination = 'trash'; 
     268                      expresso_mail_archive.moveMessages(expresso_mail_archive.folder_destination, msgs_number); 
     269                    } 
     270                    //user does not want to save messages deleted on trash. purge them imediatly 
     271                    else{ 
     272                      expresso_mail_archive.deleteMessages(msgs_number); 
     273                    }                                     
     274                } 
     275            } 
     276                } 
     277 
     278 
     279 
     280                /*}else { 
    176281                        if((folder != 'local_Trash') && (expresso_local_messages.as_trash())){ 
    177282                                expresso_local_messages.move_messages('Trash', msgs_number); 
     
    186291                                refresh(); 
    187292                        } 
    188                 } 
     293                }*/ 
    189294        } 
    190295         
     
    367472                if (! folder || folder == 'null') 
    368473                        folder = Element("input_folder_"+msgs_number+"_r") ? Element("input_folder_"+msgs_number+"_r").value : (openTab.imapBox[currentTab] ? openTab.imapBox[currentTab]:get_current_folder()); 
    369                 if ((this.is_local_folder(folder)) && (this.is_local_folder(new_folder))) { //Move entre pastas não locais... 
     474 
     475        //MAILARCHIVER-08 
     476        if (this.is_local_folder(folder)){ 
     477            expresso_mail_archive.update_counters = true; 
     478            //Folder de onde sai a mensagem é local (armazenamento local) 
     479            if (folder == new_folder){ 
     480                write_msg(get_lang('The origin folder and the destination folder are the same.')); 
     481                                return; 
     482            }                     
     483 
     484            if(msgs_number=='selected'){ 
     485                msgs_number = get_selected_messages(); 
     486            } 
     487 
     488            if (new_folder == 'local_root'){ 
     489                alert(get_lang("Select a folder!")); 
     490            } 
     491                         
     492            if (parseInt(msgs_number) > 0 || msgs_number.length > 0) { 
     493                if (this.is_local_folder(new_folder)){ 
     494                    //esta tirando de um folder local para outro folder local 
     495                    expresso_mail_archive.moveMessages(new_folder.substr(6), msgs_number); 
     496                } 
     497                else{ 
     498                    //esta tirando de um folder local para um folder IMAP (desarquivamento) 
     499                    if(!new_folder){ 
     500                        new_folder = 'INBOX'; 
     501                    } 
     502                    if(currentTab.toString().indexOf("_r") != -1){ 
     503                        msgs_number = currentTab.toString().substr(0,currentTab.toString().indexOf("_r")); 
     504                    }                       
     505                    expresso_mail_archive.unarchieve(folder, new_folder, msgs_number); 
     506                } 
     507            } 
     508            else{ 
     509                write_msg(get_lang('No selected message.')); 
     510            } 
     511        }else{ 
     512            if (this.is_local_folder(new_folder)){ 
     513                //esta tirando de um folder não local para um folder local (arquivamento) 
     514                if(msgs_number=='selected'){ 
     515                    archive_msgs(folder, new_folder); 
     516                } 
     517                else{ 
     518                    archive_msgs(folder, new_folder, msgs_number); 
     519                } 
     520            } 
     521            else{ 
     522                //esta tirando de um folder não local para outro folder não local (move) 
     523                move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name); 
     524            } 
     525        }        
     526 
     527 
     528 
     529                /*if ((this.is_local_folder(folder)) && (this.is_local_folder(new_folder))) { //Move entre pastas não locais... 
    370530                        if (folder == new_folder){ 
    371531                                write_msg(get_lang('The origin folder and the destination folder are the same.')); 
     
    407567                                expresso_local_messages.unarchive_msgs(folder,new_folder,msgs_number); 
    408568                //write_msg(get_lang("you can't move mails from local to server folders")); 
    409                         } 
    410                  
    411                  
     569                        }*/ 
    412570        } 
    413571         
  • sandbox/2.5.0-expresso1/expressoMail1_2/js/wfolders.js

    r6910 r7149  
    9797                winSaveFile.next().css("background-color", "#E0EEEE"); 
    9898                         
     99                /*Insere a árvore de diretórios*/ 
    99100                var foldersTree = jQuery("#foldertree-container-sendFileMessage") 
    100101                .removeClass('empty-container') 
    101                 .html(DataLayer.render(BASE_PATH + 'api/templates/foldertree.ejs', {folders: [cp_tree1, cp_tree2, [] ]})) 
     102                //Marcosw início - Adicionado parametro cp_tree3 
     103                .html(DataLayer.render(BASE_PATH + 'api/templates/foldertree.ejs', {folders: [cp_tree1, cp_tree2, cp_tree3 ]})) 
     104                //Marcosw fim 
    102105                .find("#foldertree").treeview() 
    103106                .click(function(event) 
  • sandbox/2.5.0-expresso1/prototype/modules/mail/js/foldertree.js

    r7146 r7149  
    44var cp_tree1; 
    55var cp_tree2; 
     6//Marcosw início 
     7var cp_tree3; 
     8//Marcosw fim 
    69function unorphanize(root, element) { 
    710        var ok = false; 
     
    145148        cp_tree1 = tree1; 
    146149        cp_tree2 = tree2; 
     150        //Marcosw inicio 
     151        cp_tree3 = tree3; 
     152        //Marcosw fim 
    147153        var shared_acls = {}; 
    148154 
Note: See TracChangeset for help on using the changeset viewer.