Changeset 6996 for trunk/expressoMail1_2/js/draw_api.js
- Timestamp:
- 08/10/12 19:11:37 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoMail1_2/js/draw_api.js
r6975 r6996 3220 3220 subject.className = "header_message_field"; 3221 3221 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 3222 3237 var new_event_logo = document.createElement("IMG"); 3223 3238 new_event_logo.title = "Criar evento a partir deste email"; 3224 3239 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"; 3226 3242 new_event_logo.style.cursor = "pointer"; 3227 3243 new_event_logo.style.marginLeft = "5px"; … … 3232 3248 DataLayer.dispatchPath = "../prototype/"; 3233 3249 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); 3337 3252 } 3338 3253 subject.appendChild(new_event_logo); 3254 subject.appendChild(new_task_logo); 3339 3255 } 3340 3256 tr5.appendChild(td5);
Note: See TracChangeset
for help on using the changeset viewer.