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

Ticket #3088 - Melhoria para mover e remover mensagens locais

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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         
Note: See TracChangeset for help on using the changeset viewer.