From 724b2adbbd5ecfa7e99d9b300e0700a8b0dd2bcd Mon Sep 17 00:00:00 2001 From: yuri Date: Wed, 11 Mar 2015 16:09:08 +0200 Subject: [PATCH] fix calendar date-end --- .../crm/src/views/calendar/calendar.js | 36 +++++++++++++++---- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/frontend/client/modules/crm/src/views/calendar/calendar.js b/frontend/client/modules/crm/src/views/calendar/calendar.js index 4533979403..f9f3589d57 100644 --- a/frontend/client/modules/crm/src/views/calendar/calendar.js +++ b/frontend/client/modules/crm/src/views/calendar/calendar.js @@ -185,14 +185,20 @@ Espo.define('Crm:Views.Calendar.Calendar', ['View', 'lib!FullCalendar'], functio return "#"+(0x1000000+(Math.round((t-R)*p)+R)*0x10000+(Math.round((t-G)*p)+G)*0x100+(Math.round((t-B)*p)+B)).toString(16).slice(1); }, - handleAllDay: function (event) { + handleAllDay: function (event, notInitial) { if (event.scope == 'Task') { event.allDay = true; - if (!event.start || !event.end) { + if (!notInitial) { if (event.end) { event.start = event.end; } - } + } /*else { + if (!event.start || !event.end) { + if (event.end) { + event.start = event.end; + } + } + }*/ return; } @@ -208,6 +214,11 @@ Espo.define('Crm:Views.Calendar.Calendar', ['View', 'lib!FullCalendar'], functio (event.end.unix() - event.start.unix() >= 86400) ) { event.allDay = true; + if (!notInitial) { + if (event.end.hours() != 0 || event.end.minutes() != 0) { + event.end.add(1, 'days'); + } + } } else { event.allDay = false; } @@ -332,7 +343,18 @@ Espo.define('Crm:Views.Calendar.Calendar', ['View', 'lib!FullCalendar'], functio } var attributes = {}; - if (!event.dateStart && event.dateEnd) { + + if (event.dateStart) { + event.dateStart = this.convertTime(this.getDateTime().toMoment(event.dateStart).add(delta)); + attributes.dateStart = event.dateStart; + } + if (event.dateEnd) { + event.dateEnd = this.convertTime(this.getDateTime().toMoment(event.dateEnd).add(delta)); + attributes.dateEnd = event.dateEnd; + } + + + /*if (!event.dateStart && event.dateEnd) { attributes.dateEnd = dateStart; event.dateEnd = attributes.dateEnd; } else { @@ -344,7 +366,7 @@ Espo.define('Crm:Views.Calendar.Calendar', ['View', 'lib!FullCalendar'], functio attributes.dateEnd = dateEnd; event.dateEnd = dateEnd; } - } + }*/ if (!event.end) { if (event.scope != 'Task') { @@ -354,7 +376,7 @@ Espo.define('Crm:Views.Calendar.Calendar', ['View', 'lib!FullCalendar'], functio event.allDay = false; - this.handleAllDay(event); + this.handleAllDay(event, true); this.fillColor(event); @@ -362,7 +384,7 @@ Espo.define('Crm:Views.Calendar.Calendar', ['View', 'lib!FullCalendar'], functio this.getModelFactory().create(event.scope, function (model) { model.once('sync', function () { this.notify(false); - }.bind(this)); + }, this); model.id = event.recordId; model.save(attributes, {patch: true}); }, this);