home · contact · privacy
Refactor Todo adoption code.
[plomtask] / plomtask / http.py
index d8ca8dfdffd93de4ffd7cc3858826cfd35cf60f4..deadb21f88c65726aa7544c810922f2712600e36 100644 (file)
@@ -161,7 +161,7 @@ class TaskHandler(BaseHTTPRequestHandler):
         return {'process': process,
                 'steps': process.get_steps(self.conn),
                 'owners': process.used_as_step_by(self.conn),
-                'process_candidates': Process.all(self.conn),
+                'step_candidates': Process.all(self.conn),
                 'condition_candidates': Condition.all(self.conn)}
 
     def do_GET_processes(self) -> dict[str, object]:
@@ -195,11 +195,13 @@ class TaskHandler(BaseHTTPRequestHandler):
         day = Day.by_id(self.conn, date, create=True)
         day.comment = self.form_data.get_str('comment')
         day.save(self.conn)
-        process_id = self.form_data.get_int_or_none('new_todo')
-        if process_id is not None:
+        existing_todos = Todo.by_date(self.conn, date)
+        for process_id in self.form_data.get_all_int('new_todo'):
             process = Process.by_id(self.conn, process_id)
             todo = Todo(None, process, False, day.date)
             todo.save(self.conn)
+            todo.adopt_from(existing_todos)
+            todo.save(self.conn)
 
     def do_POST_todo(self) -> None:
         """Update Todo and its children."""