Ignore:
Timestamp:
08/08/12 17:27:35 (12 years ago)
Author:
thiago
Message:

Ticket #2966 - Implementação da tela tarefas no módulo expressoMail.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sandbox/2.4.2-expresso1/expressoMail1_2/js/main.js

    r6891 r6965  
    11// Tempo do auto refresh (em milisegundos) 
    2 var time_refresh = 300000; 
     2//var time_refresh = 300000; 
     3var time_refresh = 30000; 
    34 
    45// tempo do auto save (em milisegundos) 
     
    587588        getFromAlertRules(); 
    588589        var handler_refresh = function(data){ 
    589                 handlerMessageFilter = function (data) {                                 
    590                     notificationFilter(data, notifyPermission); 
    591                     alarmFollowupflagged('filtersAlarms', data);         
     590                handlerMessageFilter = function (data) {                         
     591                        if(checkAlarmsFilter){ 
     592                                alarmFollowupflagged('filtersAlarms', data); 
     593                        } 
     594                        notificationFilter(data, notifyPermission); 
     595                         
     596                        checkAlarmsFilter = true; 
     597                         
    592598                } 
    593599                /* Busca  nas pastas indexadas para ver se há novas mensagens com a flag $FilteredMessage */ 
     
    38523858} 
    38533859 
     3860//Normalização dos dados evita ter que reemplementar toda as funcionalidades do calendar 
     3861function decodeCreateSchedulable(type, ID){ 
     3862        var startEvent = new Date();   
     3863        if(startEvent.toString('mm') < 30)  
     3864                startEvent.add({minutes: (30 - parseInt(startEvent.toString('mm')))});  
     3865        else  
     3866                startEvent.add({hours: 1, minutes: '-'+startEvent.toString('mm')});  
     3867        var endEvent = function(date){  
     3868        if(!!User.preferences.defaultCalendar){  
     3869                return  new Date(parseInt(date.getTime()) +  
     3870                        (!!Calendar.signatureOf[User.preferences.defaultCalendar].calendar.defaultDuration ?   
     3871                        (Calendar.signatureOf[User.preferences.defaultCalendar].calendar.defaultDuration * 60000) : 
     3872                        (User.preferences.defaultDuration * 60000) 
     3873                )); 
     3874        }else  
     3875                return new Date(parseInt(date.getTime()) + (User.preferences.defaultDuration * 60000));  
     3876        };        
     3877 
     3878        var emails = $("#to_values_"+ID).val().split(','); 
     3879         
     3880        var schedulable = {}; 
     3881         
     3882        schedulable = {  
     3883                acl: {inviteGuests: true, organization: true ,participationRequired: false, read: true, write: true}, 
     3884                alarms: [], 
     3885                allDay: false, 
     3886                attachments: [], 
     3887                isAttendee: true, 
     3888                attendee: '',//TODOOOOOO, 
     3889                category: '', 
     3890                'class': '1', 
     3891                delegatedFrom: {}, 
     3892                endDate: startEvent.toString(User.preferences.dateFormat), 
     3893                startDate: endEvent(startEvent).toString(User.preferences.dateFormat), 
     3894                startHour: startEvent.toString(User.preferences.hourFormat), 
     3895                endHour: endEvent(startEvent).toString(User.preferences.hourFormat), 
     3896                timezone: User.preferences.defaultCalendar ? Calendar.signatureOf[User.preferences.defaultCalendar].calendar.timezone : User.preferences.timezone, 
     3897                summary : $("#subject_"+ID).text(), 
     3898                description : $("#body_" + ID).text(), 
     3899                startTime: startEvent.getTime(), 
     3900                endTime: endEvent(startEvent), 
     3901                timezones: Timezone.timezones, 
     3902                me: {name: User.me.name, mail: User.me.mail, acl: 'rowi', status: '1', delegatedFrom: '0', id: User.me.id}, 
     3903                organizer: {name: User.me.name, mail: User.me.mail, acl: 'rowi', status: '1', delegatedFrom: '0' , id: User.me.id}, 
     3904                statusParticipants: {accepted: 0, cancelled: 0, tentative: 0, unanswered:emails.length}, 
     3905                location: '', 
     3906                attendee: $.map(emails, function( mail ){                        
     3907                        var contact = false; 
     3908                        var decoded =  Encoder.htmlDecode(mail); 
     3909                        var newAttendeeName = ""; 
     3910 
     3911                        var name = decoded.match(/"([^"]*)"/) ? decoded.match(/"([^"]*)"/)[1] : ''; 
     3912                        var mail = decoded.match(/<([^<]*)>[\s]*$/) ? decoded.match(/<([^<]*)>[\s]*$/)[1].toLowerCase() : decoded;  
     3913 
     3914 
     3915                        var user = DataLayer.get('user', ["=", "mail", mail], true); 
     3916                         
     3917                        if( $.type(user) == "array" ) 
     3918                                user = user[0]; 
     3919 
     3920                        if(user != ''){ 
     3921                                //user = {name : name , mail : mail}; 
     3922                                if(User.me.mail == user.mail) 
     3923                                        return(null); 
     3924                                user.isExternal = (!!user && !(!!user.isExternal)) ? 0 : 1; 
     3925 
     3926                                return  DataLayer.merge({ 
     3927                                        name: user.name, 
     3928                                        mail: user.mail, 
     3929                                        acl:  'r', 
     3930                                        delegatedFrom: '0', 
     3931                                        status: '4', 
     3932                                        isExternal: user.isExternal 
     3933                                }, !!user.id ? {id : DataLayer.put('participant', {user: user.id, isExternal: user.isExternal})} : {id: DataLayer.put('participant', {user: user})});  
     3934                        }else if(mail.match(/[\w-]+(\.[\w-]+)*@(([A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])/)){ 
     3935                                 
     3936                                var userId = DataLayer.put('user', { 
     3937                                name: name,  
     3938                                mail: mail,  
     3939                                isExternal: '1' 
     3940                                }); 
     3941                                var newAttendeeId = DataLayer.put('participant', { 
     3942                                user: userId,  
     3943                                isExternal: '1' 
     3944                                }); 
     3945 
     3946                                return  { 
     3947                                        id: newAttendeeId, 
     3948                                        name: name, 
     3949                                        mail: mail, 
     3950                                        acl:  'r', 
     3951                                        delegatedFrom: '0', 
     3952                                        status: '4', 
     3953                                        isExternal: '1' 
     3954                                }; 
     3955                                 
     3956                        }else 
     3957                                return (null); 
     3958                }) 
     3959        }; 
     3960 
     3961        schedulable  = DataLayer.merge(schedulable,  
     3962                type == 'event' ?  
     3963                {calendar: User.preferences.defaultCalendar ? User.preferences.defaultCalendar : Calendar.calendars[0], calendars: Calendar.calendars} 
     3964                : {group: Calendar.groups[0].id, groups: Calendar.groups} 
     3965        ); 
     3966         
     3967        return schedulable; 
     3968             
     3969 
     3970} 
     3971 
    38543972function import_implements_calendar(){ 
    38553973 
     
    38653983                $.ajax({url: "../prototype/modules/calendar/js/map.disponibility.js", async: false, beforeSend: function( xhr ) {xhr.overrideMimeType('text/javascript; charset=ISO-8859-1')}}); 
    38663984                $.ajax({url: "../prototype/modules/calendar/js/helpers.js", async: false, beforeSend: function( xhr ) {xhr.overrideMimeType('text/javascript; charset=ISO-8859-1')}}); 
     3985                $.ajax({url: "../prototype/modules/calendar/js/task.helpers.js", async: false, beforeSend: function( xhr ) {xhr.overrideMimeType('text/javascript; charset=ISO-8859-1')}}); 
    38673986                //$.ajax({ url: "../prototype/modules/calendar/js/timezone.js", async: false}); 
    38683987                //$.ajax({ url: "../prototype/modules/calendar/js/calendar.codecs.js", async: false}); 
    38693988                $.ajax({url: "../prototype/plugins/encoder/encoder.js", async: false, beforeSend: function( xhr ) {xhr.overrideMimeType('text/javascript; charset=ISO-8859-1')}}); 
     3989                $.ajax({url: "../prototype/plugins/jquery.spinner/jquery.spinner.min.js", async: false, beforeSend: function( xhr ) {xhr.overrideMimeType('text/javascript; charset=ISO-8859-1')}}); 
    38703990                //$.ajax({url: "../prototype/plugins/dateFormat/dateFormat.js", async: false, beforeSend: function( xhr ) { xhr.overrideMimeType('text/javascript; charset=ISO-8859-1')}}); 
    38713991 
Note: See TracChangeset for help on using the changeset viewer.