- Timestamp:
- 06/07/12 21:13:08 (12 years ago)
- Location:
- trunk
- Files:
-
- 1 added
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoAdmin1_2/index.php
r5804 r6444 34 34 35 35 <script type="text/javascript" src="../prototype/modules/calendar/js/calendar.codecs.js"></script> 36 <script type="text/javascript" src="../prototype/modules/calendar/js/load.js"></script> 36 37 37 38 <script type="text/javascript" src="js/jscode/assing_calendar.js"></script> -
trunk/expressoMail1_2/js/main.js
r6426 r6444 3533 3533 //$.ajax({ url: "../expressoCalendar/index.php", async: false}); 3534 3534 //$.ajax({url: "../prototype/modules/calendar/js/calendar.date.js", async: false, beforeSend: function( xhr ) { xhr.overrideMimeType('text/javascript; charset=ISO-8859-1')}}); 3535 $.ajax({url: "../prototype/modules/calendar/js/load.js", async: false, beforeSend: function( xhr ) {xhr.overrideMimeType('text/javascript; charset=ISO-8859-1')}}); 3535 3536 $.ajax({url: "../prototype/modules/calendar/js/map.disponibility.js", async: false, beforeSend: function( xhr ) {xhr.overrideMimeType('text/javascript; charset=ISO-8859-1')}}); 3536 3537 $.ajax({url: "../prototype/modules/calendar/js/helpers.js", async: false, beforeSend: function( xhr ) {xhr.overrideMimeType('text/javascript; charset=ISO-8859-1')}}); -
trunk/prototype/api/datalayer.js
r6443 r6444 631 631 632 632 rollback: function( concept, ids ){ 633 633 if(!DataLayer.storage.cache[':diff']) 634 return false; 634 635 if(concept){ 635 636 if(ids){ -
trunk/prototype/modules/calendar/js/calendar.codecs.js
r6419 r6444 144 144 }); 145 145 146 Refresh = {147 //Tempo em que após a ultima sincronização será verificado atualizações148 timeRefresh : 180,149 clookRefresh: false,150 151 init: function(){152 153 delete DataLayer.tasks[this.clookRefresh];154 155 //Realiza agendamentos de atualização de view somente se o módulo aberto for expressoCalendar156 if(User.moduleName == "expressoCalendar"){157 this.clookRefresh = (parseInt(($.now()) / 1000) + this.timeRefresh);158 159 DataLayer.task( this.clookRefresh , function(){160 Calendar.rerenderView(true);161 });162 }163 }164 }165 166 Calendar = {167 168 load: function(){169 this.lastView = 0;170 var filter = ['=', 'user', User.me.id];171 if(!!User.me.gidNumber){172 if(!$.isArray(User.me.gidNumber))173 User.me.gidNumber = [User.me.gidNumber];174 175 filter = ['OR', filter, ['IN', 'user', User.me.gidNumber]];176 }177 178 //var descart = DataLayer.get("calendarSignature", {filter: filter, criteria: {deepness: 2}});179 this.signatures = DataLayer.get("calendarSignature", {180 filter: filter,181 criteria: {182 deepness: 2183 }184 });185 186 var prevSources = this.sources;187 188 this.sources = DataLayer.encode( "calendarSignature:calendar", this.signatures );189 190 if( prevSources )191 {192 var newSources = this.sources.slice();193 194 for( var i = 0; i < newSources.length; i++ )195 $('#calendar').fullCalendar( 'addEventSource', newSources[i] );196 197 for( var i = 0; i < prevSources.length; i++ )198 $('#calendar').fullCalendar( 'removeEventSource', prevSources[i] );199 }200 201 this.calendarIds = [], this.signatureOf = {}, this.calendars = [], this.calendarOf= {};202 203 for( var i = 0; i < this.signatures.length; i++ ){204 if(this.signatures[i].isOwner == "0")205 this.signatures[i].permission = DataLayer.encode('calendarToPermission:detail', this.signatures[i].permission);206 this.signatureOf[ this.calendarIds[i] = ( this.calendars[ this.calendars.length ] = this.calendarOf[ this.signatures[i].id ] = this.signatures[i].calendar ).id ] = this.signatures[i];207 }208 209 delete Calendar.currentViewKey;210 Refresh.init();211 },212 213 rerenderView: function(force){214 //TODO - Remover if quando centralizar o objeto User que contem as informações do usuário logado em um local acessível a todos módulos215 if(User.moduleName == "expressoCalendar"){216 if((typeof($tabs) != "undefined") && $tabs.tabs('option' ,'selected') == 0){217 if(force){218 delete Calendar.currentViewKey;219 $('#calendar').fullCalendar( 'refetchEvents' );220 221 //Recarrega os alarmes de eventos222 Alarms.load();223 224 Refresh.init();225 }226 227 var calendarNotSelected = getSelectedCalendars( true );228 for(var i = 0; i < calendarNotSelected.length; i++)229 if(!!Calendar.currentView[ calendarNotSelected[i] ])230 Calendar.currentView[ calendarNotSelected[i] ].hidden = true;231 232 $('#calendar').fullCalendar( 'refetchEvents' );233 234 contentMenu();235 }else if((typeof($tabs) != "undefined") && $tabs.tabs('option' ,'selected') != 0)236 pageselectCallback($('.events-list-win.active [name=keyword]').val(), 0);237 }238 }239 }240 241 Alarms = {242 load: function(){243 var eventsDay = DataLayer.get('alarm:schedulable',['=', 'date', Date.today().getTime()]);244 if(eventsDay)245 for(var i = 0; i < eventsDay.length; i++){246 this.addAlarm( eventsDay[i] );247 }248 },249 250 addAlarm: function( eventDay ){251 if(!DataLayer.tasks[parseInt(eventDay.sendTime)]){252 DataLayer.task( parseInt(eventDay.sendTime) , function( timestamp ){253 var path = User.moduleName == 'expressoCalendar' ? '' : '../prototype/modules/calendar/';254 DataLayer.render(path+'templates/alarm.ejs',{255 event: eventDay256 }, function( html ){257 $.Zebra_Dialog(html , {258 'type': 'question',259 'overlay_opacity': '0.5',260 'buttons': ['Fechar'],261 'onClose': function(clicked) {}262 });263 });264 });265 }266 }267 }268 269 146 DataLayer.codec( "modulePreference", "detail", { 270 147 decoder: function( evtObj ){ … … 309 186 } 310 187 }); 311 312 User.init();313 Calendar.load();314 188 315 189 /*Todo Melhorias serão feitas na API*/ … … 475 349 return { 476 350 participant : meAttendee(form.attendee), 477 startTime: Date.parseExact(form.startDate + (!!form.allDay ? " 00:00": " "+$.trim(form.startHour)) , formatString ).toString('yyyy-MM-dd HH:mm:00'),478 endTime: Date.parseExact(form.endDate + ( !!form.allDay ? " 00:00": " "+$.trim(form.endHour)), formatString ).toString('yyyy-MM-dd HH:mm:00'),351 startTime: Date.parseExact(form.startDate + " "+$.trim(form.startHour) , formatString ).toString(!!form.allDay ? 'yyyy-MM-dd 00:00:00' : 'yyyy-MM-dd HH:mm:00'), 352 endTime: Date.parseExact(form.endDate + " "+$.trim(form.endHour), formatString ).toString(!!form.allDay ? 'yyyy-MM-dd 00:00:00' : 'yyyy-MM-dd HH:mm:00'), 479 353 allDay: ( !!form.allDay ? 1 : 0 ), 480 354 schedulable: form.idEvent … … 569 443 if(form.startDate){ 570 444 var tzId = DataLayer.get('schedulable', form.idEvent).timezone || User.preferences.timezone, 571 formatString = ( typeof form.allDay !== "undefined" && !!form.allDay )? pref.dateFormat+" HH:mm" :pref.dateFormat + " " + pref.hourFormat;445 formatString = pref.dateFormat + " " + pref.hourFormat; 572 446 573 447 DataLayer.put('notification', { … … 766 640 patati['byday'] = day.join(','); 767 641 768 var formatString = ( typeof form.allDay !== "undefined" && !!form.allDay )? User.preferences.dateFormat+" HH:mm" : User.preferences.dateFormat + " " + User.preferences.hourFormat; 769 770 var date = Date.parseExact( form.startDate + (!!form.allDay ? " 00:00": " "+$.trim(form.startHour)) , formatString ); 771 772 patati['startTime'] = date.toString('yyyy-MM-dd HH:mm:00'); 642 var formatString = User.preferences.dateFormat + " " + User.preferences.hourFormat; 643 644 patati['startTime'] = Date.parseExact( form.startDate + " "+$.trim(form.startHour) , formatString ).toString(!!form.allDay ? 'yyyy-MM-dd 00:00:00' : 'yyyy-MM-dd HH:mm:00'); 773 645 774 646 if( !patati['byday'] ) … … 792 664 793 665 if (($(".endRepeat").val() == 'customDate')) 794 patati['endTime'] = Date.parseExact( $(".customDateEnd").val() + ( !!form.allDay ? " 00:00": " "+$.trim(form.endHour)) , formatString ).toString('yyyy-MM-dd HH:mm:00');666 patati['endTime'] = Date.parseExact( $(".customDateEnd").val() + (" "+$.trim(form.endHour)) , formatString ).toString(!!form.allDay ? 'yyyy-MM-dd 00:00:00' : 'yyyy-MM-dd HH:mm:00'); 795 667 796 668 patati['interval'] = $(".eventInterval").val(); … … 841 713 var tzId = form.timezone || Calendar.signatureOf[form.calendar].calendar.timezone || User.preferences.timezone, 842 714 843 formatString = ( typeof form.allDay !== "undefined" && !!form.allDay )? pref.dateFormat+" HH:mm" :pref.dateFormat + " " + pref.hourFormat;715 formatString = pref.dateFormat + " " + pref.hourFormat; 844 716 845 717 var Owner = decodeOwnerCalendar(form.calendar); … … 847 719 return DataLayer.merge({ 848 720 "class": form["class"], 849 startTime: Date.parseExact(form.startDate + (!!form.allDay ? " 00:00": " "+$.trim(form.startHour)) , formatString ).toString('yyyy-MM-dd HH:mm:00'),850 endTime: Date.parseExact(form.endDate + ( !!form.allDay ? " 00:00": " "+$.trim(form.endHour)), formatString ).toString('yyyy-MM-dd HH:mm:00'), //+ (!!form.allDay ? 86400000 : 0) ,721 startTime: Date.parseExact(form.startDate + " "+$.trim(form.startHour) , formatString ).toString(!!form.allDay ? 'yyyy-MM-dd 00:00:00' : 'yyyy-MM-dd HH:mm:00'), 722 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) , 851 723 allDay: ( !!form.allDay ? 1 : 0 ), 852 724 id: form.idEvent, … … 1239 1111 }); 1240 1112 1241 Alarms.load();1113 User.init(); 1242 1114 1243 1115 // DataLayer.decoder( "participant", "detail", function( form ){ -
trunk/prototype/modules/calendar/js/calendar.date.js
r5510 r6444 143 143 return dateFormat( date, format.replace(/m/g, 'M') ); 144 144 145 }, 146 147 toString: function(date, format){ 148 return dateFormat( date, format.replace(/M/g, 'm') ); 149 }, 150 151 decodeRange: function(date, range){ 152 return (parseInt(date.getTime()) + (range * 60000)); 145 153 } 146 147 148 154 149 155 } -
trunk/prototype/modules/calendar/js/helpers.js
r6412 r6444 13 13 14 14 function validDateEvent(){ 15 16 var errors = { 17 'emptyInitData': 'Por favor, informe uma data inicial', 18 'emptyEndData': 'Por favor, informe uma data final', 19 'emptyInitHour': 'Por favor, informe uma hora inicial', 20 'emptyEndHour': 'Por favor, informe uma hora final', 21 22 'invalidInitData' : 'Data inicial inválida', 23 'invalidEndData' : 'Data final inválida', 24 25 'equalData' : 'Hora inicial igual a final', 26 'theirData' : 'Hora final menor que a inicial', 27 28 'emptyOcurrence' : 'Por favor, informe o número de ocorrências', 29 'invalidOcurrence' : 'Por favor, informe um valor válido para a quantidade de ocorrências', 30 31 'emptyInterval' : 'Por favor, informe o intervalo', 32 'invalidInterval' : 'Por favor informe um valor válido para o intervalo' 33 }; 34 15 35 var start_date = $(".new-event-win.active .start-date").val(); 16 36 var end_date = $(".new-event-win.active .end-date").val(); … … 23 43 24 44 if(start_date == "") 25 return 'Por favor, informe uma data inicial';45 return errors['emptyInitData']; 26 46 else if(end_date == "") 27 return 'Por favor, informe uma data final';47 return errors['emptyEndData']; 28 48 else if(!isAllDay && start_time == "") 29 return 'Por favor, informe uma hora inicial';49 return errors['emptyInitHour']; 30 50 else if(!isAllDay && end_time == "") 31 return 'Por favor, informe uma hora final';32 33 var formatString = (isAllDay)? User.preferences.dateFormat+" HH:mm" :User.preferences.dateFormat + " " + User.preferences.hourFormat;34 35 var startDate = Date.parseExact( isAllDay ? start_date+ " 00:00":start_date + " " + $.trim(start_time) , formatString );36 var endDate = Date.parseExact( isAllDay ? end_date+ " 00:00":end_date + " " + $.trim(end_time) , formatString );51 return errors['emptyEndHour']; 52 53 var formatString = User.preferences.dateFormat + " " + User.preferences.hourFormat; 54 55 var startDate = Date.parseExact( start_date + " " + $.trim(start_time) , formatString ); 56 var endDate = Date.parseExact( end_date + " " + $.trim(end_time) , formatString ); 37 57 38 58 if(startDate == null || startDate.getTime() < 0 ) 39 return 'Data inicial inválida';59 return errors['invalidInitData']; 40 60 if(endDate == null || endDate.getTime() < 0) 41 return 'Data final inválida'; 42 43 if((endDate.compareTo(startDate) != 1) && !((endDate.compareTo(startDate) == 0) && (isAllDay))){ 44 return (start_date == end_date) ? 45 ((end_time == start_time) ? 'Hora inicial igual a final' : 'Hora final menor que a inicial') : 46 'Data final menor que a inicial'; 47 } 61 return errors['invalidEndData']; 62 63 if(isAllDay){ 64 startDate.clearTime(); 65 endDate.clearTime(); 66 if(endDate.compareTo(startDate) == -1) 67 return errors['theirData']; 68 }else{ 69 var conditon = endDate.compareTo(startDate); 70 if(conditon != 1) 71 return errors[conditon == 0 ? 'equalData' : 'theirData']; 72 } 48 73 49 if (customDate){ 50 if ( !($('.new-event-win.active .customDateEnd').val().length) ) 51 return 'Por favor, informe uma data final'; 52 } 53 74 if (customDate) 75 if ( !($('.new-event-win.active .customDateEnd').val().length) ) 76 return errors['emptyEndData']; 77 54 78 if (occurrences){ 55 if ( !($('.occurrencesEnd').val().length) )56 return 'Por favor, informe o número de ocorrências';57 58 return 'Por favor, informe um valor válido para a quantidade de ocorrências';59 79 if ( !($('.occurrencesEnd').val().length) ) 80 return errors['emptyOcurrence']; 81 else if (parseInt($('.occurrencesEnd').val(),10) <= 0 || parseInt($('.occurrencesEnd').val(),10).toString() == "NaN") 82 return errors['invalidOcurrence']; 83 } 60 84 61 85 if (!($('.new-event-win.active p.input-group.finish_event.repeat-in').hasClass('hidden'))){ 62 86 if (!eventInterval.length) 63 return 'Por favor, informe o intervalo';87 return errors['emptyInterval']; 64 88 else if (parseInt(eventInterval,10) < 1 || parseInt(eventInterval,10).toString() == "NaN") 65 return 'Por favor informe um valor válido para o intervalo';89 return errors['invalidInterval']; 66 90 } 67 91 return false; … … 453 477 454 478 UI.dialogs.addEvent.find('#calendar_addevent_details3').html(repeatHtml); 455 $(".date").datepicker(); 479 $(".date").datepicker({ 480 dateFormat: User.preferences.dateFormat.replace(/M/g, 'm').replace(/yyyy/g, 'yy') 481 }); 456 482 457 483 if(objEvent.repeat) … … 821 847 822 848 var dates = UI.dialogs.addEvent.find('input.date').datepicker({ 823 dateFormat: 'dd/mm/yy',849 dateFormat: User.preferences.dateFormat.replace(/M/g, 'm').replace(/yyyy/g, 'yy'), 824 850 onSelect : function( selectedDate ){ 825 851 updateMap(); … … 2470 2496 } 2471 2497 // não há resultados 2498 2499 var currentView = '#tab_events_list_' + ((Base64.encode(keyword)).replace(/[^\w\s]/gi, "") || ''); 2500 2472 2501 if ((((typeof(results) == 'undefined') || (!results.events_list )) && selecteds) &&(keyword != '' && keyword != null)) { 2473 jQuery('#tab_events_list_' + ((Base64.encode(keyword)).replace(/[^\w\s]/gi, "")|| '')).html(2474 '<div title="Lista de eventos" class="events-list events-list-win active empty">' +2475 '<label>Não foi encontrado nenhum evento correspondente à sua pesquisa.</label>' +2476 '</div>'2502 $(currentView).html( 2503 '<div title="Lista de eventos" class="events-list events-list-win active empty">' + 2504 '<label>Não foi encontrado nenhum evento correspondente à sua pesquisa.</label>' + 2505 '</div>' 2477 2506 ); 2478 2507 // há resultados e Agendas Selecionadas 2479 2508 } else{ 2480 2509 if(typeof(results) != 'undefined'){ 2481 results['page_index'] = page_index; 2482 results['keyword'] = keyword; 2483 2484 DataLayer.render( 'templates/event_list.ejs', results, function( html ){ 2485 var currentView = '#tab_events_list_' + ((Base64.encode(keyword)).replace(/[^\w\s]/gi, "") || ''); 2486 jQuery(currentView).html( html ); 2487 jQuery('.events-list-win .menu-container .button').button(); 2488 2489 $(".event-details-item").parent().click(function(){ 2490 2491 $(this).siblings("div.details-event-list").toggleClass("hidden") 2492 .find('.button.delete').click(function(){ 2493 var eventId = $(this).siblings('[name="eventid"]').val(); 2494 var calendarId = $(this).siblings('[name="calendarid"]').val(); 2495 2496 remove_event(eventId, calendarId); 2497 }) 2498 .end().find('.button.edit').click(function(){ 2499 eventDetails( DataLayer.get( "schedulable", $(this).siblings('[name="eventid"]').val() ), true ); 2510 results['page_index'] = page_index; 2511 results['keyword'] = keyword; 2512 2513 DataLayer.render( 'templates/event_list.ejs', results, function( html ){ 2514 2515 $(currentView).html( html ); 2516 $('.events-list-win .menu-container .button').button(); 2517 2518 $(".event-details-item").parent().click(function(){ 2519 2520 $(this).siblings("div.details-event-list").toggleClass("hidden") 2521 .find('.button.delete').click(function(){ 2522 var eventId = $(this).siblings('[name="eventid"]').val(); 2523 var calendarId = $(this).siblings('[name="calendarid"]').val(); 2524 2525 remove_event(eventId, calendarId); 2526 }) 2527 .end().find('.button.edit').click(function(){ 2528 eventDetails( DataLayer.get( "schedulable", $(this).siblings('[name="eventid"]').val() ), true ); 2529 }); 2530 2531 }); 2532 paginatorListEvent(currentView, (keyword == '' || keyword == null) ? 'list' : 'search', !!view ? view : User.preferences.defaultCalView); 2500 2533 }); 2501 2502 });2503 paginatorListEvent(currentView, (keyword == '' || keyword == null) ? 'list' : 'search', !!view ? view : User.preferences.defaultCalView);2504 });2505 2534 }else{ 2506 var currentView = '#tab_events_list_' + ((Base64.encode(keyword)).replace(/[^\w\s]/gi, "") || ''); 2507 jQuery('#tab_events_list_' + ((Base64.encode(keyword)).replace(/[^\w\s]/gi, "")|| '')).html( 2508 '<div title="Lista de eventos" class="events-list events-list-win active empty">' + 2509 '<input type="hidden" name="page_index" value="'+page_index+'"></inpunt>'+ 2510 '<input type="hidden" name="keyword" value="'+keyword+'"></inpunt>'+ 2511 '<label class="empty-result">Não foram encontrados eventos neste intervalo.</label>' + 2512 '</div>' 2513 ); 2514 paginatorListEvent(currentView, 'list', !!view ? view : User.preferences.defaultCalView); 2515 } 2516 2517 } 2518 2535 $(currentView).html( 2536 '<div title="Lista de eventos" class="events-list events-list-win active empty">' + 2537 '<input type="hidden" name="page_index" value="'+page_index+'"></inpunt>'+ 2538 '<input type="hidden" name="keyword" value="'+keyword+'"></inpunt>'+ 2539 '<label class="empty-result">Não foram encontrados eventos neste intervalo.</label>' + 2540 '</div>' 2541 ); 2542 paginatorListEvent(currentView, 'list', !!view ? view : User.preferences.defaultCalView); 2543 } 2544 } 2545 $tabs.tabs("select", currentView); 2519 2546 } 2520 2547 -
trunk/prototype/modules/calendar/js/init.js
r5947 r6444 137 137 -----------------------------------------------------------------*/ 138 138 $(".button.add.add-event").click(function(event){ 139 var startEvent = new Date(); 140 if(startEvent.toString('mm') < 30) 141 startEvent.add({minutes: (30 - parseInt(startEvent.toString('mm')))}); 142 else 143 startEvent.add({hours: 1, minutes: '-'+startEvent.toString('mm')}); 144 var endEvent = function(date){ 145 if(!!User.preferences.defaultCalendar){ 146 return parseInt(date.getTime()) + 147 ( !!Calendar.signatureOf[User.preferences.defaultCalendar].calendar.defaultDuration ? 148 (Calendar.signatureOf[User.preferences.defaultCalendar].calendar.defaultDuration * 60000) : 149 (User.preferences.defaultDuration * 60000) 150 ); 151 }else 152 return parseInt(date.getTime()) + (User.preferences.defaultDuration * 60000); 153 }; 154 139 var startEvent = new Date(); 140 var configData = (startEvent.toString('mm') < 30) ? {minutes: (30 - parseInt(startEvent.toString('mm')))} : {hours: 1, minutes: '-'+startEvent.toString('mm')}; 141 startEvent.add(configData); 142 155 143 eventDetails({ 156 144 startTime: startEvent.getTime(), 157 endTime: endEvent(startEvent) 145 endTime: dateCalendar.decodeRange(startEvent, (!!User.preferences.defaultCalendar ? ( !!Calendar.signatureOf[User.preferences.defaultCalendar].calendar.defaultDuration ? 146 (Calendar.signatureOf[User.preferences.defaultCalendar].calendar.defaultDuration) : (User.preferences.defaultDuration)) : (User.preferences.defaultDuration))) 158 147 }, true ); 159 148 }); -
trunk/prototype/modules/calendar/js/map.disponibility.js
r6327 r6444 15 15 var isAllDay = $('.new-event-win.active input[name="allDay"]').is(':checked'); 16 16 17 var formatString = (isAllDay)? User.preferences.dateFormat+" HH:mm" :User.preferences.dateFormat + " " + User.preferences.hourFormat;17 var formatString = User.preferences.dateFormat + " " + User.preferences.hourFormat; 18 18 19 var startDate = Date.parseExact( isAllDay ? start_date+ " 00:00":start_date + " " + $.trim(start_time) , formatString );20 var endDate = Date.parseExact( isAllDay ? end_date+ " 00:00":end_date + " " + $.trim(end_time) , formatString );19 var startDate = Date.parseExact( start_date + " " + $.trim(start_time) , formatString ); 20 var endDate = Date.parseExact( end_date + " " + $.trim(end_time) , formatString ); 21 21 22 22 … … 36 36 37 37 function disponibily(objEvent, path, attendees){ 38 var formatString = (objEvent.allDay)? User.preferences.dateFormat+" HH:mm" :User.preferences.dateFormat + " " + User.preferences.hourFormat;39 var startDate = Date.parseExact( objEvent. allDay ? objEvent.startDate+ " 00:00": objEvent.startDate + " " + $.trim(objEvent.startHour) , formatString );40 var endDate = Date.parseExact( objEvent. allDay ? objEvent.endDate+ " 00:00": objEvent.endDate + " " + $.trim(objEvent.endHour) , formatString );38 var formatString = User.preferences.dateFormat + " " + User.preferences.hourFormat; 39 var startDate = Date.parseExact( objEvent.startDate + " " + $.trim(objEvent.startHour) , formatString ); 40 var endDate = Date.parseExact( objEvent.endDate + " " + $.trim(objEvent.endHour) , formatString ); 41 41 42 42 var mapHtml = DataLayer.render( path+'templates/availability_map.ejs', {}); … … 44 44 $("#new_event_map").fullCalendar(DataLayer.merge({ 45 45 height : 300, 46 timeFormat: { 47 agenda: 'HH:mm{ - HH:mm}', 48 '': 'HH:mm{ - HH:mm} }' 49 }, 46 timeFormat: User.preferences.hourFormat, 50 47 axisFormat: User.preferences.hourFormat, 51 48 firstDay: dateCalendar.dayOfWeek[User.preferences.weekStart], … … 76 73 $("#new_event_map").fullCalendar( 'updateEvent', event2 ); 77 74 78 $('[name="startDate"]').val(start.toString( "dd/MM/yyyy"));79 $('[name="endDate"]').val(end.toString( "dd/MM/yyyy"));75 $('[name="startDate"]').val(start.toString(User.preferences.dateFormat)); 76 $('[name="endDate"]').val(end.toString(User.preferences.dateFormat)); 80 77 if(!allDay){ 81 78 $('[name="allDay"]').attr("checked", false); 82 79 UI.dialogs.addEvent.find('.start-time, .end-time').removeClass('hidden'); 83 80 84 $('[name="startHour"]').val(start.toString( "HH:mm"));81 $('[name="startHour"]').val(start.toString(User.preferences.hourFormat)); 85 82 if(end){ 86 $('[name="endHour"]').val(end.toString( "HH:mm"));83 $('[name="endHour"]').val(end.toString(User.preferences.hourFormat)); 87 84 } 88 85 }else{ … … 108 105 $('[name="allDay"]').attr("checked", true); 109 106 UI.dialogs.addEvent.find('.start-time, .end-time').addClass('hidden'); 110 $('[name="startDate"]').val(event.start.toString("dd/MM/yyyy")); 111 if(event.end) 112 $('[name="endDate"]').val(event.end.toString("dd/MM/yyyy")); 113 else 114 $('[name="endDate"]').val(event.start.toString("dd/MM/yyyy")); 115 return; 107 108 $('[name="startDate"]').val(dateCalendar.toString(event.start, User.preferences.dateFormat)); 109 $('[name="endDate"]').val(dateCalendar.toString((event.end ? event.end : event.start), User.preferences.dateFormat)); 110 116 111 }else{ 117 112 $('[name="allDay"]').attr("checked", false); 118 113 UI.dialogs.addEvent.find('.start-time, .end-time').removeClass('hidden'); 114 115 $('[name="startHour"]').val(dateCalendar.formatDate(event.start, User.preferences.hourFormat)); 116 $('[name="startDate"]').val(dateCalendar.toString(event.start, User.preferences.dateFormat)); 117 118 $('[name="endHour"]').val(dateCalendar.formatDate((event.end ? event.end : new Date(dateCalendar.decodeRange(event.start, 120))), User.preferences.hourFormat)); 119 120 $('[name="endDate"]').val(dateCalendar.toString(event.end ? event.end : event.start , User.preferences.dateFormat)); 119 121 } 120 $('[name="startHour"]').val(event.start.toString("HH:mm"));121 $('[name="startDate"]').val(event.start.toString("dd/MM/yyyy"));122 if(event.end){123 $('[name="endHour"]').val(event.end.toString("HH:mm"));124 $('[name="endDate"]').val(event.end.toString("dd/MM/yyyy"));125 }else126 $('[name="endDate"]').val(event.start.toString("dd/MM/yyyy"));127 122 }, 128 123 eventResize: function(event,dayDelta,minuteDelta,revertFunc) { 129 if(event.end){ 130 $('[name="endHour"]').val(event.end.toString("HH:mm")); 131 $('[name="endDate"]').val(event.end.toString("dd/MM/yyyy")); 132 }else 133 $('[name="endDate"]').val(event.start.toString("dd/MM/yyyy")); 124 if(event.end) 125 $('[name="endHour"]').val(dateCalendar.formatDate(event.end, User.preferences.hourFormat)); 126 127 $('[name="endDate"]').val(dateCalendar.toString(event.end ? event.end : event.start , User.preferences.dateFormat)); 134 128 135 129 }, 136 130 defaultView : "agendaWeek" 137 131 }, dateCalendar)); 138 132 var eventSource = new Array(); -
trunk/prototype/modules/calendar/templates/index.ejs
r5957 r6444 91 91 <script type='text/javascript' src='<?= MODULESURL ?>/js/timezone.js'></script> 92 92 <script type='text/javascript' src='<?= MODULESURL ?>/js/calendar.codecs.js'></script> 93 <script type='text/javascript' src='<?= MODULESURL ?>/js/load.js'></script> 93 94 94 95 <script type='text/javascript' src='<?= MODULESURL ?>/js/I18n.js'></script>
Note: See TracChangeset
for help on using the changeset viewer.