Ignore:
Timestamp:
07/11/12 11:45:10 (12 years ago)
Author:
niltonneto
Message:

Ticket #0000 - Copiadas as alterações do Trunk. Versão final da 2.4.1.

Location:
branches/2.4
Files:
14 edited
11 copied

Legend:

Unmodified
Added
Removed
  • branches/2.4

  • branches/2.4/prototype/modules/mail/css/followupflag.css

    r6167 r6754  
    5353.followupflag-container .background-color  {margin:0; outline: 0; width: 100px; -moz-border-radius: 5px; -webkit-border-radius:5px; float: left; } 
    5454.flag-edit { background: #00820F; width: 8px; height: 6px; float:left; margin: 4px 0 -3px 5px; } 
    55 .flag-edited{ width: 8px; height: 6px;} 
     55.flag-edited{ width: 8px; height: 6px; } 
    5656.colorpicker { float: right; margin: -15px 0 0 0; } 
    5757 
     
    209209span.removeLabeledMsg {margin:0 5px 0 5px;font-weight: bold;} 
    210210span.removeLabeledMsg:hover {cursor: pointer;} 
     211 
     212.freeow .gray:hover .background { 
     213    border-color: #BBB; 
     214} 
     215.minimize-alarm { 
     216        background: url("../img/minimizar.png") no-repeat scroll 0 0 transparent; 
     217        height: 16px; 
     218    position: relative; 
     219    width: 16px; 
     220        float:right;  
     221        margin-right:5px; 
     222} 
     223.maximize-alarm { 
     224        background: url("../img/maximizar.png") no-repeat scroll 0 0 transparent; 
     225        height: 16px; 
     226    position: relative; 
     227    width: 16px; 
     228        float:right;  
     229        margin-right:5px; 
     230} 
     231.content-alarm ul { 
     232        max-height: 100px; 
     233        overflow: auto; 
     234} 
     235.content-alarm { 
     236        margin-top: 5px; 
     237} 
     238.title-alarm { 
     239    margin-left: 90px; 
     240        font-size: 16px; 
     241} 
     242.alert-options { 
     243        border: none; 
     244} 
     245.confirm-alarm { 
     246        float:right; 
     247} 
     248.freeow .gray h2 { 
     249        font-size: 12px; 
     250} 
     251.freeow { 
     252        width: 325px; 
     253} 
     254.freeow .gray .content { 
     255        margin: 5px; 
     256} 
     257.freeow .gray .background { 
     258        background-color: #fafafa; 
     259        border: 2px solid #BBB; 
     260} 
     261.freeow .content { 
     262        margin: 5px; 
     263} 
     264 
     265.filtersDeadline .img_title { 
     266        background: url("../img/email.png") no-repeat scroll 0 0 transparent; 
     267        height: 20px; 
     268    position: absolute; 
     269    width: 20px; 
     270        float:left;  
     271        margin-left:40px; 
     272        top: 7px; 
     273} 
     274.alarmDeadline .img_title { 
     275        background: url("../img/flagDefault4.png") no-repeat scroll 0 0 transparent; 
     276        height: 10px; 
     277    position: absolute; 
     278    width: 10px; 
     279        float:left;  
     280        margin-left:42px; 
     281        top: 11px; 
     282} 
     283.doneDeadline .img_title { 
     284        background: url("../img/flagDone.png") no-repeat scroll 0 0 transparent; 
     285        height: 10px; 
     286    position: absolute; 
     287    width: 10px; 
     288        float:left;  
     289        margin-left:43px; 
     290        top: 11px; 
     291} 
     292.search-result-item {  
     293        border: none; 
     294} 
     295.td-label-search { 
     296        border: none; 
     297} 
  • branches/2.4/prototype/modules/mail/interceptors/Attachments.php

    r6130 r6754  
    4747* @since      Classe disponibilizada na versão 2.4 
    4848*/ 
     49 
     50use prototype\api\Config as Config; 
     51 
    4952class Attachments {      
    5053         
  • branches/2.4/prototype/modules/mail/interceptors/FollowupflagSecure.php

    r5611 r6754  
    11<?php 
     2 
     3use prototype\api\Config as Config; 
     4 
    25class FollowupflagSecure {       
    36         
  • branches/2.4/prototype/modules/mail/interceptors/Helpers.php

    r6653 r6754  
    11<?php 
    22include_once ROOTPATH."/../expressoMail1_2/inc/class.imap_functions.inc.php"; 
     3 
     4use prototype\api\Config as Config; 
    35 
    46class Helpers {     
     
    4143                                $labeledsIds[] = $e['id']; 
    4244                } 
    43                  
    4445                Controller::delete( array( 'concept' => 'labeled', 'service' => 'Imap' ), false, array( 'filter' => array( 'IN', 'id', $labeledsIds )) ); 
    4546 
     
    205206                 
    206207                if(empty($params['messageId']))  
    207                     throw new Exception('#FollowupflagMessageIdError');  
    208                 else  
    209                     $params = Controller::create($imap_uri, $params); 
     208                    throw new Exception('#FollowupflagMessageIdError'); 
     209                else  
     210                    $params = Controller::create($imap_uri, $params); 
    210211 
    211212                if (!$params) 
     
    219220                 * deste interceptor. 
    220221                 */ 
    221  
    222  
    223  
    224  
     222                 
     223            
     224             
     225             
    225226                if ($original['URI']['service'] == 'PostgreSQL') return $result; 
    226227                 
     
    268269        //followupflagged:PostgreSQL.after.find 
    269270        public function doImapFind( &$uri , &$result , &$criteria , $original ){ 
    270  
    271                 $imap_uri = $uri; 
     271             
     272                $imap_uri = $uri; 
    272273                $imap_uri['service'] = 'Imap'; 
    273274                $imap_criteria = $original['criteria']; 
  • branches/2.4/prototype/modules/mail/interceptors/LabelSecure.php

    r5540 r6754  
    11<?php 
     2 
     3use prototype\api\Config as Config; 
     4 
    25class LabelSecure {      
    36 
  • branches/2.4/prototype/modules/mail/js/foldertree.js

    r6635 r6754  
    233233                        // eventnsagens : SE O DROP VIER DE UMA ABA ABERTA 
    234234                        else if(folder_to_move == "border_tr"){ 
    235                                 var id_msg = border_id.split("_")[0];  
     235                                var id_msg = border_id.split("_")[0]; 
    236236                                folder = $("#input_folder_"+border_id+"_r")[0] ? $("#input_folder_"+border_id+"_r").val() : (openTab.imapBox[border_id] ? openTab.imapBox[border_id]:get_current_folder()); 
     237                                alternate_border(border_id); 
    237238                                move_msgs2(folder, id_msg, border_id, folder_to, to_folder_title,true); 
    238239                                return refresh(); 
  • branches/2.4/prototype/modules/mail/js/followupflag.js

    r6653 r6754  
    1 MsgsCallbackFollowupflag = {  
    2                   
    3     '#FollowupflagMessageIdError': function(){  
    4         alert('Não foi possível sinalizar esta mensagem. \nDetalhes do erro: mensagem não contém o atributo message-id.');  
    5     },  
    6     '#FollowupflagLimitError': function(){  
    7         alert('Não foi possível sinalizar esta mensagem. \nDetalhes do erro: limite de flags atingido para esta pasta.');  
    8     },  
    9     '#FollowupflagParamsError': function(){  
    10         alert('Não foi possível sinalizar esta mensagem. \nDetalhes do erro: mensagem não contém todos os atributos necessários.');  
    11     }  
    12       
    13 }  
     1MsgsCallbackFollowupflag = { 
     2 
     3    '#FollowupflagMessageIdError': function(){ 
     4        alert('Não foi possível sinalizar esta mensagem. \nDetalhes do erro: mensagem não contém o atributo message-id.'); 
     5    }, 
     6    '#FollowupflagLimitError': function(){ 
     7        alert('Não foi possível sinalizar esta mensagem. \nDetalhes do erro: limite de flags atingido para esta pasta.'); 
     8    }, 
     9    '#FollowupflagParamsError': function(){ 
     10        alert('Não foi possível sinalizar esta mensagem. \nDetalhes do erro: mensagem não contém todos os atributos necessários.'); 
     11    } 
     12     
     13} 
    1414 
    1515function updateCacheFollowupflag(msgNumber, msgFolder, op){ 
     
    265265                                        updateCacheFollowupflag(selectedMessageIds, folders, true); 
    266266                                        winElement.dialog("close"); 
    267                                         alarmFollowupflagged(); 
     267                                        alarmFollowupflagged('followupflagAlarms'); 
    268268                                }); 
    269269                                winElement.find('.menu-configure-followupflag .save').button("option", "disabled", true); 
     
    342342                DataLayer.commit(false, false, function(){ 
    343343                        winElement.dialog("close"); 
    344                         alarmFollowupflagged(); 
     344                        alarmFollowupflagged('followupflagAlarms'); 
    345345                }); 
    346346                 
     
    485485 
    486486/** 
    487  * constrói as duas possíveis janela de alerta, utilizando o mesmo template 
     487 * constrói as três possíveis janelas de alerta, utilizando o mesmo template 
     488 * para o parametro alert_type, espera-se vazio, followupflagAlarms ou filtersAlarms 
     489 * vazio: quando serão carregadas todas as modais de alarmes 
     490 * followupflagAlarms: quando serão carregadas as modais referentes à sinalizações 
     491 * filtersAlarms: quando será carregada a modal de filtros (nesse caso o parametro filter_list deve conter a lista de mensagens a ser exibida na modal) 
    488492 */ 
    489 function alarmFollowupflagged(){ 
    490     $('.followupflag-alarm').remove(); 
    491         var toIterate = [ 
    492                 { 
    493                         attrDeadline: 'doneDeadline',  
    494                         caption: {singular:'You have one undone message today:',  
    495                         plural:"You have %1 undone messages today:" 
    496                         }, 
    497                         onOk: function(event){ 
    498                                 if($(event.target).parents('.doneDeadline').find('[name="stopAlert"]').is(':checked')){ 
    499                                         $.cookie("fadeCompleted", (new Date).toString("dd/MM/yyyy"), {  
    500                                                 expires: 1  
    501                                         }); 
    502                                 } 
    503                         }, 
    504                         enable: ($.cookie("fadeCompleted") != (new Date).toString("dd/MM/yyyy")) 
    505                 }, 
    506                 { 
    507                         attrDeadline: 'alarmDeadline', 
    508                         caption: { 
    509                                 singular:'You have a follow up due for today:',  
    510                                 plural:'You have %1 follow ups due for today:' 
    511                         }, 
    512                         onOk: function(event){ 
    513                                 if($(event.target).parents('.alarmDeadline').find('[name="stopAlert"]').is(':checked')){ 
    514                                         $.cookie("fadeAlarm", (new Date).toString("dd/MM/yyyy"), {  
    515                                                 expires: 1  
    516                                         }); 
    517                                 } 
    518                         }, 
    519                         enable: ($.cookie("fadeAlarm") != (new Date).toString("dd/MM/yyyy")) 
    520                 } 
    521         ]; 
     493function alarmFollowupflagged(alert_type, filter_list){ 
     494        switch(alert_type){ 
     495                // carregar modais de sinalizadores 
     496                case 'followupflagAlarms': 
     497                        $('.doneDeadline').remove(); 
     498                        $('.alarmDeadline').remove(); 
     499                        var toIterate = [ 
     500                                { 
     501                                        attrDeadline: 'doneDeadline',  
     502                                        caption: {singular:'You have one undone message today:',  
     503                                        plural:"You have %1 undone messages today:" 
     504                                        }, 
     505                                        title: get_lang('Done'), 
     506                                        enable: ($.cookie("fadeCompleted") != (new Date).toString("dd/MM/yyyy")) 
     507                                }, 
     508                                { 
     509                                        attrDeadline: 'alarmDeadline', 
     510                                        caption: { 
     511                                                singular:'You have a follow up due for today:',  
     512                                                plural:'You have %1 follow ups due for today:' 
     513                                        }, 
     514                                        title: get_lang('Follow ups'), 
     515                                        enable: ($.cookie("fadeAlarm") != (new Date).toString("dd/MM/yyyy")) 
     516                                } 
     517                        ]; 
     518                        break; 
     519                // carregar modal de filtros 
     520                case 'filtersAlarms': 
     521                        $('.filtersDeadline').remove(); 
     522                        var toIterate = [ 
     523                                { 
     524                                        attrDeadline: 'filtersDeadline', 
     525                                        caption: { 
     526                                                singular:'You have an archived message:',  
     527                                                plural:'You have %1 messages archived:' 
     528                                        }, 
     529                                        title: get_lang('Filter by sender'), 
     530                                        enable: ($.cookie("fadeFilterAlarm") != (new Date).toString("dd/MM/yyyy")) 
     531                                } 
     532                        ]; 
     533                        break; 
     534                // carregar todas as modais 
     535                default: 
     536                        $('.gray').remove(); 
     537                        var toIterate = [ 
     538                                { 
     539                                        attrDeadline: 'filtersDeadline', 
     540                                        caption: { 
     541                                                singular:'You have an archived message:',  
     542                                                plural:'You have %1 messages archived:' 
     543                                        }, 
     544                                        title: get_lang('Filter by sender'), 
     545                                        enable: ($.cookie("fadeFilterAlarm") != (new Date).toString("dd/MM/yyyy")) 
     546                                }, 
     547                                { 
     548                                        attrDeadline: 'doneDeadline',  
     549                                        caption: {singular:'You have one undone message today:',  
     550                                        plural:"You have %1 undone messages today:" 
     551                                        }, 
     552                                        title: get_lang('Done'), 
     553                                        enable: ($.cookie("fadeCompleted") != (new Date).toString("dd/MM/yyyy")) 
     554                                },                               
     555                                { 
     556                                        attrDeadline: 'alarmDeadline', 
     557                                        caption: { 
     558                                                singular:'You have a follow up due for today:',  
     559                                                plural:'You have %1 follow ups due for today:' 
     560                                        }, 
     561                                        title: get_lang('Follow ups'), 
     562                                        enable: ($.cookie("fadeAlarm") != (new Date).toString("dd/MM/yyyy")) 
     563                                } 
     564                        ]; 
     565                        break; 
     566        } 
    522567        var i = 0; 
     568        // recupera e monta os dados para serem exibidos nas modais de alarmes 
    523569        while (it = toIterate.pop()){ 
    524570                if (!it.enable) continue; 
    525  
    526                 var alarmInRange = DataLayer.get('followupflagged', {filter: ['AND', ['>', it.attrDeadline, (new Date()).set({hour:0, minute:0, second:0}).toString('yyyy-MM-dd 00:00:00')], ['<', it.attrDeadline, (new Date()).set({hour:0, minute:0, second:0}).addHours(24).toString('yyyy-MM-dd 00:00:00')]], criteria: {deepness: 1}}); 
     571                 
     572                var alarmInRange = {}; 
     573                // caso for alarme de sinalizadores 
     574                if(it.attrDeadline == 'doneDeadline' || it.attrDeadline == 'alarmDeadline'){ 
     575                        alarmInRange = DataLayer.get('followupflagged', {filter: ['AND', ['>', it.attrDeadline, (new Date()).set({hour:0, minute:0, second:0}).toString('yyyy-MM-dd 00:00:00')], ['<', it.attrDeadline, (new Date()).set({hour:0, minute:0, second:0}).addHours(24).toString('yyyy-MM-dd 00:00:00')]], criteria: {deepness: 1}}); 
     576                        if(alarmInRange.length > 0){ 
     577                                for(var i=0; i<alarmInRange.length; i++){ 
     578                                        if(alarmInRange[i].isDone == 1){ 
     579                                                 alarmInRange.splice(i,1); 
     580                                                 i--; 
     581                                        } 
     582                                } 
     583                        } 
     584                         
     585                        if(alarmInRange.length > 0){ 
     586                                var messages_alarm = []; 
     587                                for(var i=0; i<alarmInRange.length; i++){ 
     588                                        var date = Date.parseExact(alarmInRange[i][it.attrDeadline], 'yyyy-MM-dd HH:mm:ss'); 
     589                                        if(date) 
     590                                                alarmInRange[i][it.attrDeadline] = date.toString('HH:mm'); 
     591                                         
     592                                        if(alarmInRange[i]['followupflag']['id'] < 7){ 
     593                                                var nameFollowupflag = get_lang(alarmInRange[i]['followupflag']['name']); 
     594                                        }else{ 
     595                                                var nameFollowupflag = alarmInRange[i]['followupflag']['name']; 
     596                                        } 
     597                                        var li_alarm = alarmInRange[i][it.attrDeadline] + ' - ' + nameFollowupflag + ' - ' + truncate(alarmInRange[i]['message']['headers']['subject'], 15); 
     598                                        messages_alarm.push({ 
     599                                                "msg_number" : alarmInRange[i]['messageNumber'], 
     600                                                "msg_folder" : alarmInRange[i]['folderName'], 
     601                                                "a"                      : li_alarm 
     602                                        });                              
     603                                } 
     604                        } 
     605                }  
     606                // caso for alarme de filtros 
     607                else if(filter_list){ 
     608                        alarmInRange = filter_list; 
     609                        if(alarmInRange.length > 0){ 
     610                                var messages_alarm = []; 
     611                                for(var i=0; i<alarmInRange.length; i++){ 
     612                                        var d = new Date(alarmInRange[i]['udate']*1000); 
     613                                        var dia = d.getDate(); 
     614                                        if(dia < 10){ 
     615                                                dia = "0" + dia; 
     616                                        } 
     617                                        var mes = (d.getMonth()) + 1; 
     618                                        if(mes < 10){ 
     619                                                mes = "0" + mes; 
     620                                        } 
     621                                        var ano = d.getFullYear(); 
     622                                        var dtFormatada = dia + '/' + mes + '/' + ano; 
     623                                        alarmInRange[i]['udate'] = dtFormatada; 
     624                                                 
     625                                        var li_alarm = alarmInRange[i]['udate'] + ' ' + alarmInRange[i]['smalldate'] + ' - ' + alarmInRange[i]['from'] + ' - ' + truncate(alarmInRange[i]['subject'], 15); 
     626                                        messages_alarm.push({ 
     627                                                "msg_number" : alarmInRange[i]['msg_number'], 
     628                                                "msg_folder" : alarmInRange[i]['msg_folder'], 
     629                                                "a"                      : li_alarm 
     630                                        });                              
     631                                } 
     632                        } 
     633                } 
     634                                 
    527635                if(alarmInRange.length > 0){ 
    528                         for(var i=0; i<alarmInRange.length; i++){ 
    529                                 if(alarmInRange[i].isDone == 1){ 
    530                                  alarmInRange.splice(i,1); 
    531                                  i--; 
    532                                 } 
    533                         } 
    534                 } 
    535                 if(alarmInRange.length > 0){ 
    536                         for(var i=0; i<alarmInRange.length; i++){ 
    537                                 var date = Date.parseExact(alarmInRange[i][it.attrDeadline], 'yyyy-MM-dd HH:mm:ss'); 
    538                                 if(date) 
    539                                         alarmInRange[i][it.attrDeadline] = date.toString('HH:mm'); 
    540                         } 
     636                        // monta o subtitulo da modal 
    541637                        var caption = (alarmInRange.length == 1) ? 
    542638                                get_lang(it.caption.singular): 
    543639                                get_lang(it.caption.plural, alarmInRange.length); 
    544                                  
     640                        // monta o array de dados a ser passado para o template  
    545641                        var data = { 
    546                                 alarmInRange : alarmInRange,  
     642                                alarmInRange : messages_alarm,  
    547643                                caption: caption,  
    548                                 it : it 
     644                                type: it.attrDeadline, 
     645                                captions: it.caption 
    549646                        }; 
     647                        // tipo de modal a ser exibida 
     648                        var type_alarm = it.attrDeadline; 
     649                        //função chamada ao clicar no botão Ok da modal 
     650                        var ok_function = function(event, type, type_cookie){ 
     651                                if($(event.target).parents('.'+type).find('[name="stopAlert"]').is(':checked')){ 
     652                                        $.cookie(type_cookie, (new Date).toString("dd/MM/yyyy"), {  
     653                                                expires: 1  
     654                                        }); 
     655                                } 
     656                        } 
     657                        // carrega o template dos alarmes e cria a modal utilizando o plugin freeow 
    550658                        var dialogText = DataLayer.render("../prototype/modules/mail/templates/followupflag_alarm_list.ejs", data); 
     659                        var titulo = '<div class="header-alarm"><span class="img_title"></span><span class="title-alarm"><strong>'+it.title+'</strong></span><span name="header-icon" class="maximize-alarm"></span></div>'; 
     660                        $("#freeow").freeow(titulo, dialogText, { 
     661                                classes: ["gray", type_alarm], 
     662                                autoHide: false,  
     663                                startStyle: null, 
     664                                onClick: function(event){ 
     665                                        var type = ''; 
     666                                        var type_cookie = ''; 
     667                                        if($(this).hasClass('alarmDeadline')){ 
     668                                                type = 'alarmDeadline'; 
     669                                                type_cookie = 'fadeAlarm'; 
     670                                        }else if($(this).hasClass('doneDeadline')){ 
     671                                                type = 'doneDeadline'; 
     672                                                type_cookie = 'fadeCompleted'; 
     673                                        }else if($(this).hasClass('filtersDeadline')){ 
     674                                                type = 'filtersDeadline'; 
     675                                                type_cookie = 'fadeFilterAlarm'; 
     676                                        } 
     677                                        if($(event.target).hasClass('stop-alert-alarm')){ 
     678                                                return; 
     679                                        } 
     680                                        if($(event.target).hasClass('minimize-alarm')){ 
     681                                                $('.'+type).find('.content-alarm').hide(); 
     682                                                $(event.target).removeClass('minimize-alarm').addClass('maximize-alarm'); 
     683                                                return; 
     684                                        } 
     685                                        if($(event.target).hasClass('maximize-alarm')){ 
     686                                                $('.'+type).find('.content-alarm').show(); 
     687                                                $(event.target).removeClass('maximize-alarm').addClass('minimize-alarm'); 
     688                                                return; 
     689                                        } 
     690                                        if($(event.target).hasClass('confirm-alarm')){ 
     691                                                ok_function(event, type, type_cookie); 
     692                                                $('.'+type).remove(); 
     693                                                return; 
     694                                        } 
     695                                        return false; 
     696                                } 
     697                        }); 
     698                        // elementos do freeow desnecessários 
     699                        $('.gray .background .content p').remove(); 
     700                        $('.gray .icon').remove(); 
     701                        $('.gray .close').remove(); 
    551702                         
    552                         /** 
    553                          * A última dialog criada é a dialog mais ao alto 
    554                          */ 
    555                         var offsetHeight = $('.ZebraDialog.right-bottom:last').length ?  
    556                                 $(window).height() - $('.ZebraDialog.right-bottom:last').position().top : 0; 
    557  
    558                         /** 
    559                          * Se for a primeira, desloca para cima do rodapé do grid 
    560                          * caso contrário desloca para um pouco acima da última dialog criada 
    561                          */ 
    562                         offsetHeight = !offsetHeight ? 35 : offsetHeight + 20 ;                  
    563                         var dialog = new $.Zebra_Dialog(dialogText, { 
    564                                 'buttons':  ['Ok'], 
    565                                 'modal': false, 
    566                                 'vcenter_short_message': false, 
    567                                 'position': ['right - 20', 'bottom - ' + offsetHeight.toString() ], 
    568                                 'custom_class': 'right-bottom followupflag-alarm '+it.attrDeadline 
    569                         }).dialog; 
    570                         $(".ZebraDialog.followupflag-alarm .ZebraDialog_Button0").click(it.onOk); 
    571                         $(".ZebraDialog.followupflag-alarm .display-options .more").click(function(event) { 
    572                                 $(event.target).parents('.followupflag-alarm').find('.message-list').css('height', 'auto'); 
    573                         }); 
     703                        // botão ok da modal com jquery button 
     704                        $('.content-alarm button').button(); 
    574705                }                
    575706        } 
     707         
     708        // controle de qual janela de alarme estará maximizada 
     709        $('.gray').find('.content-alarm').hide(); 
     710        $('.gray').find('.header-alarm [name="header-icon"]').removeClass('minimize-alarm').addClass('maximize-alarm'); 
     711         
     712        if($('.gray').length > 0){ 
     713                if($('.gray').hasClass('filtersDeadline')){ 
     714                        $('.filtersDeadline').find('.content-alarm').show(); 
     715                        $('.filtersDeadline .header-alarm [name="header-icon"]').removeClass('maximize-alarm').addClass('minimize-alarm'); 
     716                }else if($('.gray').hasClass('alarmDeadline')){ 
     717                        $('.alarmDeadline').find('.content-alarm').show(); 
     718                        $('.alarmDeadline .header-alarm [name="header-icon"]').removeClass('maximize-alarm').addClass('minimize-alarm');         
     719                }else if($('.gray').hasClass('doneDeadline')){ 
     720                        $('.doneDeadline').find('.content-alarm').show(); 
     721                        $('.doneDeadline .header-alarm [name="header-icon"]').removeClass('maximize-alarm').addClass('minimize-alarm');  
     722                } 
     723        } 
     724         
    576725} 
     726                 
    577727$('#main_table').ready(function(){ 
    578     alarmFollowupflagged(); 
     728        handlerMessageFilter = function (data) { 
     729                alarmFollowupflagged(null, data); 
     730        } 
     731        /* Busca  nas pastas indexadas para ver se há novas mensagens com a flag $FilteredMessage */ 
     732        cExecute ("$this.imap_functions.getFlaggedAlertMessages&folders="+fromRules, handlerMessageFilter); 
    579733}); 
     734 
  • branches/2.4/prototype/modules/mail/js/label.js

    r6653 r6754  
    127127                                var hasLabel = true; 
    128128                                $.each(data, function(index, value) { 
    129                                  
    130                                 hasLabel = typeof value == 'object' ? false : value; 
    131  
     129                                         
     130                                        hasLabel = typeof value == 'object' ? false : value; 
     131                                         
    132132                                }); 
    133133                                         
     
    166166                                                 
    167167                                                draw_tree_labels(); 
    168                                                 var msgsReference = DataLayer.get('labeled', {filter: ['=', 'labelId', ''+labelEdited.id]}, true);  
    169                                                 updateMessageLabels(msgsReference); 
     168                                                var msgsReference = DataLayer.get('labeled', {filter: ['=', 'labelId', ''+labelEdited.id]}, true); 
     169                                                updateMessageLabels(msgsReference); 
    170170                                 
    171171                                                /** 
     
    207207                 
    208208        DataLayer.remove('label', id); 
    209          
     209 
    210210        DataLayer.commit(false, false, function(data){ 
    211211                $.contextMenu( 'destroy', ".table_box tbody tr"); 
    212212                loadMenu(); 
    213                 updateMessageLabels(msgsReference);              
     213                updateMessageLabels(msgsReference);      
    214214        }); 
    215215        winElement.find(".label-list li:first").trigger("click"); 
  • branches/2.4/prototype/modules/mail/templates/followupflag_alarm_list.ejs

    r5738 r6754  
    1 <p class="title"><strong><%= data.caption %> </strong></p> 
    2  
    3 <ul class="message-list"> 
    4 <% 
    5 for(var i=0; i<data.alarmInRange.length; i++){ 
    6         var openMessageScript = "cExecute('$this.imap_functions.get_info_msg&msg_number="+data.alarmInRange[i].messageNumber+"&msg_folder="+data.alarmInRange[i].folderName+"&alarm=true', show_msg);"; 
    7         if(data.alarmInRange[i].followupflag.id < 7){ 
    8                 var nameFollowupflag = get_lang(data.alarmInRange[i].followupflag.name); 
    9         }else{ 
    10                 var nameFollowupflag = data.alarmInRange[i].followupflag.name; 
     1<div class="content-alarm"> 
     2        <span class="subtitle-alarm"> 
     3                <strong><%=data.caption %></strong> 
     4        </span> 
     5        <ul class="message-list"> 
     6        <% 
     7        for(var i=0; i<data.alarmInRange.length; i++){ 
     8                if(data.type == 'filtersDeadline') 
     9                        var openMessageScript = "$(this).parent().remove(); var msgs_count = $('.filtersDeadline').find('.message-item').length; if(msgs_count == 0){ $('.filtersDeadline').remove(); } $('.subtitle-alarm').find('strong').html((msgs_count == 1)?get_lang('"+data.captions.singular+"'):get_lang('"+data.captions.plural+"', msgs_count)); cExecute('$this.imap_functions.open_flagged_msg&msg_number="+data.alarmInRange[i].msg_number+"&msg_folder="+data.alarmInRange[i].msg_folder+"&alarm=true', show_msg);"; 
     10                else     
     11                        var openMessageScript = "cExecute('$this.imap_functions.get_info_msg&msg_number="+data.alarmInRange[i].msg_number+"&msg_folder="+data.alarmInRange[i].msg_folder+"&alarm=true', show_msg);"; 
     12        %> 
     13                <li class="message-item"> 
     14                        <a onclick="<%=openMessageScript%>"> 
     15                                <%= data.alarmInRange[i].a %> 
     16                        </a> 
     17                </li> 
     18        <% 
    1119        } 
    12 %> 
    13         <li class="message-item"> 
    14                 <a onclick="<%=openMessageScript%>"> 
    15                         <%= (it.attrDeadline == 'alarmDeadline') ? data.alarmInRange[i].alarmDeadline : data.alarmInRange[i].doneDeadline %> - <%= nameFollowupflag %> - <%= data.alarmInRange[i].message.headers.subject %> 
    16                 </a> 
    17         </li> 
    18 <% 
    19 } 
    20 %> 
    21 </ul>  
    22  
    23 <fieldset class="alert-options"> 
    24         <input type="checkbox" name="stopAlert"> <label><%= get_lang("Don't show this window anymore today.")%></label> 
    25 </fieldset> 
     20        %> 
     21        </ul>  
     22        <fieldset class="alert-options"> 
     23                <input type="checkbox" class="stop-alert-alarm" name="stopAlert"> <label><%= get_lang("Don't show this window anymore today.")%></label> 
     24                <button class="confirm-alarm">Ok</button> 
     25        </fieldset> 
     26</div> 
  • branches/2.4/prototype/modules/mail/templates/label_list.ejs

    r6723 r6754  
    1414                                                background: <%= (data.labels[i].backgroundColor) ? data.labels[i].backgroundColor : '#ffffff' %>; float:right;"></div> 
    1515 
    16                                 <div class="button close tiny" style="float: right" title="<%= get_lang("Delete")%>"></div>  
    17                     <div class="button edit tiny" style="float: right" title="<%= get_lang("Edit")%>"></div>  
     16                                <div class="button close tiny" style="float: right" title="<%= get_lang("Delete")%>"></div> 
     17                                <div class="button edit tiny" style="float: right" title="<%= get_lang("Edit")%>"></div> 
    1818                        </li> 
    1919                <%}%> 
  • branches/2.4/prototype/modules/mail/templates/label_listitem.ejs

    r6723 r6754  
    55                <input type="hidden" value="<%= data.id%>" name="labelItemId" class="id-item-list" /> 
    66                <span class="text-list"><%= data.name %></span> 
    7                 <div class="button close tiny" style="float: right" title="<%= get_lang("Delete")%>"></div>  
    8             <div class="button edit tiny" style="float: right" title="<%= get_lang("Edit")%>"></div> 
     7                <div class="button close tiny" style="float: right" title="<%= get_lang("Delete")%>"></div> 
     8                <div class="button edit tiny" style="float: right" title="<%= get_lang("Edit")%>"></div> 
    99                                         
    1010        </li> 
  • branches/2.4/prototype/modules/mail/templates/new_message.ejs

    r6220 r6754  
    6161                                </td> 
    6262                                <td class="value" style="width: 100%;"> 
    63                                         <textarea class="new-message-input to" name="input_to" style="width:99%; resize: none;"></textarea> 
     63                                        <div class="email-area ui-corner-all"> 
     64                                                <input class="new-message-input to email-text" name="input_aux_to" type="text" value="" autocomplete="off"/>     
     65                                        </div> 
     66                                        <textarea class="new-message-input to" name="input_to" style="width:99%; resize: none;display : none;"></textarea> 
    6467                                </td> 
    6568                        </tr> 
     
    7174                                </td> 
    7275                                <td class="value"> 
    73                                         <textarea class="new-message-input cc" name="input_cc" style="width:99%; resize: none;"></textarea> 
     76                                        <div class="email-area ui-corner-all"> 
     77                                                <input class="new-message-input cc email-text" name="input_aux_cc" type="text" value="" autocomplete="off"/>     
     78                                        </div> 
     79                                        <textarea class="new-message-input cc" name="input_cc" style="width:99%; resize: none;display : none;"></textarea> 
    7480                                </td> 
    7581                        </tr> 
     
    8187                                </td> 
    8288                                <td class="value"> 
    83                                         <textarea class="new-message-input cco" name="input_cco" style="width:99%; resize: none;"></textarea> 
     89                                        <div class="email-area ui-corner-all"> 
     90                                                <input class="new-message-input cco email-text" name="input_aux_cco" type="text" value="" autocomplete="off"/>   
     91                                        </div> 
     92                                        <textarea class="new-message-input cco" name="input_cco" style="width:99%; resize: none;display : none;"></textarea> 
    8493                                </td> 
    8594                        </tr> 
     
    8998                                </td> 
    9099                                <td class="value"> 
    91                                         <input name="input_subject" class="new-message-input subject" style="width:99.2%;"></input> 
     100                                        <input name="input_subject" class="new-message-input subject" style="width:99.2%; border-radius: 5px;"></input> 
    92101                                </td> 
    93102                        </tr> 
  • branches/2.4/prototype/modules/mail/templates/quickAddContact.ejs

    r6690 r6754  
    1 <div style="width:auto;">         
    2         <table>  
    3                 <tr>  
    4                         <td>  
    5                                 <span><%=get_lang('Nickname')%>:</span>  
    6                         </td>  
    7                         <td>  
    8                                 <input type="text" value="<%=data.nick%>" maxlength="50" id="quickAddOne_nickName" style="width:205px;"/>  
    9                         </td>  
    10                 </tr>  
    11                   
    12                 <tr>  
    13                         <td>  
    14                                 <span><%=get_lang('First Name')%>:</span>  
    15                         </td>  
    16                         <td>  
    17                                 <input type="text" value="<%=data.fname%>" maxlength="50" id="quickAddOne_firstName" style="width:205px;" class="required-field"/>  
    18                         </td>  
    19                 </tr>  
    20                   
    21                 <tr>  
    22                         <td>  
    23                                 <span><%=get_lang('Last Name')%>:</span>  
    24                         </td>  
    25                         <td>  
    26                                 <input type="text" value="<%=data.lname%>" maxlength="50" id="quickAddOne_lastName" style="width:205px;"/>  
    27                         </td>  
    28                 </tr>  
    29                   
    30                 <tr>  
    31                         <td>  
    32                                 <span><%=get_lang('Email')%>:</span>  
    33                         </td>  
    34                         <td>  
    35                                 <input type="text" value="<%=data.email%>" maxlength="50" id="quickAddOne_email" style="width:205px;" class="required-field"/>  
    36                         </td>  
    37                 </tr>  
    38         </table>  
     1<div style="width:auto;">        
     2        <table> 
     3                <tr> 
     4                        <td> 
     5                                <span><%=get_lang('Nickname')%>:</span> 
     6                        </td> 
     7                        <td> 
     8                                <input type="text" value="<%=data.nick%>" maxlength="50" id="quickAddOne_nickName" style="width:205px;"/> 
     9                        </td> 
     10                </tr> 
     11                 
     12                <tr> 
     13                        <td> 
     14                                <span><%=get_lang('First Name')%>:</span> 
     15                        </td> 
     16                        <td> 
     17                                <input type="text" value="<%=data.fname%>" maxlength="50" id="quickAddOne_firstName" style="width:205px;" class="required-field"/> 
     18                        </td> 
     19                </tr> 
     20                 
     21                <tr> 
     22                        <td> 
     23                                <span><%=get_lang('Last Name')%>:</span> 
     24                        </td> 
     25                        <td> 
     26                                <input type="text" value="<%=data.lname%>" maxlength="50" id="quickAddOne_lastName" style="width:205px;"/> 
     27                        </td> 
     28                </tr> 
     29                 
     30                <tr> 
     31                        <td> 
     32                                <span><%=get_lang('Email')%>:</span> 
     33                        </td> 
     34                        <td> 
     35                                <input type="text" value="<%=data.email%>" maxlength="50" id="quickAddOne_email" style="width:205px;" class="required-field"/> 
     36                        </td> 
     37                </tr> 
     38        </table> 
    3939</div> 
Note: See TracChangeset for help on using the changeset viewer.