X-Git-Url: https://plomlompom.com/repos/%7B%7B%20web_path%20%7D%7D/decks/%7B%7Bdeck_id%7D%7D/cards/%7B%7Bcard_id%7D%7D/form?a=blobdiff_plain;f=plomtask%2Fhttp.py;h=9680778bcdb21cd8526a3db46530e55ee8aa0834;hb=e3b01fe14d7a3b824b909382671acc4657e98145;hp=ea1358a00f754e217a4ecb9e469f04607962c082;hpb=16bc51d279619ed41a18551676709e365a89b54a;p=plomtask diff --git a/plomtask/http.py b/plomtask/http.py index ea1358a..9680778 100644 --- a/plomtask/http.py +++ b/plomtask/http.py @@ -214,7 +214,7 @@ class TaskHandler(BaseHTTPRequestHandler): id_ = self.params.get_int_or_none('id') c = Condition.by_id(self.conn, id_, create=True) ps = Process.all(self.conn) - return {'condition': c, + return {'condition': c, 'is_new': c.id_ is None, 'enabled_processes': [p for p in ps if c in p.conditions], 'disabled_processes': [p for p in ps if c in p.blockers], 'enabling_processes': [p for p in ps if c in p.enables], @@ -240,11 +240,14 @@ class TaskHandler(BaseHTTPRequestHandler): if title_64: title = b64decode(title_64.encode()).decode() process.title.set(title) - return {'process': process, + owners = process.used_as_step_by(self.conn) + for step_id in self.params.get_all_int('step_to'): + owners += [Process.by_id(self.conn, step_id)] + return {'process': process, 'is_new': process.id_ is None, 'steps': process.get_steps(self.conn), - 'owners': process.used_as_step_by(self.conn), + 'owners': owners, 'n_todos': len(Todo.by_process_id(self.conn, process.id_)), - 'step_candidates': Process.all(self.conn), + 'process_candidates': Process.all(self.conn), 'condition_candidates': Condition.all(self.conn)} def do_GET_process_titles(self) -> dict[str, object]: @@ -415,9 +418,11 @@ class TaskHandler(BaseHTTPRequestHandler): process.set_step_suppressions(self.conn, self.form_data.get_all_int('suppresses')) process.save(self.conn) + process.set_owners(self.conn, self.form_data.get_all_int('step_of')) if new_process_title: title_b64_encoded = b64encode(new_process_title.encode()).decode() - return f'/process?title_b64={title_b64_encoded}' + params = f'step_to={process.id_}&title_b64={title_b64_encoded}' + return f'/process?{params}' return f'/process?id={process.id_}' def do_POST_condition(self) -> str: