2 commits - plugins/tasklist
Thomas Brüderli
bruederli at kolabsys.com
Fri Feb 21 16:35:24 CET 2014
plugins/tasklist/tasklist.php | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
New commits:
commit f6a381c72fbff6afc59bca00c94f99ff1f9ffb5d
Merge: 8449be6 0a79c18
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date: Fri Feb 21 16:35:03 2014 +0100
Merge branch 'master' of ssh://git.kolab.org/git/roundcubemail-plugins-kolab
commit 8449be665719bf27b7745da639779d8015588b9b
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date: Thu Feb 20 09:50:03 2014 +0100
Move child tasks to new list if changed during edit
diff --git a/plugins/tasklist/tasklist.php b/plugins/tasklist/tasklist.php
index 53597d5..1eaacbd 100644
--- a/plugins/tasklist/tasklist.php
+++ b/plugins/tasklist/tasklist.php
@@ -196,8 +196,21 @@ class tasklist extends rcube_plugin
case 'edit':
$rec = $this->prepare_task($rec);
if ($success = $this->driver->edit_task($rec)) {
- $refresh = $this->driver->get_task($rec);
+ $refresh[] = $this->driver->get_task($rec);
$this->cleanup_task($rec);
+
+ // move all childs if list assignment was changed
+ if (!empty($rec['_fromlist']) && !empty($rec['list']) && $rec['_fromlist'] != $rec['list']) {
+ foreach ($this->driver->get_childs(array('id' => $rec['id'], 'list' => $rec['_fromlist']), true) as $cid) {
+ $child = array('id' => $cid, 'list' => $rec['list'], '_fromlist' => $rec['_fromlist']);
+ if ($this->driver->move_task($child)) {
+ $r = $this->driver->get_task($child);
+ if ((bool)($filter & self::FILTER_MASK_COMPLETE) == ($r['complete'] == 1.0)) {
+ $refresh[] = $r;
+ }
+ }
+ }
+ }
}
break;
@@ -210,7 +223,7 @@ class tasklist extends rcube_plugin
$success = true;
// move all childs, too
- foreach ($this->driver->get_childs(array('id' => $rec['id'], 'list' => $rec['_fromlist'])) as $cid) {
+ foreach ($this->driver->get_childs(array('id' => $rec['id'], 'list' => $rec['_fromlist']), true) as $cid) {
$child = $rec;
$child['id'] = $cid;
if ($this->driver->move_task($child)) {
More information about the commits
mailing list