From b242b551baa345e3b59e2d0b01e2ccc747fdada8 Mon Sep 17 00:00:00 2001 From: Thomas Date: Tue, 26 Jul 2011 08:55:30 +0200 Subject: [PATCH] Only auto-add organizer when saving the first time; js bugfix --- plugins/calendar/calendar.php | 8 ++++---- plugins/calendar/calendar_ui.js | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/plugins/calendar/calendar.php b/plugins/calendar/calendar.php index f03417c7..ae75a937 100644 --- a/plugins/calendar/calendar.php +++ b/plugins/calendar/calendar.php @@ -473,14 +473,14 @@ class calendar extends rcube_plugin $event['attendees'][] = array('role' => 'ORGANIZER', 'name' => $identity['name'], 'email' => $identity['email']); } - $this->prepare_event($event); + $this->prepare_event($event, $action); if ($success = $this->driver->new_event($event)) $this->cleanup_event($event); $reload = true; break; case "edit": - $this->prepare_event($event); + $this->prepare_event($event, $action); if ($success = $this->driver->edit_event($event)) $this->cleanup_event($event); $reload = true; @@ -1149,7 +1149,7 @@ class calendar extends rcube_plugin /** * Prepares new/edited event properties before save */ - private function prepare_event(&$event) + private function prepare_event(&$event, $action) { $eventid = $event['calendar'].':'.$event['id']; @@ -1181,7 +1181,7 @@ class calendar extends rcube_plugin if (!$organizer && $owner !== false) { $event['attendees'][$i]['role'] = 'ORGANIZER'; } - else if (!$organizer && $identity['email']) { + else if (!$organizer && $identity['email'] && $action == 'new') { array_unshift($event['attendees'], array('role' => 'ORGANIZER', 'name' => $identity['name'], 'email' => $identity['email'], 'status' => 'ACCEPTED')); } } diff --git a/plugins/calendar/calendar_ui.js b/plugins/calendar/calendar_ui.js index 9c4c849d..8e9986b8 100644 --- a/plugins/calendar/calendar_ui.js +++ b/plugins/calendar/calendar_ui.js @@ -1142,7 +1142,7 @@ function rcube_calendar_ui(settings) var check_freebusy_status = function(icon, email, event) { var calendar = event.calendar && me.calendars[event.calendar] ? me.calendars[event.calendar] : { freebusy:false }; - if (!calendar) { + if (!calendar.freebusy) { $(icon).removeClass().addClass('availabilityicon unknown'); return; }