diff --git a/plugins/calendar/calendar_ui.js b/plugins/calendar/calendar_ui.js index 47a58f82..b5425777 100644 --- a/plugins/calendar/calendar_ui.js +++ b/plugins/calendar/calendar_ui.js @@ -876,7 +876,7 @@ function rcube_calendar_ui(settings) var $dialog = $("#calendarform").dialog('close'); if (!calendar) - calendar = { name:'', color:'cc0000' }; + calendar = { name:'', color:'cc0000', editable:true }; var form, name, color; @@ -889,7 +889,7 @@ function rcube_calendar_ui(settings) success: function(data){ $dialog.html(data); form = $('#calendarform > form'); - name = $('#calendar-name').val(calendar.editname || calendar.name); + name = $('#calendar-name').prop('disabled', !calendar.editable).val(calendar.editname || calendar.name); color = $('#calendar-color').val(calendar.color).miniColors({ value: calendar.color }); name.select(); } diff --git a/plugins/calendar/drivers/kolab/kolab_driver.php b/plugins/calendar/drivers/kolab/kolab_driver.php index 39da2732..d01a7432 100644 --- a/plugins/calendar/drivers/kolab/kolab_driver.php +++ b/plugins/calendar/drivers/kolab/kolab_driver.php @@ -177,21 +177,20 @@ class kolab_driver extends calendar_driver $this->rc->imap_init(); $newfolder = $this->rc->imap->mod_mailbox($newfolder, 'in'); - if ($newfolder != $oldfolder) + if (!$cal->readonly && $newfolder != $oldfolder) $result = rcube_kolab::folder_rename($oldfolder, $newfolder); else $result = true; if ($result) { // create ID - $id = rcube_kolab::folder_id($newfolder); + $id = $newfolder ? rcube_kolab::folder_id($newfolder) : $prop['id']; // save color in user prefs (temp. solution) $prefs['kolab_calendars'] = $this->rc->config->get('kolab_calendars', array()); unset($prefs['kolab_calendars'][$prop['id']]); $prefs['kolab_calendars'][$id]['color'] = $prop['color']; $this->rc->user->save_prefs($prefs); - return true; } }