From b96a5c72c2decc56ca1706e4929e2e58e4b7b156 Mon Sep 17 00:00:00 2001
From: Christian Heller <c.heller@plomlompom.de>
Date: Tue, 2 Apr 2024 03:17:31 +0200
Subject: [PATCH] Fix Process.get_descendants eliminating sibling references to
 same Process.id_.

---
 plomtask/processes.py  | 8 ++++----
 templates/process.html | 4 ++--
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/plomtask/processes.py b/plomtask/processes.py
index ba9707b..4f97f62 100644
--- a/plomtask/processes.py
+++ b/plomtask/processes.py
@@ -67,13 +67,13 @@ class Process:
         return process
 
     def get_descendants(self, db_conn: DatabaseConnection) ->\
-            dict[int, dict[str, object]]:
+            list[dict[str, object]]:
         """Return tree of descendant Processes"""
-        descendants = {}
+        descendants = []
         for id_ in self.child_ids:
             child = self.__class__.by_id(db_conn, id_)
-            descendants[id_] = {'process': child,
-                                'children': child.get_descendants(db_conn)}
+            descendants += [{'process': child,
+                             'children': child.get_descendants(db_conn)}]
         return descendants
 
     def save(self, db_conn: DatabaseConnection) -> None:
diff --git a/templates/process.html b/templates/process.html
index f2d5055..0f0f0c5 100644
--- a/templates/process.html
+++ b/templates/process.html
@@ -10,7 +10,7 @@
 <a href="process?id={{node.process.id_}}">{{node.process.title.newest|e}}</a>
 </td>
 </tr>
-{% for child in node.children.values() %}
+{% for child in node.children %}
 {{ process_with_children(child, indent+1) }}
 {% endfor %}
 {% endmacro %}
@@ -22,7 +22,7 @@ title: <input name="title" value="{{process.title.newest|e}}" />
 description: <input name="description" value="{{process.description.newest|e}}" />
 default effort: <input name="effort" type="number" step=0.1 value={{process.effort.newest}} />
 <table>
-{% for child in children.values() %}
+{% for child in children %}
 {{ process_with_children(child, 0) }}
 {% endfor %}
 </table>
-- 
2.30.2