From 192bd3942cb08cf14c71aa3672f657a0f1e81628 Mon Sep 17 00:00:00 2001 From: Thomas Bruederli Date: Tue, 18 Sep 2012 19:27:42 +0200 Subject: [PATCH] Implement list deletion + minor bugfixes --- .../database/tasklist_database_driver.php | 22 ++++++- plugins/tasklist/localization/de_CH.inc | 1 + plugins/tasklist/localization/en_US.inc | 1 + .../skins/larry/templates/mainview.html | 2 +- plugins/tasklist/tasklist.js | 59 ++++++++++++++++--- plugins/tasklist/tasklist.php | 9 ++- 6 files changed, 84 insertions(+), 10 deletions(-) diff --git a/plugins/tasklist/drivers/database/tasklist_database_driver.php b/plugins/tasklist/drivers/database/tasklist_database_driver.php index 4a0c80b5..639c8d4e 100644 --- a/plugins/tasklist/drivers/database/tasklist_database_driver.php +++ b/plugins/tasklist/drivers/database/tasklist_database_driver.php @@ -175,7 +175,27 @@ class tasklist_database_driver extends tasklist_driver */ public function remove_list($prop) { - // TODO: implement this + $list_id = $prop['id']; + if ($this->lists[$list_id]) { + // delete all tasks linked with this list + $this->rc->db->query( + "DELETE FROM " . $this->db_tasks . " + WHERE tasklist_id=?", + $lisr_id + ); + + // delete list record + $query = $this->rc->db->query( + "DELETE FROM " . $this->db_lists . " + WHERE tasklist_id=? + AND user_id=?", + $list_id, + $this->rc->user->ID + ); + + return $this->rc->db->affected_rows($query); + } + return false; } diff --git a/plugins/tasklist/localization/de_CH.inc b/plugins/tasklist/localization/de_CH.inc index a20a6f5b..ac060951 100644 --- a/plugins/tasklist/localization/de_CH.inc +++ b/plugins/tasklist/localization/de_CH.inc @@ -60,3 +60,4 @@ $labels['savingdata'] = 'Daten werden gespeichert...'; $labels['errorsaving'] = 'Fehler beim Speichern.'; $labels['notasksfound'] = 'Für die aktuellen Kriterien wurden keine Aufgaben gefunden.'; $labels['invalidstartduedates'] = 'Beginn der Aufgabe darf nicht grösser als das Enddatum sein.'; +$labels['deletelistconfirm'] = 'Möchten Sie diese Liste mit allen Aufgaben wirklich löschen?'; diff --git a/plugins/tasklist/localization/en_US.inc b/plugins/tasklist/localization/en_US.inc index 98a80767..c6575165 100644 --- a/plugins/tasklist/localization/en_US.inc +++ b/plugins/tasklist/localization/en_US.inc @@ -60,3 +60,4 @@ $labels['savingdata'] = 'Saving data...'; $labels['errorsaving'] = 'Failed to save data.'; $labels['notasksfound'] = 'No tasks found for the given criteria'; $labels['invalidstartduedates'] = 'Start date must not be greater than due date.'; +$labels['deletelistconfirm'] = 'Do you really want to delete this list with all its tasks?'; diff --git a/plugins/tasklist/skins/larry/templates/mainview.html b/plugins/tasklist/skins/larry/templates/mainview.html index eb98e98f..fbc7d5c3 100644 --- a/plugins/tasklist/skins/larry/templates/mainview.html +++ b/plugins/tasklist/skins/larry/templates/mainview.html @@ -84,7 +84,7 @@