Ignore:
Timestamp:
08/10/12 19:11:37 (12 years ago)
Author:
acoutinho
Message:

Ticket #2966 - Merge de novas funcionalidades com trunk #2951, #2952

File:
1 edited

Legend:

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

    r6975 r6996  
    32203220        subject.className = "header_message_field"; 
    32213221        if(defaultCalendar == "expressoCalendar" && $("#expressoCalendarid")[0]){ 
     3222                var new_task_logo = document.createElement("IMG"); 
     3223                new_task_logo.title = "Criar uma nova tarefa a partir deste email."; 
     3224                new_task_logo.alt = "Criar uma nova tarefa a partir deste email."; 
     3225                new_task_logo.src = "./templates/default/images/big-task.png"; 
     3226                new_task_logo.style.cursor = "pointer"; 
     3227                new_task_logo.style.marginLeft = "5px"; 
     3228                new_task_logo.onclick = function(){ 
     3229                import_implements_calendar(); 
     3230                 
     3231                 
     3232                        DataLayer.dispatchPath = "../prototype/"; 
     3233                        var path = "../prototype/modules/calendar/"; 
     3234                        taskDetails(decodeCreateSchedulable('task', ID), true, path, true); 
     3235                } 
     3236                 
    32223237                var new_event_logo = document.createElement("IMG"); 
    32233238                new_event_logo.title = "Criar evento a partir deste email"; 
    32243239                new_event_logo.alt = "Criar evento a partir deste email"; 
    3225                 new_event_logo.src = "./templates/default/images/calendar_add.png"; 
     3240                //new_event_logo.src = "./templates/default/images/calendar_add.png"; 
     3241                new_event_logo.src = "./templates/default/images/big-event.png"; 
    32263242                new_event_logo.style.cursor = "pointer"; 
    32273243                new_event_logo.style.marginLeft = "5px"; 
     
    32323248                        DataLayer.dispatchPath = "../prototype/"; 
    32333249                        var path = "../prototype/modules/calendar/"; 
    3234                          
    3235                         var startEvent = new Date();   
    3236                         if(startEvent.toString('mm') < 30)  
    3237                                 startEvent.add({minutes: (30 - parseInt(startEvent.toString('mm')))});  
    3238                         else  
    3239                                 startEvent.add({hours: 1, minutes: '-'+startEvent.toString('mm')});  
    3240                         var endEvent = function(date){  
    3241                                 if(!!User.preferences.defaultCalendar){  
    3242                                         return  new Date(parseInt(date.getTime()) +  
    3243                                                     (!!Calendar.signatureOf[User.preferences.defaultCalendar].calendar.defaultDuration ?   
    3244                                                         (Calendar.signatureOf[User.preferences.defaultCalendar].calendar.defaultDuration * 60000) : 
    3245                                                         (User.preferences.defaultDuration * 60000) 
    3246                                                 )); 
    3247                                 }else  
    3248                                         return new Date(parseInt(date.getTime()) + (User.preferences.defaultDuration * 60000));  
    3249                         };        
    3250  
    3251                         var emails = $("#to_values_"+ID).val().split(','); 
    3252                          
    3253                          
    3254                         //Normalização dos dados evita ter que reemplementar toda as funcionalidades do calendar 
    3255                         eventDetails({  
    3256                                          
    3257                                         acl: {inviteGuests: true, organization: true ,participationRequired: false, read: true, write: true}, 
    3258                                         alarms: [], 
    3259                                         allDay: false, 
    3260                                         attachments: [], 
    3261                                         isAttendee: true, 
    3262                                         attendee: '',//TODOOOOOO, 
    3263                                         calendar: User.preferences.defaultCalendar ? User.preferences.defaultCalendar : Calendar.calendars[0], 
    3264                                         calendars: Calendar.calendars, 
    3265                                         category: '', 
    3266                                         'class': '1', 
    3267                                         delegatedFrom: {}, 
    3268                                         endDate: startEvent.toString(User.preferences.dateFormat), 
    3269                                         startDate: endEvent(startEvent).toString(User.preferences.dateFormat), 
    3270                                         startHour: startEvent.toString(User.preferences.hourFormat), 
    3271                                         endHour: endEvent(startEvent).toString(User.preferences.hourFormat), 
    3272                                         timezone: User.preferences.defaultCalendar ? Calendar.signatureOf[User.preferences.defaultCalendar].calendar.timezone : User.preferences.timezone, 
    3273                                         summary : $("#subject_"+ID).text(), 
    3274                                         description : $("#body_" + ID).text(), 
    3275                                         startTime: startEvent.getTime(), 
    3276                                         endTime: endEvent(startEvent), 
    3277                                         timezones: Timezone.timezones, 
    3278                                         me: {name: User.me.name, mail: User.me.mail, acl: 'rowi', status: '1', delegatedFrom: '0', id: User.me.id}, 
    3279                                         organizer: {name: User.me.name, mail: User.me.mail, acl: 'rowi', status: '1', delegatedFrom: '0' , id: User.me.id}, 
    3280                                         statusParticipants: {accepted: 0, cancelled: 0, tentative: 0, unanswered:emails.length}, 
    3281                                         location: '', 
    3282                                         attendee: $.map(emails, function( mail ){                        
    3283                                                 var contact = false; 
    3284                                                 var decoded =  Encoder.htmlDecode(mail); 
    3285                                                 var newAttendeeName = ""; 
    3286  
    3287                                                 var name = decoded.match(/"([^"]*)"/) ? decoded.match(/"([^"]*)"/)[1] : ''; 
    3288                                                 var mail = decoded.match(/<([^<]*)>[\s]*$/) ? decoded.match(/<([^<]*)>[\s]*$/)[1].toLowerCase() : decoded;  
    3289  
    3290  
    3291                                                 var user = DataLayer.get('user', ["=", "mail", mail], true); 
    3292                                                  
    3293                                                 if( $.type(user) == "array") 
    3294                                                     user = user[0]; 
    3295  
    3296                                                 if(user != ''){ 
    3297                                                     //user = {name : name , mail : mail}; 
    3298                                                     if(User.me.mail == user.mail) 
    3299                                                             return(null); 
    3300                                                     user.isExternal = (!!user && !(!!user.isExternal)) ? 0 : 1; 
    3301  
    3302                                                     return  DataLayer.merge({ 
    3303                                                             name: user.name, 
    3304                                                             mail: user.mail, 
    3305                                                             acl:  'r', 
    3306                                                             delegatedFrom: '0', 
    3307                                                             status: '4', 
    3308                                                             isExternal: user.isExternal 
    3309                                                     }, !!user.id ? {id : DataLayer.put('participant', {user: user.id, isExternal: user.isExternal})} : {id: DataLayer.put('participant', {user: user})});  
    3310                                                 }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}\])/)){ 
    3311                                                      
    3312                                                     var userId = DataLayer.put('user', { 
    3313                                                         name: name,  
    3314                                                         mail: mail,  
    3315                                                         isExternal: '1' 
    3316                                                     }); 
    3317                                                     var newAttendeeId = DataLayer.put('participant', { 
    3318                                                         user: userId,  
    3319                                                         isExternal: '1' 
    3320                                                     }); 
    3321  
    3322                                                     return  { 
    3323                                                             id: newAttendeeId, 
    3324                                                             name: name, 
    3325                                                             mail: mail, 
    3326                                                             acl:  'r', 
    3327                                                             delegatedFrom: '0', 
    3328                                                             status: '4', 
    3329                                                             isExternal: '1' 
    3330                                                     }; 
    3331                                                      
    3332                                                 }else 
    3333                                                     return (null); 
    3334                                         })       
    3335                                          
    3336                         }, true, path, true); 
     3250 
     3251                        eventDetails(decodeCreateSchedulable('event', ID), true, path, true); 
    33373252                } 
    33383253                subject.appendChild(new_event_logo); 
     3254                subject.appendChild(new_task_logo); 
    33393255        } 
    33403256        tr5.appendChild(td5); 
Note: See TracChangeset for help on using the changeset viewer.