diff options
-rw-r--r-- | jquery.weekcalendar.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/jquery.weekcalendar.js b/jquery.weekcalendar.js index eaaaf64..e2724d6 100644 --- a/jquery.weekcalendar.js +++ b/jquery.weekcalendar.js @@ -1740,6 +1740,35 @@ var adjustedStart, adjustedEnd; var self = this; + var freeBusyManager = self.getFreeBusyManagerForEvent(newCalEvent); + $.each(freeBusyManager.getFreeBusys(newCalEvent.start, newCalEvent.end), function() { + if (!this.getOption('free')) { + + if (newCalEvent.start.getTime() == this.getStart().getTime() && + newCalEvent.end.getTime() > this.getEnd().getTime()) { + + adjustedStart = this.getEnd(); + } + + if (newCalEvent.end.getTime() == this.getEnd().getTime() && + newCalEvent.start.getTime() < this.getStart().getTime()) { + + adjustedEnd = this.getStart(); + } + + if (oldCalEvent.resizable == false || + (newCalEvent.end.getTime() > this.getEnd().getTime() && + newCalEvent.start.getTime() < this.getStart().getTime()) || + (newCalEvent.end.getTime() == this.getEnd().getTime() && + newCalEvent.start.getTime() == this.getStart().getTime())) { + + adjustedStart = oldCalEvent.start; + adjustedEnd = oldCalEvent.end; + newCalEvent.userId = oldCalEvent.userId; + } + } + }); + $weekDay.find('.wc-cal-event').not($calEvent).each(function() { var currentCalEvent = $(this).data('calEvent'); @@ -1764,6 +1793,7 @@ adjustedStart = oldCalEvent.start; adjustedEnd = oldCalEvent.end; + newCalEvent.userId = oldCalEvent.userId; return false; } |