X-Git-Url: https://plomlompom.com/repos/feed.xml?a=blobdiff_plain;f=plomtask%2Ftodos.py;h=3bd3491778d9c95c93bc34db8794c643e2069486;hb=8c0cbef8f467d125ba7c987b3eb1f5bef7d38120;hp=9b9bc0b95527a901bd5a6008e1707f719df74b06;hpb=8570f4ce4d44b813a1f02b72c5c45a57d2003bae;p=plomtask diff --git a/plomtask/todos.py b/plomtask/todos.py index 9b9bc0b..3bd3491 100644 --- a/plomtask/todos.py +++ b/plomtask/todos.py @@ -230,3 +230,15 @@ class Todo(BaseModel[int], ConditionsRelations): [[c.id_] for c in self.enables]) db_conn.rewrite_relations('todo_disables', 'todo', self.id_, [[c.id_] for c in self.disables]) + + def remove(self, db_conn: DatabaseConnection) -> None: + """Remove from DB, including relations.""" + assert isinstance(self.id_, int) + for child in self.children: + self.remove_child(child) + for parent in self.parents: + parent.remove_child(self) + db_conn.delete_where('todo_conditions', 'todo', self.id_) + db_conn.delete_where('todo_enables', 'todo', self.id_) + db_conn.delete_where('todo_disables', 'todo', self.id_) + super().remove(db_conn)