Changeset 7554


Ignore:
Timestamp:
11/23/12 11:17:07 (11 years ago)
Author:
eduardow
Message:

Ticket #3192 - Possibilitar a visualizacao para impressao de mensagem sem que a mesma seja aberta.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2.4/expressoMail1_2/js/main.js

    r7510 r7554  
    35093509} 
    35103510 
    3511 function print_all(){ 
    3512         if (openTab.type[currentTab] == 2) 
    3513                 return print_msg(current_folder,currentTab.substr(0,currentTab.indexOf("_r")),currentTab); 
    3514  
    3515         if (currentTab != 0 && currentTab.indexOf("search_")  >= 0){ 
    3516                 return print_search_msg(); 
    3517         } 
     3511/*PERMITE A IMPRESSÃO DE UMA LISTA DE MENSAGENS E SEU CONTEÚDO*/  
     3512function print_messages_bodies(){  
     3513        var messages = {};  
     3514        messages[get_current_folder()] = get_selected_messages().split(',');  
     3515  
     3516        var print_bodies = function (data){  
     3517                data = data[get_current_folder()];  
     3518                var print_width = screen.width - 200;  
     3519                var x = ((screen.width - print_width) / 2);  
     3520                var y = ((screen.height - 400) / 2) - 35;  
     3521                var window_print = window.open('','ExpressoMail','width='+print_width+',height=400,resizable=yes,scrollbars=yes,left='+x+',top='+y);  
     3522                if(window_print == null) {  
     3523                        alert(get_lang("The Anti Pop-Up is enabled. Allow this site (%1) for print.",document.location.hostname));  
     3524                        return;  
     3525                }  
     3526                var header = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html>'  
     3527                + '<head><link rel="stylesheet" type="text/css" href="templates/'+template+'/print.css"></head>';  
     3528                window_print.document.write(header);  
     3529                var printData ='<body style="overflow:auto">' + cabecalho + '</h4><hr>';  
     3530                window_print.document.write(printData);  
     3531                var newRow = function(label,data){  
     3532                        return "<tr><td width=7%><font size='2'><b>"+label+" </b></font></td><td><font size='2'>"+data+"</font></td></tr>";  
     3533                }  
     3534                /*INSERE AS MENSAGENS NO DOCUMENTO DE IMPRESSÃO*/  
     3535                $.each(data,function(index,message){  
     3536                        var html = "<table><tbody>";  
     3537                        if(message.sender)  
     3538                                for(var i=0; i<message.sender.length; i++){       
     3539                                        html += newRow(get_lang('Sent by')+":",message.sender[i]);  
     3540                                }  
     3541                        if(message.from)  
     3542                                for(var i=0; i<message.from.length; i++){         
     3543                                        html += newRow(get_lang('From')+":",message.from[i]);  
     3544                                }  
     3545                        if(message.toaddress2) {  
     3546                                html += newRow(get_lang('To')+":",message.toaddress2);  
     3547                        }  
     3548                        if (message.cc) {  
     3549                                html += newRow(get_lang('Cc')+":",message.cc);  
     3550                        }  
     3551                        if (message.bcc) {  
     3552                                html += newRow(get_lang('Cco')+":",message.bcc);  
     3553                        }  
     3554                        if(message.smalldate)  
     3555                                html += newRow(get_lang('Date')+":",message.smalldate);  
     3556                                  
     3557                        html += newRow(get_lang('Subject')+":",message.subject);                  
     3558                        /*LISTA DE ANEXOS*/  
     3559                        if (message.attachments && message.attachments.length) {  
     3560                        var img = '<img style="margin-bottom : -5px; cursor : pointer;" src="templates/'+template+'/images/new.png">';  
     3561                        var atts = "";  
     3562                        $.each(message.attachments,function(index,attach){  
     3563                                atts += " | " + attach.name + "("+ formatBytes(attach.fsize) +") " + img + " | ";  
     3564                        });  
     3565                        html += newRow(get_lang('Attachments: '),atts);         
     3566                    }  
     3567                        html += '</tbody></table>';  
     3568                        if (message.body){  
     3569                                html += "<hr>" + message.body;  
     3570                    }  
     3571                    html += "<hr>";  
     3572                        window_print.document.write(html);  
     3573                });  
     3574                window_print.document.close();  
     3575                window_print.print();  
     3576        }  
     3577        $.ajax({                          
     3578                        url: "controller.php?" + $.param( {action: "$this.imap_functions.getMessages",  
     3579                                details: "all",  
     3580                messages : messages,  
     3581                                }),  
     3582                        success: function(data){  
     3583                                data = connector.unserialize(data);  
     3584                                if(data){  
     3585                  print_bodies(data);  
     3586                                }  
     3587                        },  
     3588                        beforeSend: function( jqXHR, settings ){  
     3589                                connector.showProgressBar();  
     3590                        },  
     3591                        complete: function( jqXHR, settings ){  
     3592                                connector.hideProgressBar();  
     3593                        }  
     3594                });       
     3595}  
     3596  
     3597function print_messages_list(){  
    35183598                 
    35193599        var folder= Element('border_id_0').innerHTML; 
     
    35223602        msgs_number = get_selected_messages(); 
    35233603        if(msgs_number == false){ 
    3524         var tbody = Element('divScrollMain_'+numBox).firstChild.firstChild.innerHTML; 
     3604                var tbody = Element('divScrollMain_'+numBox).firstChild.firstChild.innerHTML; 
    35253605        }else{ 
    35263606                msgs_number = msgs_number.split(","); 
     
    35663646} 
    35673647 
     3648function print_all(){  
     3649    if(typeof (currentTab) == "string" && currentTab.indexOf("local") != -1){    
     3650        alert("Impossível manipular mensagens locais a partir de uma busca. Isso é permitido apenas para mensagens não locais.");  
     3651        return true;  
     3652    }  
     3653        if (openTab.type[currentTab] == 2)  
     3654                return print_msg(current_folder,currentTab.substr(0,currentTab.indexOf("_r")),currentTab);  
     3655  
     3656        if (currentTab != 0 && currentTab.indexOf("search_")  >= 0){  
     3657                return print_search_msg();  
     3658        }  
     3659        if (get_selected_messages() == false){  
     3660                return print_messages_list();  
     3661        }  
     3662    var msg = 'Algumas mensagens foram selecionadas para impressão. Deseja imprimir o conteúdo de cada uma delas? Caso contrário, apenas uma lista das mensagens selecionadas será impressa.';  
     3663    $.Zebra_Dialog(msg, {  
     3664            'type':     'question',  
     3665            'buttons': ['Sim','Não'],  
     3666            'overlay_opacity': '0.5',  
     3667            'onClose':  function(caption) {  
     3668                if(caption == 'Sim'){  
     3669                        return print_messages_bodies();  
     3670                }  
     3671                else{  
     3672                        return print_messages_list();     
     3673                }  
     3674            }  
     3675        });  
     3676}  
    35683677 
    35693678function print_msg(msg_folder, msg_number, border_ID){ 
Note: See TracChangeset for help on using the changeset viewer.