Ignore:
Timestamp:
08/20/12 11:15:00 (12 years ago)
Author:
acoutinho
Message:

Ticket #3054 - Inconsistencia ao importar alguma tarefa individual

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/prototype/modules/calendar/js/calendar.codecs.js

    r7041 r7068  
    703703        "class": form["class"], 
    704704        startTime: Date.parseExact(form.startDate + " "+$.trim(form.startHour) , formatString ).toString(!!form.allDay ? 'yyyy-MM-dd 00:00:00' : 'yyyy-MM-dd HH:mm:00'), 
    705         endTime:  Date.parseExact(form.endDate + " "+$.trim(form.endHour), formatString ).toString(!!form.allDay ? 'yyyy-MM-dd 00:00:00' : 'yyyy-MM-dd HH:mm:00'),  //+ (!!form.allDay ? 86400000 : 0) , 
    706         due: (form.dueDate == '' )? 0 : Date.parseExact(form.dueDate + " "+$.trim(form.dueTime) , formatString ).toString(!!form.allDay ? 'yyyy-MM-dd 00:00:00' : 'yyyy-MM-dd HH:mm:00'), 
    707         allDay: ( !!form.allDay ? 1 : 0 ),       
     705        endTime: (form.dueDate == '' ) ? 
     706            Date.parseExact(form.startDate + " "+$.trim(form.startHour) , formatString ).toString(!!form.allDay ? 'yyyy-MM-dd 00:00:00' : 'yyyy-MM-dd HH:mm:00') : 
     707            Date.parseExact(form.dueDate + " "+$.trim(form.dueTime) , formatString ).toString(!!form.allDay ? 'yyyy-MM-dd 00:00:00' : 'yyyy-MM-dd HH:mm:00'), 
     708        due: (form.dueDate == '' ) ? 0 : Date.parseExact(form.dueDate + " "+$.trim(form.dueTime) , formatString ).toString(!!form.allDay ? 'yyyy-MM-dd 00:00:00' : 'yyyy-MM-dd HH:mm:00'), 
     709        allDay: ( form.dueDate == ''  ? 1 : 0 ), 
    708710        status: form.taskStatus,       
    709711        id: form.idTask, 
     
    10621064        "class": form["class"], 
    10631065        startTime: Date.parseExact(form.startDate + " "+$.trim(form.startHour) , formatString ).toString(!!form.allDay ? 'yyyy-MM-dd 00:00:00' : 'yyyy-MM-dd HH:mm:00'), 
    1064         endTime:  Date.parseExact(form.endDate + " "+$.trim(form.endHour), formatString ).toString(!!form.allDay ? 'yyyy-MM-dd 00:00:00' : 'yyyy-MM-dd HH:mm:00'),  //+ (!!form.allDay ? 86400000 : 0) , 
     1066        endTime:  (form.dueDate == '' )? 0 : Date.parseExact(form.dueDate + " "+$.trim(form.dueHour) , formatString ).toString(!!form.allDay ? 'yyyy-MM-dd 00:00:00' : 'yyyy-MM-dd HH:mm:00'), 
    10651067        due: (form.dueDate == '' )? 0 : Date.parseExact(form.dueDate + " "+$.trim(form.dueHour) , formatString ).toString(!!form.allDay ? 'yyyy-MM-dd 00:00:00' : 'yyyy-MM-dd HH:mm:00'), 
    10661068        allDay: ( !!form.allDay ? 1 : 0 ),       
     
    16471649                 
    16481650            if(!(typeof(evt) == 'object') || (evt.id.indexOf('java') >= 0)) 
    1649                 return (null); 
     1651                        return (null); 
    16501652 
    16511653            evt.calendar = evt.calendar || "1"; 
    16521654 
    16531655            if( !grouped[ evt.calendar ] ) 
    1654                 grouped[ evt.calendar ] = []; 
     1656                        grouped[ evt.calendar ] = []; 
    16551657                         
    16561658            var calendar = DataLayer.get('calendar', evt.calendar); 
    16571659                 
     1660                var taskEditable = function(idTask){ 
     1661                        for(var i = 0; i < evt.participants.length; i++){ 
     1662                                attendee = DataLayer.get('participant', evt.participants[i]); 
     1663                                if(attendee.user == User.me.id) 
     1664                                        return attendee.isOrganizer == '1' ?  
     1665                                        { 
     1666                                                editable: true,  
     1667                                                disableResizing: false,  
     1668                                                disableDragging: false, 
     1669                                                className: 'fullcalendar-context-menu  event-type-2 event-id-'+idTask+' calendar-id-'+calendar.id 
     1670                                        }  
     1671                                        :  
     1672                                        { 
     1673                                                editable: false,  
     1674                                                disableResizing: true,  
     1675                                                disableDragging: true, 
     1676                                                className: 'blocked-event-permision  fullcalendar-not-context-menu event-id-'+idTask 
     1677                                        }; 
     1678                        } 
     1679                } 
     1680                 
    16581681            var eventEditable = function(idEvent, isRecurrence, Recurrence){ 
    1659                 if(Calendar.signatureOf[calendar.id].isOwner == "1"){ 
    1660                     var attendee = {}; 
    1661                     for(var i = 0; i < evt.participants.length; i++){ 
    1662                         attendee = DataLayer.get('participant', evt.participants[i]); 
    1663                         if(attendee.user == User.me.id) 
    1664                                             return (attendee.acl.indexOf('w') >= 0 || attendee.acl.indexOf('o') >= 0 ) ?  
     1682                        if(Calendar.signatureOf[calendar.id].isOwner == "1"){ 
     1683                                var attendee = {}; 
     1684                                for(var i = 0; i < evt.participants.length; i++){ 
     1685                                        attendee = DataLayer.get('participant', evt.participants[i]); 
     1686                                        if(attendee.user == User.me.id) 
     1687                                                return (attendee.acl.indexOf('w') >= 0 || attendee.acl.indexOf('o') >= 0 ) ?  
    16651688                                                { 
    1666                                 selectable: true,  
    1667                                 className: 'fullcalendar-context-menu  event-id-'+idEvent+' calendar-id-'+calendar.id+ (isRecurrence ? ' isRecurrence Recurrence-id-'+Recurrence : '') 
    1668                                 } : { 
    1669                                 editable: false,  
    1670                                 selectable: true , 
    1671                                 className: 'blocked-event-permision  fullcalendar-not-context-menu event-id-'+idEvent 
     1689                                                        selectable: true,  
     1690                                                        className: 'fullcalendar-context-menu  event-type-1 event-id-'+idEvent+' calendar-id-'+calendar.id+ (isRecurrence ? ' isRecurrence Recurrence-id-'+Recurrence : '') 
     1691                                                } : { 
     1692                                                        editable: false,  
     1693                                                        selectable: true , 
     1694                                                        className: 'blocked-event-permision  fullcalendar-not-context-menu event-id-'+idEvent 
     1695                                                }; 
     1696                                } 
     1697                                return { 
     1698                                        editable: false,  
     1699                                        className: 'blocked-event-permision  fullcalendar-not-context-menu event-id-'+idEvent+' calendar-id-'+calendar.id,   
     1700                                        selectable: true,  
     1701                                        disableDragging: isRecurrence 
    16721702                                }; 
    1673                     } 
    1674                     return { 
    1675                         editable: false,  
    1676                         className: 'blocked-event-permision  fullcalendar-not-context-menu event-id-'+idEvent+' calendar-id-'+calendar.id,   
    1677                         selectable: true,  
    1678                         disableDragging: isRecurrence 
    1679                     }; 
    1680                 } 
    1681                 else{ 
    1682                     var aclSignature = Calendar.signatureOf[calendar.id].permission; 
     1703                        } 
     1704                        else{ 
     1705                                var aclSignature = Calendar.signatureOf[calendar.id].permission; 
     1706                                         
     1707                                var mountClass =  function(acl){ 
     1708                                        var returns = "" 
     1709                                        returns += acl['write'] ? "" :  'blocked-event-permision '; 
     1710                                        returns += acl['busy'] ? 'fullcalendar-not-context-menu ' : (acl['read']  ?  'fullcalendar-context-menu '+ (isRecurrence ? ' isRecurrence Recurrence-id-'+Recurrence : '') : ''); 
     1711                                        returns += 'event-id-'+idEvent+' calendar-id-'+calendar.id; 
     1712                                        return returns; 
     1713                                } 
    16831714                                 
    1684                     var mountClass =  function(acl){ 
    1685                         var returns = "" 
    1686                         returns += acl['write'] ? "" :  'blocked-event-permision '; 
    1687                         returns += acl['busy'] ? 'fullcalendar-not-context-menu ' : (acl['read']  ?  'fullcalendar-context-menu '+ (isRecurrence ? ' isRecurrence Recurrence-id-'+Recurrence : '') : ''); 
    1688                         returns += 'event-id-'+idEvent+' calendar-id-'+calendar.id; 
    1689                         return returns; 
    1690                     }                            
    1691                     return DataLayer.merge( 
    1692                         { 
    1693                         editable: aclSignature.acl['write'] && !isRecurrence, 
    1694                         disableResizing : (((aclSignature.acl['busy'] && !aclSignature.acl['write']) || (!aclSignature.acl['write'] && aclSignature.acl['read'])) ? true : false), 
    1695                         disableDragging  : (((aclSignature.acl['busy'] && !aclSignature.acl['write']) || (!aclSignature.acl['write'] && aclSignature.acl['read'])) ? true: false), 
    1696                         className: mountClass(aclSignature.acl) 
    1697                         }, aclSignature.acl['busy'] ?  
    1698                         { 
    1699                             title: 'Ocupado',  
    1700                             selectable: false 
    1701                         } : { 
    1702                             selectable: true 
    1703                         });      
    1704                 } 
     1715                                return DataLayer.merge({ 
     1716                                        editable: aclSignature.acl['write'] && !isRecurrence, 
     1717                                        disableResizing : (((aclSignature.acl['busy'] && !aclSignature.acl['write']) || (!aclSignature.acl['write'] && aclSignature.acl['read'])) ? true : false), 
     1718                                        disableDragging  : (((aclSignature.acl['busy'] && !aclSignature.acl['write']) || (!aclSignature.acl['write'] && aclSignature.acl['read'])) ? true: false), 
     1719                                        className: mountClass(aclSignature.acl) 
     1720                                        }, aclSignature.acl['busy'] ?  
     1721                                        { 
     1722                                                title: 'Ocupado',  
     1723                                                selectable: false 
     1724                                        } : { 
     1725                                                selectable: true 
     1726                                        } 
     1727                                );       
     1728                        } 
    17051729            } 
     1730 
     1731                var duration = parseInt( evt.endTime ) - parseInt( evt.startTime ), isRepeat = false; 
     1732 
     1733                var occurrences = []; 
    17061734                 
    1707             var duration = parseInt( evt.endTime ) - parseInt( evt.startTime ), isRepeat = false; 
    1708                  
    1709             var occurrences = []; 
    1710                  
    1711             if( evt.occurrences ) 
    1712             { 
    1713                 isRepeat = true; 
    1714                 occurrences = evt.occurrences; 
     1735                if( evt.occurrences ) 
     1736                { 
     1737                        isRepeat = true; 
     1738                        occurrences = evt.occurrences; 
    17151739            }else 
    1716                 occurrences[ occurrences.length ] = evt.startTime; 
     1740                        occurrences[ occurrences.length ] = evt.startTime; 
    17171741 
    17181742            //occurrences = DataLayer.unique( occurrences ).sort(); 
    17191743                var typeEvent;   
    1720             for( var i = 0; i < occurrences.length; i++ ){ 
    1721  
     1744            for( var i = 0; i < occurrences.length; i++ ) 
     1745                { 
    17221746            typeEvent = (evt.type == 2 && evt.taskToActivity ? 3 : evt.type) 
    17231747                grouped[ evt.calendar ].push( DataLayer.merge( 
    17241748                { 
    1725                     id: evt.URI || evt.id+ '-' + i, 
    1726                     title: Encoder.htmlDecode(evt.summary), 
    1727                     start: Timezone.getDateCalendar(new Date( parseInt( occurrences[i] ) ), calendar.timezone,  !!evt.DayLigth ? evt.DayLigth.calendar.startTime : Timezone.daylightSaving), 
    1728                     end:   Timezone.getDateCalendar(new Date( parseInt( occurrences[i] ) + duration - (!!parseInt(evt.allDay) ? 86400000 : 0)), calendar.timezone, !!evt.DayLigth ? evt.DayLigth.calendar.startTime : Timezone.daylightSaving), 
    1729                     allDay: parseInt( evt.allDay ), 
    1730                     isRepeat: isRepeat, 
    1731                     occurrence: i, 
    1732                     type: typeEvent, 
    1733                     calendar: evt.calendar 
    1734                     }, (parseInt(typeEvent) == 1 ? eventEditable(evt.id, isRepeat, i ) : (parseInt(typeEvent) == 2 ? {editable: true, disableResizing: false, disableDragging: false} : {editable: false, disableResizing: true, disableDragging: true}) )) ); 
     1749                                id: evt.URI || evt.id+ '-' + i, 
     1750                                title: Encoder.htmlDecode(evt.summary), 
     1751                                start: Timezone.getDateCalendar(new Date( parseInt( occurrences[i] ) ), calendar.timezone,  !!evt.DayLigth ? evt.DayLigth.calendar.startTime : Timezone.daylightSaving), 
     1752                                end:   Timezone.getDateCalendar(new Date( parseInt( occurrences[i] ) + duration - (!!parseInt(evt.allDay) ? 86400000 : 0)), calendar.timezone, !!evt.DayLigth ? evt.DayLigth.calendar.startTime : Timezone.daylightSaving), 
     1753                                allDay: parseInt( evt.allDay ), 
     1754                                isRepeat: isRepeat, 
     1755                                occurrence: i, 
     1756                                type: typeEvent, 
     1757                                calendar: evt.calendar 
     1758                                }, (parseInt(typeEvent) == 1 ? eventEditable(evt.id, isRepeat, i ) : (parseInt(typeEvent) == 2 ? taskEditable(evt.id) : {editable: false, disableResizing: true, disableDragging: true})))); 
    17351759        } 
    17361760        }); 
Note: See TracChangeset for help on using the changeset viewer.