Changeset 7068 for trunk/prototype/modules/calendar/js/calendar.codecs.js
- Timestamp:
- 08/20/12 11:15:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/prototype/modules/calendar/js/calendar.codecs.js
r7041 r7068 703 703 "class": form["class"], 704 704 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 ), 708 710 status: form.taskStatus, 709 711 id: form.idTask, … … 1062 1064 "class": form["class"], 1063 1065 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'), 1065 1067 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'), 1066 1068 allDay: ( !!form.allDay ? 1 : 0 ), … … 1647 1649 1648 1650 if(!(typeof(evt) == 'object') || (evt.id.indexOf('java') >= 0)) 1649 return (null);1651 return (null); 1650 1652 1651 1653 evt.calendar = evt.calendar || "1"; 1652 1654 1653 1655 if( !grouped[ evt.calendar ] ) 1654 grouped[ evt.calendar ] = [];1656 grouped[ evt.calendar ] = []; 1655 1657 1656 1658 var calendar = DataLayer.get('calendar', evt.calendar); 1657 1659 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 1658 1681 var eventEditable = function(idEvent, isRecurrence, Recurrence){ 1659 if(Calendar.signatureOf[calendar.id].isOwner == "1"){1660 1661 1662 attendee = DataLayer.get('participant', evt.participants[i]);1663 if(attendee.user == User.me.id)1664 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 ) ? 1665 1688 { 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 1672 1702 }; 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 } 1683 1714 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 } 1705 1729 } 1730 1731 var duration = parseInt( evt.endTime ) - parseInt( evt.startTime ), isRepeat = false; 1732 1733 var occurrences = []; 1706 1734 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; 1715 1739 }else 1716 occurrences[ occurrences.length ] = evt.startTime;1740 occurrences[ occurrences.length ] = evt.startTime; 1717 1741 1718 1742 //occurrences = DataLayer.unique( occurrences ).sort(); 1719 1743 var typeEvent; 1720 for( var i = 0; i < occurrences.length; i++ ) {1721 1744 for( var i = 0; i < occurrences.length; i++ ) 1745 { 1722 1746 typeEvent = (evt.type == 2 && evt.taskToActivity ? 3 : evt.type) 1723 1747 grouped[ evt.calendar ].push( DataLayer.merge( 1724 1748 { 1725 1726 1727 1728 1729 1730 1731 1732 1733 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})))); 1735 1759 } 1736 1760 });
Note: See TracChangeset
for help on using the changeset viewer.