plugins/tasklist

Thomas Brüderli bruederli at kolabsys.com
Wed Sep 19 13:26:46 CEST 2012


 plugins/tasklist/drivers/database/tasklist_database_driver.php |    2 +-
 plugins/tasklist/tasklist.js                                   |    9 ++++++++-
 2 files changed, 9 insertions(+), 2 deletions(-)

New commits:
commit fc09a9f8ac0ad91797f848f3b4880a2f5abd01ac
Author: Thomas Bruederli <thomas at roundcube.net>
Date:   Wed Sep 19 13:26:59 2012 +0200

    Move child tasks when list assigment is changed in edit dialog

diff --git a/plugins/tasklist/drivers/database/tasklist_database_driver.php b/plugins/tasklist/drivers/database/tasklist_database_driver.php
index 639c8d4..51d6ec1 100644
--- a/plugins/tasklist/drivers/database/tasklist_database_driver.php
+++ b/plugins/tasklist/drivers/database/tasklist_database_driver.php
@@ -69,7 +69,7 @@ class tasklist_database_driver extends tasklist_driver
         $result = $this->rc->db->query(
           "SELECT *, tasklist_id AS id FROM " . $this->db_lists . "
            WHERE user_id=?
-           ORDER BY name",
+           ORDER BY IF(name='INBOX', 0, 1), name",
            $this->rc->user->ID
         );
 
diff --git a/plugins/tasklist/tasklist.js b/plugins/tasklist/tasklist.js
index 49c8b36..10302c3 100644
--- a/plugins/tasklist/tasklist.js
+++ b/plugins/tasklist/tasklist.js
@@ -1022,9 +1022,16 @@ function rcube_tasklist_ui(settings)
                     me.selected_task.attachments.push(RegExp.$1);
             }
 
-            if (me.selected_task.list && me.selected_task.list != rec.list)
+            // task assigned to a new list
+            if (me.selected_task.list && me.selected_task.list != rec.list) {
                 me.selected_task._fromlist = rec.list;
 
+                // also move all childs
+                var childs = get_all_childs(me.selected_task.id);
+                if (childs.length)
+                    save_task({ id:childs, list:me.selected_task.list, _fromlist:rec.list }, 'move');
+            }
+
             me.selected_task.complete = complete.val() / 100;
             if (isNaN(me.selected_task.complete))
                 me.selected_task.complete = null;





More information about the commits mailing list