diff --git a/UI/WebServerResources/js/Scheduler/Attendees.service.js b/UI/WebServerResources/js/Scheduler/Attendees.service.js index f06848284..714cef5d3 100644 --- a/UI/WebServerResources/js/Scheduler/Attendees.service.js +++ b/UI/WebServerResources/js/Scheduler/Attendees.service.js @@ -240,7 +240,9 @@ var index = _.findIndex(this.component.attendees, function(currentAttendee) { return currentAttendee.email == attendee.email; }); - this.component.attendees.splice(index, 1); + if (index > -1) + this.component.attendees.splice(index, 1); + delete this.$futureFreebusyData[attendee.uid]; }; /** @@ -270,7 +272,9 @@ roundedStart.setMinutes(15*startQuarter); roundedEnd.setMinutes(15*endQuarter); - _.forEach(roundedStart.daysUpTo(roundedEnd), function(date, index) { + _.forEach(roundedStart.beginOfDay().daysUpTo(roundedEnd.beginOfDay()), function(date, index) { + if (date < roundedStart) + date = new Date(roundedStart.getTime()); var currentDay = date.getDate(), dayKey = date.getDayString(), hourKey; diff --git a/UI/WebServerResources/js/Scheduler/ComponentController.js b/UI/WebServerResources/js/Scheduler/ComponentController.js index 8c8decbc4..f44bb8662 100644 --- a/UI/WebServerResources/js/Scheduler/ComponentController.js +++ b/UI/WebServerResources/js/Scheduler/ComponentController.js @@ -358,8 +358,10 @@ this.removeAttendee = function (attendee, form) { this.component.$attendees.remove(attendee); - if (this.component.$attendees.getLength() === 0) + if (this.component.$attendees.getLength() === 0) { this.showAttendeesEditor = false; + this.component.$attendees.remove(this.component.organizer); + } form.$setDirty(); }; diff --git a/UI/WebServerResources/js/Scheduler/sgFreebusy.directive.js b/UI/WebServerResources/js/Scheduler/sgFreebusy.directive.js index 09745aabf..dba9045f8 100644 --- a/UI/WebServerResources/js/Scheduler/sgFreebusy.directive.js +++ b/UI/WebServerResources/js/Scheduler/sgFreebusy.directive.js @@ -34,7 +34,7 @@ return $ctrl.component? { start: $ctrl.component.start, end: $ctrl.component.end, - attendees: _.map($ctrl.component.attendees, 'email') + attendees: _.keys($ctrl.component.$attendees.$futureFreebusyData) } : null; }, function(newAttrs, oldAttrs) {