Ignore:
Timestamp:
01/18/12 08:29:26 (13 years ago)
Author:
gustavo
Message:

Ticket #2434 - Inserida a função de criar eventos a partir de um email

Location:
trunk/expressoMail1_2/js
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/expressoMail1_2/js/draw_api.js

    r5370 r5389  
    24502450        to_values.type = "HIDDEN"; 
    24512451        to_values.value = info_msg.toaddress2; //Veio do IMAP, sem images nem links. 
    2452  
    24532452        // Salva a pasta da mensagem 
    24542453        var input_current_folder = document.createElement('input'); 
     
    26002599        subject.innerHTML = info_msg.subject; 
    26012600        subject.className = "header_message_field"; 
     2601        var new_event_logo = document.createElement("IMG"); 
     2602        new_event_logo.title = "Criar evento a partir deste email"; 
     2603        new_event_logo.alt = "Criar evento a partir deste email"; 
     2604        new_event_logo.src = "./templates/default/images/calendar_add.png"; 
     2605        new_event_logo.style.cursor = "pointer"; 
     2606        new_event_logo.style.marginLeft = "5px"; 
     2607        new_event_logo.onclick = function(){ 
     2608                DataLayer.dispatchPath = "../prototype/"; 
     2609                var path = "../prototype/modules/calendar/"; 
     2610                eventDetails({  
     2611                                summary : $("#subject_"+ID).text(), 
     2612                                description : $("#body_" + ID).text(), 
     2613                                startTime: $.now(), 
     2614                                endTime:!!User.preferences.defaultCalendar ? Calendar.signatureOf[User.preferences.defaultCalendar].calendar.defaultDuration != "" ? ($.now() + Calendar.signatureOf[User.preferences.defaultCalendar].calendar.defaultDuration * 60000) : (User.preferences.defaultDuration * 60000) 
     2615                                : $.now() + (User.preferences.defaultDuration * 60000) 
     2616                }, true, path); 
     2617                $(".new-event-win").find('input.time').timepicker({  
     2618                        closeText: 'Ok', 
     2619                        hourGrid: 4, 
     2620                        minuteGrid: 10, 
     2621                        //ampm : ((User.preferences.hourFormat.length > 5) ? true: false), 
     2622                        timeFormat: "hh:mm tt", 
     2623                        onSelect: function (selectedDateTime){ 
     2624                                if(!(User.preferences.hourFormat.length == 5)) 
     2625                                        $(this).val(selectedDateTime.replace(/[\.]/gi, ""));                                                             
     2626                        }, 
     2627                        onClose : function (selectedDateTime){ 
     2628                                if(!(User.preferences.hourFormat.length == 5)) 
     2629                                        $(this).val(selectedDateTime.replace(/[\.]/gi, "")); 
     2630                        } 
     2631                }); 
     2632                var emails = $("#to_values_"+ID).val(); 
     2633                emails = emails.split(","); 
     2634                var blkAddAtendee = UI.dialogs.addEvent.find('#calendar_addevent_details6'); 
     2635                var onShowToolTip = function(arg0) { 
     2636                        $('.qtip-active .button.close').button({ 
     2637                                icons: {primary: "ui-icon-close"}, 
     2638                                text: false 
     2639                        }); 
     2640                        $('.qtip-active .button').button() 
     2641                        .filter('.save').click(function(event, ui) { 
     2642                                if (saveContact()) {                                             
     2643                                        lastEditAttendeeToolTip.qtip("destroy"); 
     2644                                } else { 
     2645                                        return false; 
     2646                                } 
     2647                        }).end() 
     2648                        .filter('.cancel').click(function(event, ui) { 
     2649                                lastEditAttendeeToolTip.qtip("destroy"); 
     2650                        }) 
     2651 
     2652                        /**  
     2653                         * Trata o ENTER no campo da tooltip, equivalente a salvar  
     2654                         * o novo convidado. 
     2655                         */ 
     2656                        $('.qtip-active input').keydown(function(event) { 
     2657                                if (event.keyCode == '13') {                                             
     2658                                        if (saveContact()) {                                             
     2659                                                lastEditAttendeeToolTip.qtip("destroy"); 
     2660                                        } 
     2661 
     2662                                        lastEditAttendeeToolTip.qtip("destroy"); 
     2663                                        event.preventDefault(); 
     2664                                } 
     2665                        }) 
     2666                        .filter('[name="name"]').Watermark("informe o nome do contato").end() 
     2667                        .filter('[name="mail"]').Watermark("informe o email do contato"); 
     2668                } 
     2669                                 
     2670                $.each(emails, function(index, value) {  
     2671                        var decoded =  Encoder.htmlDecode(value); 
     2672                        var newAttendeeName = ""; 
     2673                        if(decoded.match(/<([^<]*)>[\s]*$/)){ 
     2674                                var user = DataLayer.get('user', ["=", "mail", decoded.match(/<([^<]*)>[\s]*$/)[1].toLowerCase()], true); 
     2675                                if(!(!!user)){ 
     2676                                        newAttendeeName = decoded.match(/"([^"]*)"/)[1]; 
     2677                                        var newAttendeeEmail = decoded.match(/<([^<]*)>[\s]*$/)[1]; 
     2678                                } 
     2679                        } 
     2680                        else{ 
     2681                                var user = DataLayer.get('user', ["=", "mail", decoded], true); 
     2682                                if(!(!!user)){ 
     2683                                        var newAttendeeEmail = decoded; 
     2684                                } 
     2685                        } 
     2686                                 
     2687                        var isExternal = (!!user && !(!!user.isExternal)) ? 0 : 1; 
     2688                        var add = false; 
     2689                        if(user){ 
     2690                                if(!(blkAddAtendee.find('label.mail[title="' + user[0].mail + '"]').length)){ 
     2691                                        user[0].id =  DataLayer.put('participant', {user: user[0].id, isExternal: isExternal}); 
     2692                                        blkAddAtendee.find('dd.attendee-list ul.attendee-list').append( 
     2693                                                DataLayer.render(path+'templates/participants_add_itemlist.ejs', user) 
     2694                                        ) 
     2695                                        .find('.button.close').addClass('small').button({text:false, icons:{primary:'ui-icon-close'}}).click(function() { 
     2696                                                DataLayer.remove('participant', $(this).parent().find('[type=checkbox]').val()); 
     2697                                                $(this).parent().remove(); 
     2698                                        }).end() 
     2699                                        .scrollTo('max'); 
     2700                                        add = true; 
     2701                                } 
     2702                        }else{ 
     2703                                userId = DataLayer.put('user', {name: newAttendeeName, mail: newAttendeeEmail, isExternal: isExternal}); 
     2704                                newAttendeeId = DataLayer.put('participant', {user: userId, isExternal: isExternal}); 
     2705                                 
     2706                                blkAddAtendee.find('dd.attendee-list ul.attendee-list').append( 
     2707                                        DataLayer.render(path+'templates/participants_add_itemlist.ejs', [{id:newAttendeeId, name: newAttendeeName, mail: newAttendeeEmail, isExternal: 1}]) 
     2708                                ).find('.button.close').addClass('small').button({text:false, icons:{primary:'ui-icon-close'}}).click(function() { 
     2709                                        DataLayer.remove('participant', $(this).parent().find('[type=checkbox]').val()); 
     2710                                        $(this).parent().remove(); 
     2711                                }).end() 
     2712                                .scrollTo('max'); 
     2713                                add = true; 
     2714                        } 
     2715                        if(add){ 
     2716                                lastEditAttendeeToolTip = blkAddAtendee.find('dd.attendee-list li:last'); 
     2717                                lastEditAttendeeToolTip.qtip({ 
     2718                                        show: {ready: false, solo: true, when: {event: 'click'}}, 
     2719                                        hide: false, 
     2720                                        content: { 
     2721                                                text: $('<div></div>').html( DataLayer.render( path+'templates/attendee_quick_edit.ejs', {attendee:{name:(newAttendeeName ? newAttendeeName : user[0].name), mail:(newAttendeeEmail ? newAttendeeEmail : user[0].mail)}} ) ),  
     2722                                                title: { 
     2723                                                        text:'Detalhes do participante',  
     2724                                                        button: '<a class="button close" href="#">close</a>' 
     2725                                                } 
     2726                                        }, 
     2727                                        style: {name: 'blue', tip: {corner: 'leftMiddle'}, border: {width: 4, radius: 8}, width: {min: 230, max:230}}, 
     2728                                        position: { 
     2729                                                corner: { 
     2730                                                        target: 'rightMiddle', 
     2731                                                        tooltip: 'leftMiddle' 
     2732                                                }, 
     2733                                                adjust: {x:0, y:0} 
     2734                                        } 
     2735                                }); 
     2736                                lastEditAttendeeToolTip.qtip("api").onShow = onShowToolTip; 
     2737                        } 
     2738                });                                              
     2739        } 
     2740        subject.appendChild(new_event_logo); 
    26022741        tr5.appendChild(td5); 
    26032742        tr5.appendChild(subject); 
  • trunk/expressoMail1_2/js/main.js

    r5385 r5389  
    13701370                data.cco = data.cco.replace(/&gt;/gi,">"); 
    13711371        } 
    1372         if (document.getElementById("subject_" + border_ID)) 
    1373                 data.subject = document.getElementById("subject_" + border_ID).innerHTML; 
     1372        if ($("#subject_" + border_ID)) 
     1373                data.subject = $("#subject_" + border_ID).text(); 
    13741374        if(data.subject == get_lang("(no subject)   ")) 
    13751375                data.subject = ''; 
Note: See TracChangeset for help on using the changeset viewer.