From fc09a9f8ac0ad91797f848f3b4880a2f5abd01ac Mon Sep 17 00:00:00 2001 From: Thomas Bruederli Date: Wed, 19 Sep 2012 13:26:59 +0200 Subject: [PATCH] Move child tasks when list assigment is changed in edit dialog --- .../drivers/database/tasklist_database_driver.php | 2 +- plugins/tasklist/tasklist.js | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/plugins/tasklist/drivers/database/tasklist_database_driver.php b/plugins/tasklist/drivers/database/tasklist_database_driver.php index 639c8d4e..51d6ec13 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 49c8b364..10302c3e 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;