Changeset 8232 for branches/2.5/prototype/modules/calendar/js/helpers.js
- Timestamp:
- 10/08/13 16:20:46 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.5/prototype/modules/calendar/js/helpers.js
r8059 r8232 111 111 var end = $("#calendar").fullCalendar('getView').visEnd.getTime()/1000; 112 112 var criteria = DataLayer.criteria("schedulable:calendar", {'start':start, 'end':end} ); 113 114 var data = DataLayer.encode('schedulable:print', DataLayer.dispatch('modules/calendar/schedules', criteria ) ); 113 114 var data = DataLayer.encode('schedulable:print', DataLayer.dispatch('modules/calendar/schedules', criteria ) ); 115 115 116 116 if($("#calendar").fullCalendar('getView').name == "month"){ … … 163 163 print.removeClass('fc-button-year'); 164 164 print.removeClass('fc-corner-left'); 165 print.removeClass('fc-state-active'); 165 print.removeClass('fc-state-active'); 166 166 print.find('.fc-button-content').html('Imprimir'); 167 167 $('.fc-header-right').append(print); … … 179 179 function eventDetails( objEvent, decoded, path, isMail, repeat, buttonClicked) 180 180 { 181 182 181 $('.qtip.qtip-blue').remove(); 183 182 184 183 attendees = {}; 185 186 if(!!objEvent.participants) 187 { 188 $.each(objEvent.participants ,function(index, value) { 189 190 var part = DataLayer.get('participant' , value ); 191 var user = DataLayer.get('user' , part.user ); 192 193 attendees[part.user] = user.name; 194 }); 195 } 196 184 185 if(!!objEvent.participants) 186 { 187 $.each(objEvent.participants ,function(index, value) { 188 189 var part = DataLayer.get('participant' , value ); 190 var user = DataLayer.get('user' , part.user ); 191 192 attendees[part.user] = user.name; 193 }); 194 } 195 197 196 if(path == undefined) 198 197 path = ""; 199 198 200 199 if( !decoded ) 201 objEvent = DataLayer.decode("schedulable:calendar", objEvent ); 202 203 var dtstamp = objEvent.dtstamp; 200 objEvent = DataLayer.decode("schedulable:calendar", objEvent ); 201 202 var dtstamp = objEvent.dtstamp; 204 203 if(!isMail) 205 objEvent = DataLayer.encode( "schedulable:preview", objEvent ); 206 if (!dtstamp) 207 var date = new Date(); 208 else 209 var date = new Date(parseInt(dtstamp)); 210 objEvent.creationDate = []; 211 objEvent.creationDate[0] = dateFormat(parseInt(dtstamp),'dd/mm/yyyy'); 212 objEvent.creationDate[1] = date.getHours(); 213 objEvent.creationDate[2] = date.getMinutes(); 214 204 objEvent = DataLayer.encode( "schedulable:preview", objEvent ); 205 if (!dtstamp) 206 var date = new Date(); 207 else 208 var date = new Date(parseInt(dtstamp)); 209 objEvent.creationDate = []; 210 objEvent.creationDate[0] = dateFormat(parseInt(dtstamp),'dd/mm/yyyy'); 211 objEvent.creationDate[1] = date.getHours(); 212 objEvent.creationDate[2] = date.getMinutes(); 213 215 214 if(typeof(objEvent.id) == 'undefined'){ 216 215 objEvent.alarms = Calendar.signatureOf[User.preferences.defaultCalendar || Calendar.calendarIds[0]].defaultAlarms || false; … … 270 269 }).click(function () { 271 270 var participant = DataLayer.get('participant' , $(this).parents('li').find('[type=checkbox]').val()); 272 DataLayer.remove('participant', participant.id); 271 DataLayer.remove('participant', participant.id); 272 273 273 if($(this).parent().find('.button.delegate').hasClass('attendee-permissions-change-button')){ 274 274 removeOthers(); … … 278 278 blkAddAtendee.find('option[value=1]').attr('selected','selected').trigger('change'); 279 279 } 280 280 281 $(this).parents('li').remove(); 281 282 282 283 if(blkAddAtendee.find(".attendee-list li").length == 1) 283 284 blkAddAtendee.find("li.not-attendee").removeClass('hidden'); 284 delete attendees[participant.user];285 delete attendees[participant.user]; 285 286 }) 286 287 .addClass('tiny disable ui-button-disabled ui-state-disabled') … … 467 468 } 468 469 ); 470 471 469 472 } 470 473 … … 487 490 $('.qtip.qtip-blue.qtip-active').qtip('destroy'); 488 491 attendees = {}; 492 DataLayer.rollback();//Limpa cache do datalayer 489 493 }, 490 494 beforeClose: function(event, ui) { … … 566 570 } 567 571 568 569 dateSameValue = function(){ 570 UI.dialogs.addEvent.find('input.start-date').datepicker({ 571 dateFormat: User.preferences.dateFormat.replace(/M/g, 'm').replace(/yyyy/g, 'yy'), 572 onSelect : function (selectedDate){ 573 endDate = $(".end-date").val(); 574 storeSelectedDate = selectedDate; 575 576 if ( User.preferences.dateFormat == "dd/MM/yyyy" || User.preferences.dateFormat == "dd-MM-yyyy" ) { 577 if ( User.preferences.dateFormat == "dd/MM/yyyy" ) { 578 selectedDate = selectedDate.split("/"); 579 endDate = endDate.split("/"); 580 } else if( User.preferences.dateFormat == "dd-MM-yyyy" ){ 581 selectedDate = selectedDate.split("-"); 582 endDate = endDate.split("-"); 583 } 584 585 newDt = new Date(selectedDate[2],selectedDate[1], selectedDate[0]); 586 endDate = new Date(endDate[2],endDate[1], endDate[0]); 587 588 } else if ( User.preferences.dateFormat == "MM/dd/yyyy" ) { 589 selectedDate = selectedDate.split("/"); 590 endDate = endDate.split("/"); 591 592 newDt = new Date(selectedDate[2],selectedDate[0], selectedDate[1]); 593 endDate = new Date(endDate[2],endDate[0], endDate[1]); 594 } 595 596 if( newDt > endDate ) 597 $(".end-date").val(storeSelectedDate); 598 }, 599 onClose: function(){ 600 UI.dialogs.addEvent.find(".end-date").val(UI.dialogs.addEvent.find(".start-date").val()); 601 } 602 }); 603 } 604 572 573 dateSameValue = function(){ 574 UI.dialogs.addEvent.find('input.start-date').datepicker({ 575 dateFormat: User.preferences.dateFormat.replace(/M/g, 'm').replace(/yyyy/g, 'yy'), 576 onSelect : function (selectedDate){ 577 endDate = $(".end-date").val(); 578 storeSelectedDate = selectedDate; 579 580 if ( User.preferences.dateFormat == "dd/MM/yyyy" || User.preferences.dateFormat == "dd-MM-yyyy" ) { 581 if ( User.preferences.dateFormat == "dd/MM/yyyy" ) { 582 selectedDate = selectedDate.split("/"); 583 endDate = endDate.split("/"); 584 } else if( User.preferences.dateFormat == "dd-MM-yyyy" ){ 585 selectedDate = selectedDate.split("-"); 586 endDate = endDate.split("-"); 587 } 588 589 newDt = new Date(selectedDate[2],selectedDate[1], selectedDate[0]); 590 endDate = new Date(endDate[2],endDate[1], endDate[0]); 591 592 } else if ( User.preferences.dateFormat == "MM/dd/yyyy" ) { 593 selectedDate = selectedDate.split("/"); 594 endDate = endDate.split("/"); 595 596 newDt = new Date(selectedDate[2],selectedDate[0], selectedDate[1]); 597 endDate = new Date(endDate[2],endDate[0], endDate[1]); 598 } 599 600 if( newDt > endDate ) 601 $(".end-date").val(storeSelectedDate); 602 }, 603 onClose: function(){ 604 UI.dialogs.addEvent.find(".end-date").val(UI.dialogs.addEvent.find(".start-date").val()); 605 } 606 }); 607 } 608 605 609 DataLayer.render( path+'templates/event_repeat.ejs', { 606 610 event:objEvent … … 608 612 609 613 UI.dialogs.addEvent.find('#calendar_addevent_details3').html(repeatHtml); 610 611 dateSameValue(); 614 615 dateSameValue(); 612 616 $(".date").datepicker({ 613 617 dateFormat: User.preferences.dateFormat.replace(/M/g, 'm').replace(/yyyy/g, 'yy') 614 }); 615 616 618 }); 619 620 617 621 if(objEvent.repeat) 618 622 { … … 1010 1014 }); 1011 1015 1012 dateSameValue(); 1013 1014 var fixHour = function(){ 1015 currentTimeStart = UI.dialogs.addEvent.find("input.start-time").val(); 1016 UI.dialogs.addEvent.find("input.start-time").val(currentTimeStart.replace(".","").replace(".","")); 1017 } 1018 1019 var setTime = function( selectedDateTime ) { 1020 if ((selectedDateTime.value == '__:__') || (selectedDateTime.value == '__:__ __')) 1021 selectedDateTime.value = ""; 1022 if(!(User.preferences.hourFormat.length == 5)) 1023 $(this).val(selectedDateTime.replace(/[\.]/gi, "")); 1024 updateMap(); 1025 1026 if( Date.parse(selectedDateTime) < Date.parse(oldTime) ) return true; 1027 1028 var time = selectedDateTime.split(":"); 1029 1030 var hh = time[0]; 1031 var mm = time[1].substring(0, 2); 1016 dateSameValue(); 1017 1018 var fixHour = function(){ 1019 currentTimeStart = UI.dialogs.addEvent.find("input.start-time").val(); 1020 UI.dialogs.addEvent.find("input.start-time").val(currentTimeStart.replace(".","").replace(".","")); 1021 } 1022 1023 var setTime = function( selectedDateTime ) { 1024 if ((selectedDateTime.value == '__:__') || (selectedDateTime.value == '__:__ __')) 1025 selectedDateTime.value = ""; 1026 if(!(User.preferences.hourFormat.length == 5)) 1027 $(this).val(selectedDateTime.replace(/[\.]/gi, "")); 1028 updateMap(); 1029 1030 if( Date.parse(selectedDateTime) < Date.parse(oldTime) ) return true; 1032 1031 1033 1034 dt = new Date(); 1035 dt.setHours(hh, mm); 1036 var startHours = dt.getHours(); 1037 add = parseInt(User.preferences.defaultDuration) + parseInt($("input.end-time").val().split(":")[1].substring(0,2)); 1038 dt.addMinutes(add); 1032 var time = selectedDateTime.split(":"); 1033 1034 var hh = time[0]; 1035 var mm = time[1].substring(0, 2); 1036 1039 1037 1040 1041 var minutes = dt.getMinutes().toString(); 1042 var hours = dt.getHours(); 1043 UI.dialogs.addEvent.find("input.start-time").val(selectedDateTime.replace(".","").replace(".","")); 1044 1045 1046 if (time[1].indexOf("p.m.") != -1 ) { 1047 var startHours = startHours == 12 ? 12 : startHours; 1048 var startHours = startHours == 1 ? 13 : startHours; 1049 var startHours = startHours == 2 ? 14 : startHours; 1050 var startHours = startHours == 3 ? 15 : startHours; 1051 var startHours = startHours == 4 ? 16 : startHours; 1052 var startHours = startHours == 5 ? 17 : startHours; 1053 var startHours = startHours == 6 ? 18 : startHours; 1054 var startHours = startHours == 7 ? 19 : startHours; 1055 var startHours = startHours == 8 ? 20 : startHours; 1056 var startHours = startHours == 9 ? 21 : startHours; 1057 var startHours = startHours == 10 ? 22 : startHours; 1058 var startHours = startHours == 11 ? 23 : startHours; 1059 } else if (time[1].indexOf("a.m.") ) { 1060 var startHours = startHours == 12 ? 00 : startHours; 1061 } 1062 1063 1064 dtFormat = (time[1].indexOf("p.m.") != -1 || time[1].indexOf("a.m.") != -1) ? ((((User.preferences.defaultDuration / 60) + startHours) >= 12 && (startHours + (User.preferences.defaultDuration / 60)) < 24) ? " pm" : " am") : ""; 1065 1066 var newHours = ""; 1067 if(dtFormat){ 1068 hours = hours == 13 ? 01 : hours; 1069 hours = hours == 14 ? 02 : hours; 1070 hours = hours == 15 ? 03 : hours; 1071 hours = hours == 16 ? 04 : hours; 1072 hours = hours == 17 ? 05 : hours; 1073 hours = hours == 18 ? 06 : hours; 1074 hours = hours == 19 ? 07 : hours; 1075 hours = hours == 20 ? 08 : hours; 1076 hours = hours == 21 ? 09 : hours; 1077 hours = hours == 22 ? 10 : hours; 1078 hours = hours == 23 ? 11 : hours; 1079 hours = hours == 24 ? 12 : hours; 1080 } else { 1081 newHours = hours <= 9 ? "0" : ""; 1082 } 1083 1084 minutes = minutes.length == 1 ? "0"+minutes+dtFormat : minutes+dtFormat; 1085 newHours += hours.toString() + ":" +minutes; 1086 UI.dialogs.addEvent.find("input.end-time").val(newHours); 1087 1088 } 1089 1090 UI.dialogs.addEvent.find(".start-date").focusout(function(data){ 1091 UI.dialogs.addEvent.find(".end-date").val($(this).val()); 1092 }); 1038 dt = new Date(); 1039 dt.setHours(hh, mm); 1040 var startHours = dt.getHours(); 1041 add = parseInt(User.preferences.defaultDuration) + parseInt($("input.end-time").val().split(":")[1].substring(0,2)); 1042 dt.addMinutes(add); 1043 1044 1045 var minutes = dt.getMinutes().toString(); 1046 var hours = dt.getHours(); 1047 UI.dialogs.addEvent.find("input.start-time").val(selectedDateTime.replace(".","").replace(".","")); 1048 1049 1050 if (time[1].indexOf("p.m.") != -1 ) { 1051 var startHours = startHours == 12 ? 12 : startHours; 1052 var startHours = startHours == 1 ? 13 : startHours; 1053 var startHours = startHours == 2 ? 14 : startHours; 1054 var startHours = startHours == 3 ? 15 : startHours; 1055 var startHours = startHours == 4 ? 16 : startHours; 1056 var startHours = startHours == 5 ? 17 : startHours; 1057 var startHours = startHours == 6 ? 18 : startHours; 1058 var startHours = startHours == 7 ? 19 : startHours; 1059 var startHours = startHours == 8 ? 20 : startHours; 1060 var startHours = startHours == 9 ? 21 : startHours; 1061 var startHours = startHours == 10 ? 22 : startHours; 1062 var startHours = startHours == 11 ? 23 : startHours; 1063 } else if (time[1].indexOf("a.m.") ) { 1064 var startHours = startHours == 12 ? 00 : startHours; 1065 } 1066 1067 1068 dtFormat = (time[1].indexOf("p.m.") != -1 || time[1].indexOf("a.m.") != -1) ? ((((User.preferences.defaultDuration / 60) + startHours) >= 12 && (startHours + (User.preferences.defaultDuration / 60)) < 24) ? " pm" : " am") : ""; 1069 1070 var newHours = ""; 1071 if(dtFormat){ 1072 hours = hours == 13 ? 01 : hours; 1073 hours = hours == 14 ? 02 : hours; 1074 hours = hours == 15 ? 03 : hours; 1075 hours = hours == 16 ? 04 : hours; 1076 hours = hours == 17 ? 05 : hours; 1077 hours = hours == 18 ? 06 : hours; 1078 hours = hours == 19 ? 07 : hours; 1079 hours = hours == 20 ? 08 : hours; 1080 hours = hours == 21 ? 09 : hours; 1081 hours = hours == 22 ? 10 : hours; 1082 hours = hours == 23 ? 11 : hours; 1083 hours = hours == 24 ? 12 : hours; 1084 } else { 1085 newHours = hours <= 9 ? "0" : ""; 1086 } 1087 1088 minutes = minutes.length == 1 ? "0"+minutes+dtFormat : minutes+dtFormat; 1089 newHours += hours.toString() + ":" +minutes; 1090 UI.dialogs.addEvent.find("input.end-time").val(newHours); 1091 1092 } 1093 1094 UI.dialogs.addEvent.find(".start-date").focusout(function(data){ 1095 UI.dialogs.addEvent.find(".end-date").val($(this).val()); 1096 }); 1093 1097 1094 1098 var oldTime = UI.dialogs.addEvent.find('input.start-time').val(); 1095 $(".start-time").focusout(function(data){ 1096 if($("#calendar").fullCalendar('getView').name == "month" || buttonClicked) { 1097 setTime( $(this).val() ); 1098 } 1099 }); 1100 1101 UI.dialogs.addEvent.find('input.start-time').timepicker({ 1102 ampm : ((User.preferences.hourFormat.length > 5) ? true: false), 1103 timeFormat: "hh:mm tt", 1104 onSelect: function( selectedDateTime ){ 1105 if($("#calendar").fullCalendar('getView').name == "month" || buttonClicked) { 1106 if ( selectedDateTime.indexOf("p.m.") == -1 || !selectedDateTime.indexOf("a.m.") == -1 ) { 1107 var selectedTime = selectedDateTime.split(":"); 1108 var endTime = UI.dialogs.addEvent.find(".end-time").val(); 1109 endTime = endTime.split(":"); 1110 1111 var t1 = new Date(false,false,false,selectedTime[0],selectedTime[1],false); 1112 var t2 = new Date(false,false,false,endTime[0],endTime[1],false); 1113 1114 if (t1 < t2) return true; 1115 } 1116 1117 setTime( selectedDateTime ); 1118 } 1119 }, 1120 onClose : function (selectedDateTime){ 1121 fixHour(); 1122 } 1123 1124 }); 1125 1126 1127 1099 $(".start-time").focusout(function(data){ 1100 if($("#calendar").fullCalendar('getView').name == "month" || buttonClicked) { 1101 setTime( $(this).val() ); 1102 } 1103 }); 1104 1105 UI.dialogs.addEvent.find('input.start-time').timepicker({ 1106 ampm : ((User.preferences.hourFormat.length > 5) ? true: false), 1107 timeFormat: "hh:mm tt", 1108 onSelect: function( selectedDateTime ){ 1109 if($("#calendar").fullCalendar('getView').name == "month" || buttonClicked) { 1110 if ( selectedDateTime.indexOf("p.m.") == -1 || !selectedDateTime.indexOf("a.m.") == -1 ) { 1111 var selectedTime = selectedDateTime.split(":"); 1112 var endTime = UI.dialogs.addEvent.find(".end-time").val(); 1113 endTime = endTime.split(":"); 1114 1115 var t1 = new Date(false,false,false,selectedTime[0],selectedTime[1],false); 1116 var t2 = new Date(false,false,false,endTime[0],endTime[1],false); 1117 1118 if (t1 < t2) return true; 1119 } 1120 1121 setTime( selectedDateTime ); 1122 } 1123 }, 1124 onClose : function (selectedDateTime){ 1125 fixHour(); 1126 } 1127 1128 }); 1129 1130 1131 1128 1132 UI.dialogs.addEvent.find('input.end-time').timepicker({ 1129 1133 closeText: 'Ok', … … 1138 1142 $(this).val(selectedDateTime.replace(/[\.]/gi, "")); 1139 1143 updateMap(); 1140 1141 if ( selectedDateTime.indexOf("p.m.") == -1 || !selectedDateTime.indexOf("a.m.") == -1 ) { 1142 var startT = UI.dialogs.addEvent.find('input.start-time'); 1143 1144 var lessZeroTime = function( sTime ) { 1145 sTime = sTime.split(":"); 1146 sTime = new Date(false,false,false,sTime[0],sTime[1],false); 1147 sTimeReady = parseInt(sTime.getHours() - (User.preferences.defaultDuration / 60)); 1148 1149 if( sTimeReady < 0 ) 1150 return false; // If the value is less than 0, return false. 1151 1152 return sTimeReady.toString().length == 1 ? "0"+sTimeReady+":00" : sTimeReady+":00"; 1153 } 1154 1155 var hEnd = new Date(false,false,false,selectedDateTime.split(":")[0],selectedDateTime.split(":")[1],false); 1156 var hStart = new Date(false,false,false,startT.val().split(":")[0],startT.val().split(":")[1],false); 1157 1158 if ( hEnd <= hStart ){ 1159 var lessTime = lessZeroTime( selectedDateTime ); 1160 if ( !lessTime ){ 1161 startT.val( "00:00" ); 1162 return true; 1163 } 1164 startT.val( lessTime ); 1165 } 1166 } 1144 1145 if ( selectedDateTime.indexOf("p.m.") == -1 || !selectedDateTime.indexOf("a.m.") == -1 ) { 1146 var startT = UI.dialogs.addEvent.find('input.start-time'); 1147 1148 var lessZeroTime = function( sTime ) { 1149 sTime = sTime.split(":"); 1150 sTime = new Date(false,false,false,sTime[0],sTime[1],false); 1151 sTimeReady = parseInt(sTime.getHours() - (User.preferences.defaultDuration / 60)); 1152 1153 if( sTimeReady < 0 ) 1154 return false; // If the value is less than 0, return false. 1155 1156 return sTimeReady.toString().length == 1 ? "0"+sTimeReady+":00" : sTimeReady+":00"; 1157 } 1158 1159 var hEnd = new Date(false,false,false,selectedDateTime.split(":")[0],selectedDateTime.split(":")[1],false); 1160 var hStart = new Date(false,false,false,startT.val().split(":")[0],startT.val().split(":")[1],false); 1161 1162 if ( hEnd <= hStart ){ 1163 var lessTime = lessZeroTime( selectedDateTime ); 1164 if ( !lessTime ){ 1165 startT.val( "00:00" ); 1166 return true; 1167 } 1168 startT.val( lessTime ); 1169 } 1170 } 1167 1171 }, 1168 1172 onClose : function (selectedDateTime){ 1169 1173 if(!(User.preferences.hourFormat.length == 5)) 1170 1174 $(this).val(selectedDateTime.replace(/[\.]/gi, "")); 1171 fixHour(); 1175 fixHour(); 1172 1176 }, 1177 1173 1178 beforeShow: function (selectedDateTime) { 1174 1179 if ((selectedDateTime.value == '__:__') || (selectedDateTime.value == '__:__ __')) … … 1216 1221 var attendeeHtml = DataLayer.render( path+'templates/attendee_add.ejs', { 1217 1222 event:objEvent 1218 }); 1223 }); 1219 1224 1220 1225 // load template of attendees 1221 1226 var blkAddAtendee = UI.dialogs.addEvent.find('#calendar_addevent_details6').append(attendeeHtml); 1222 if(objEvent.attendee.length) 1227 if(objEvent.attendee.length) 1223 1228 callbackAttendee(); 1224 1229 /** … … 1598 1603 if ($(event.target).is('input')) { 1599 1604 old_item = $(event.target).parents('li'); 1600 1601 var userId = old_item.find('.id').html(); 1602 1603 if(userId == '') 1604 { 1605 var userId = DataLayer.put('user', { 1606 name: old_item.find('.name').html(), 1607 mail: old_item.find('.mail').html(), 1608 isExternal: '1' 1609 }); 1610 } 1611 1605 1606 var userId = old_item.find('.id').html(); 1607 1608 if(userId == '') 1609 { 1610 var userId = DataLayer.put('user', { 1611 name: old_item.find('.name').html(), 1612 mail: old_item.find('.mail').html(), 1613 isExternal: '1' 1614 }); 1615 } 1616 1612 1617 newAttendeeId = DataLayer.put('participant', { 1613 1618 user: userId, … … 1768 1773 DataLayer.render( 'templates/preferences_calendar.ejs', { 1769 1774 preferences:User.preferences, 1770 calendars: Calendar.calendars, 1771 signatureOf : Calendar.signatureOf 1775 calendars: Calendar.calendars, 1776 signatureOf : Calendar.signatureOf 1772 1777 }, function( template ){ 1773 1778 var tabPrefCalendar = jQuery('#preference_tab').html( template ).find('.preferences-win'); 1774 1779 1775 1780 tabPrefCalendar.find('select[name="defaultCalendar"] option[value="'+User.preferences.defaultCalendar+'"]').attr('selected','selected').trigger('change'); 1776 1781 tabPrefCalendar.find('select[name="dafaultImportCalendar"] option[value="'+User.preferences.dafaultImportCalendar+'"]').attr('selected','selected').trigger('change'); 1777 1778 DataLayer.render( 'templates/timezone_list.ejs', {}, function( timezones_options ){ 1779 1782 1783 DataLayer.render( 'templates/timezone_list.ejs', {}, function( timezones_options ){ 1780 1784 tabPrefCalendar.find('select[name="timezone"]').html(timezones_options).find('option[value="'+User.preferences.timezone+'"]').attr('selected','selected').trigger('change'); 1781 1785 }); … … 2103 2107 2104 2108 function getSelectedCalendars( reverse, type ){ 2105 var selector = !!type ? "div.my-groups-task .calendar-view" : "div.my-calendars .calendar-view, div.signed-calendars .calendar-view"; 2106 var returns = []; 2107 2108 $.each( $(selector), function(i , c){ 2109 2110 if( reverse ? !c.checked : c.checked ) 2111 returns.push( c.value ); 2112 2109 2110 var selector = ""; 2111 2112 switch(type) 2113 { 2114 case 0: 2115 selector = "div.my-calendars .calendar-view, div.signed-calendars .calendar-view"; 2116 break; 2117 case 1: 2118 selector = "div.my-groups-task .calendar-view"; 2119 break; 2120 case 2: 2121 selector = ".calendar-view"; 2122 break; 2123 } 2124 2125 // var selector = !!type ? "div.my-groups-task .calendar-view" : "div.my-calendars .calendar-view, div.signed-calendars .calendar-view"; 2126 var returns = []; 2127 2128 $.each( $(selector), function(i , c){ 2129 2130 if( reverse ? !c.checked : c.checked ) 2131 returns.push( c.value ); 2132 2113 2133 }); 2114 2115 if (!returns.length) 2116 return false; 2117 2118 return returns; 2134 2135 if (!returns.length) 2136 return false; 2137 2138 return returns; 2119 2139 } 2120 2140 … … 2173 2193 var schudableDecode = DataLayer.encode( "schedulable:preview", schedulable); 2174 2194 var me = schudableDecode.me.user ? schudableDecode.me.user.id : schudableDecode.me.id; 2175 2176 var filter = {filter: ['AND', ['=','id',eventId], ['=','calendar',idCalendar], ['=','user', me]]}; 2177 2195 var filter = {filter: ['AND', ['=','id',eventId], ['=','calendar',idCalendar], ['=','user', me] ] }; 2178 2196 if(type) 2179 2197 filter.filter.push(['=','type',type]); 2180 2181 2198 DataLayer.removeFilter('schedulable', filter); 2182 2199 Calendar.rerenderView(true); … … 2306 2323 2307 2324 }); 2308 2309 $('ul.list-calendars .cal-list-options-btn').on('click',function(){doMenu();}); 2325 2326 $('ul.list-calendars .cal-list-options-btn').on('click',function(){doMenu();}); 2310 2327 2311 2328 … … 2479 2496 show_modal_search_shared(); 2480 2497 }); 2481 2482 2498 2499 2483 2500 meu_container.find('.title-signed-calendars').click(function(evt){ 2484 2501 var status = $(this).parent().find('.status-list-shared'); … … 2491 2508 2492 2509 $('.calendar-view').click(function(evt){ 2493 2494 var checkBox = $(this); 2495 var calendarId = $(this).val(); 2496 2497 Calendar.signatureOf[ calendarId ].hidden = (checkBox.is(':checked') ? 0 : 1 ); 2498 2499 DataLayer.put('calendarSignature', {id: Calendar.signatureOf[ calendarId ].id , hidden: Calendar.signatureOf[ calendarId ].hidden } ); 2500 DataLayer.commit(); 2501 2502 2503 if($tabs.tabs('option' ,'selected') == 0){ 2504 2505 if(Calendar.currentView && !!Calendar.currentView[ calendarId ]){ 2506 2507 Calendar.currentView[ calendarId ].hidden = !checkBox.is(':checked'); 2508 $('#calendar').fullCalendar( 'refetchEvents' ); 2509 } 2510 2511 }else{ 2512 type = $tabs.tabs('option' ,'selected'); 2513 type = type > 2 ? 2 : (type - 1) 2514 2515 pageselectCallback('', 0, false, type); 2516 } 2510 2511 var checkBox = $(this); 2512 var calendarId = $(this).val(); 2513 2514 Calendar.signatureOf[ calendarId ].hidden = (checkBox.is(':checked') ? 0 : 1 ); 2515 2516 DataLayer.put('calendarSignature', {id: Calendar.signatureOf[ calendarId ].id , hidden: Calendar.signatureOf[ calendarId ].hidden } ); 2517 DataLayer.commit(); 2518 2519 2520 if($tabs.tabs('option' ,'selected') == 0){ 2521 2522 if(Calendar.currentView && !!Calendar.currentView[ calendarId ]){ 2523 2524 Calendar.currentView[ calendarId ].hidden = !checkBox.is(':checked'); 2525 $('#calendar').fullCalendar( 'refetchEvents' ); 2526 } 2527 2528 }else{ 2529 type = $tabs.tabs('option' ,'selected'); 2530 type = type > 2 ? 2 : (type - 1) 2531 2532 pageselectCallback('', 0, false, type); 2533 } 2517 2534 }); 2518 2535 }); … … 2624 2641 $(this).addClass('fc-state-hover'); 2625 2642 }, 2626 2643 2627 2644 function(){ 2628 2645 $(this).removeClass('fc-state-hover'); … … 2658 2675 else 2659 2676 pageselectCallback($(currentView+' [name = keyword]').val(), ((parseInt($(currentView+' [name = page_index]').val())) -1), view, type); 2660 }); 2661 if (currentView == "#tab_events_list_" || currentView == "#tab_tasks_list_") 2662 $(currentView+' .events-list.events-list-win.active .header-paginator .fc-header-left').find('span.fc-button-agendaWeek, span.fc-button-agendaDay').remove();2677 }); 2678 if (currentView == "#tab_events_list_" || currentView == "#tab_tasks_list_") 2679 $(currentView+' .events-list.events-list-win.active .header-paginator .fc-header-left').find('span.fc-button-agendaWeek, span.fc-button-agendaDay').remove(); 2663 2680 } 2664 2681 … … 2725 2742 case 'agendaWeek': 2726 2743 var dateStart = new Date().moveToDayOfWeek(dateCalendar.dayOfWeek[User.preferences.weekStart]); 2727 var dateEnd = new Date().moveToDayOfWeek(dateCalendar.dayOfWeek[User.preferences.weekStart]); 2728 dateEnd.setHours(0,0,0); 2729 dateStart.setHours(0,0,0); 2744 var dateEnd = new Date().moveToDayOfWeek(dateCalendar.dayOfWeek[User.preferences.weekStart]); 2745 dateEnd.setHours(0,0,0); 2746 dateStart.setHours(0,0,0); 2730 2747 rangeStart = dateStart.add({ days: (7 * page_index) }).getTime(); 2731 2748 rangeEnd = dateEnd.add({ days: (7 * page_index)+7 }).getTime(); … … 2739 2756 var dateStart = new Date().add({ years: page_index }); 2740 2757 var dateEnd = new Date().add({ years: page_index }); 2741 dateEnd.setHours(0,0,0); 2742 dateStart.setHours(0,0,0); 2758 dateEnd.setHours(0,0,0); 2759 dateStart.setHours(0,0,0); 2743 2760 if(dateStart.getMonth() != 0) 2744 2761 dateStart.moveToMonth(0, -1) … … 2804 2821 }; 2805 2822 } 2806 2823 2807 2824 var results = DataLayer.encode('schedulable:list', DataLayer.dispatch('modules/calendar/schedules', criteria)); 2808 2825 //var results = DataLayer.get('schedulable:detail', criteria); 2809 2826 keyword = ( keyword || '' ).replace( /\s+/g, "_" ); 2810 2827 } … … 2858 2875 var eventId = $(this).siblings('[name="eventid"]').val(); 2859 2876 var calendarId = $(this).siblings('[name="calendarid"]').val(); 2860 remove_event(eventId, calendarId, 2);2877 remove_event(eventId, calendarId, ( $(this).siblings('[name="eventtype"]').val() )); 2861 2878 event.stopImmediatePropagation() 2862 2879 }) … … 3131 3148 delete schedulable['historic']; 3132 3149 3133 schedulable.participants = $.map( participants, function( attendee, i ){ 3134 3135 var participant = DataLayer.get('participant', attendee, false); 3136 3137 if(typeof(participant) == 'array') 3138 participant = participant[0]; 3139 3140 if(owner.id != participant.user) 3141 delete participant.status; 3142 3143 delete participant.delegatedFrom; 3144 delete participant.id; 3145 delete participant.schedulable; 3146 3147 participant.id = DataLayer.put('participant', participant); 3148 3149 return (parseInt(type) == 3) ? participant.id : participant ; 3150 }); 3151 3150 schedulable.participants = $.map( participants, function( attendee, i ){ 3151 3152 var participant = DataLayer.get('participant', attendee, false); 3153 3154 if(typeof(participant) == 'array') 3155 participant = participant[0]; 3156 3157 if(owner.id != participant.user) 3158 delete participant.status; 3159 3160 delete participant.delegatedFrom; 3161 delete participant.id; 3162 delete participant.schedulable; 3163 3164 participant.id = DataLayer.put('participant', participant); 3165 3166 return (parseInt(type) == 3) ? participant.id : participant ; 3167 }); 3168 3152 3169 //Edit ocurrence 3153 3170 if(parseInt(type) == 3){
Note: See TracChangeset
for help on using the changeset viewer.