Ignore:
Timestamp:
08/10/12 15:52:37 (12 years ago)
Author:
acoutinho
Message:

Ticket #2966 - Correcao de bugs e refactoring das novas funcionalidades

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sandbox/2.4.2-expresso1/prototype/modules/calendar/js/calendar.codecs.js

    r6985 r6988  
    391391}); 
    392392 
     393DataLayer.codec( "schedulable", "taskEdit", { 
     394 
     395    decoder: function( evtObj ){ 
     396        Encoder.EncodeType = "entity"; 
     397         
     398        if( notArray = $.type(evtObj) !== "array" ) 
     399            evtObj = [ evtObj ]; 
     400 
     401        var pref = User.preferences; 
     402                 
     403        var res = $.map(evtObj, function( form ){ 
     404                         
     405            return DataLayer.merge({ 
     406                id: form.idTask, 
     407                percentage: form.percentage, 
     408                type: '2',  
     409                status: form.taskStatus, 
     410                participants : $.map(form.attendee, function( attendee, i ){ 
     411                    if(isNaN(attendee)){ 
     412                        return{ 
     413                            id: attendee, 
     414                            acl: form.attendeeAcl[i], 
     415                            delegatedFrom: !!form.delegatedFrom[i] ? form.delegatedFrom[i] : 0, 
     416                            isOrganizer: (form.attendee_organizer == attendee ? 1 : 0 ), 
     417                            isExternal: !!parseInt(form.attendeeType[i]) ? 1 : 0, 
     418                            acl: form.attendeeAcl[i].replace('o', '') 
     419                        }; 
     420                    }else{ 
     421                        if(DataLayer.get('participant', attendee).user == User.me.id){ 
     422                            var me = { 
     423                                user: User.me.id, 
     424                                status: form.status, 
     425                                id: attendee, 
     426                                isOrganizer: 0, 
     427                                receiveNotification : (!!form.receiveNotification ? 1 : 0), 
     428                                alarms: typeof(form.alarmTime) != 'undefined' ?  
     429                                $.map( form.alarmTime || [], function( alarmTime, i ){ 
     430 
     431                                    if( alarmTime === "" ) 
     432                                        return( null ); 
     433 
     434                                    return !!form.alarmId[i] ? 
     435                                    { 
     436                                        type: form.alarmType[i],  
     437                                        unit: form.alarmUnit[i],  
     438                                        time: form.alarmTime[i],  
     439                                        id: form.alarmId[i] 
     440                                        } :  
     441{ 
     442                                        type: form.alarmType[i], 
     443                                        unit: form.alarmUnit[i],  
     444                                        time: form.alarmTime[i] 
     445                                        }; 
     446                                }) : [] 
     447                            }; 
     448                                                         
     449                            if(form.startDate){ 
     450                                var tzId =  DataLayer.get('schedulable', form.idEvent).timezone || User.preferences.timezone, 
     451                                formatString = pref.dateFormat + " " + pref.hourFormat; 
     452                                                                 
     453                                DataLayer.put('notification', { 
     454                                    participant: me.id, 
     455                                    type: 'suggestion', 
     456                                    startTime: Date.parseExact(form.startDate + (!!form.allDay ? " 00:00": " "+$.trim(form.startHour)) , formatString ).toString('yyyy-MM-dd HH:mm:00'), 
     457                                    endTime:  Date.parseExact(form.endDate + ( !!form.allDay ? " 00:00": " "+$.trim(form.endHour)), formatString ).toString('yyyy-MM-dd HH:mm:00'), 
     458                                    allDay: ( !!form.allDay ? 1 : 0 ), 
     459                                    schedulable: form.idEvent 
     460                                }); 
     461                                                         
     462                            } 
     463                            return me; 
     464                        }else return(null); 
     465                    }; 
     466                }) 
     467            }, (form.group != form.lastGroup? {calendar: form.group, lastCalendar: form.lastGroup} : {})) 
     468        }); 
     469        return notArray ? res[0] : res; 
     470    }, 
     471 
     472    encoder: function( evtObj ){} 
     473 
     474}); 
     475 
    393476DataLayer.codec( "schedulable", "preview", { 
    394477 
     
    794877        }), 
    795878        organizer: participantInfo.organizer || me, 
     879        isOrganizer: (participantInfo.organizer || me).id == me.id, 
    796880        alarms: !!participantInfo.user ? participantInfo.user.alarms : [], 
    797881        status: !!participantInfo.user ? participantInfo.user.status : 1, 
Note: See TracChangeset for help on using the changeset viewer.