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 @@