3 commits - plugins/tasklist

Thomas Brüderli bruederli at kolabsys.com
Thu Sep 6 17:52:26 CEST 2012


 plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php |   17 +++++++++++++--
 plugins/tasklist/tasklist.js                             |    6 +++--
 plugins/tasklist/tasklist_ui.php                         |    2 -
 3 files changed, 20 insertions(+), 5 deletions(-)

New commits:
commit 0f6063ad57b7b07cc6c1b56171f89bce3f39edf6
Merge: cb1712e 54f11d3
Author: Thomas Bruederli <thomas at roundcube.net>
Date:   Thu Sep 6 17:52:24 2012 +0200

    Merge branch 'master' of ssh://git.kolabsys.com/git/roundcube



commit cb1712e527ffb5ab8edd0e559928eaf24ca68dca
Author: Thomas Bruederli <thomas at roundcube.net>
Date:   Thu Sep 6 17:52:14 2012 +0200

    Respect folder permissions and only list writeable folders (#976)

diff --git a/plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php b/plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php
index 74442bd..f3e902a 100644
--- a/plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php
+++ b/plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php
@@ -84,14 +84,27 @@ class tasklist_kolab_driver extends tasklist_driver
 
             $name = kolab_storage::folder_displayname(kolab_storage::object_name($utf7name), $listnames);
 
+            if ($folder->get_owner() == $_SESSION['username']) {
+                $readonly = false;
+                $alarms = true;
+            }
+            else {
+                $alarms = false;
+                $readonly = true;
+                if (($rights = $folder->get_myrights()) && !PEAR::isError($rights)) {
+                    if (strpos($rights, 'i') !== false)
+                      $readonly = false;
+                }
+            }
+
             $list_id = kolab_storage::folder_id($utf7name);
             $tasklist = array(
                 'id' => $list_id,
                 'name' => $name,
                 'editname' => $editname,
                 'color' => 'CC0000',
-                'showalarms' => $prefs[$list_id]['showalarms'],
-                'editable' => true,
+                'showalarms' => isset($prefs[$list_id]['showalarms']) ? $prefs[$list_id]['showalarms'] : $alarms,
+                'editable' => !$readonly,
                 'active' => $folder->is_subscribed(kolab_storage::SERVERSIDE_SUBSCRIPTION),
                 'parentfolder' => $path_imap,
             );
diff --git a/plugins/tasklist/tasklist_ui.php b/plugins/tasklist/tasklist_ui.php
index a740670..f0b0cbd 100644
--- a/plugins/tasklist/tasklist_ui.php
+++ b/plugins/tasklist/tasklist_ui.php
@@ -131,7 +131,7 @@ class tasklist_ui
         $attrib['name'] = 'list';
         $select = new html_select($attrib);
         foreach ((array)$this->plugin->driver->get_lists() as $id => $prop) {
-            if (!$prop['readonly'])
+            if ($prop['editable'])
                 $select->add($prop['name'], $id);
         }
 


commit 64f87cdaa008f54bd75f333d1a9d657b9574411a
Author: Thomas Bruederli <thomas at roundcube.net>
Date:   Thu Sep 6 17:50:56 2012 +0200

    Clear 'no entries' message after adding a task (#979)

diff --git a/plugins/tasklist/tasklist.js b/plugins/tasklist/tasklist.js
index 6842d8b..36c30f2 100644
--- a/plugins/tasklist/tasklist.js
+++ b/plugins/tasklist/tasklist.js
@@ -146,12 +146,14 @@ function rcube_tasklist_ui(settings)
 
         // quick-add a task
         $(rcmail.gui_objects.quickaddform).submit(function(e){
-            var tasktext = this.elements.text.value;
-            var rec = { id:-(++idcount), title:tasktext, readonly:true, mask:0, complete:0 };
+            var tasktext = this.elements.text.value,
+              rec = { id:-(++idcount), title:tasktext, readonly:true, mask:0, complete:0 };
 
             save_task({ tempid:rec.id, raw:tasktext, list:me.selected_list }, 'new');
             render_task(rec);
 
+            $('#listmessagebox').hide();
+
             // clear form
             this.reset();
             return false;





More information about the commits mailing list