+ def do_POST_process(self, conn: DatabaseConnection, id_: int | None,
+ postvars: dict[str, list[str]]) -> None:
+ """Update or insert Process of id_ and fields defined in postvars."""
+ process = Process.by_id(conn, id_, create=True)
+ process.title.set(postvars['title'][0])
+ process.description.set(postvars['description'][0])
+ effort = postvars['effort'][0]
+ try:
+ process.effort.set(float(effort))
+ except ValueError as e:
+ raise BadFormatException(f'Bad effort value: {effort}') from e
+ process.save(conn)
+
+ def _init_handling(self) -> \
+ tuple[DatabaseConnection, str, dict[str, list[str]]]:
+ conn = DatabaseConnection(self.server.db)
+ parsed_url = urlparse(self.path)
+ site = path_split(parsed_url.path)[1]
+ params = parse_qs(parsed_url.query)
+ return conn, site, params
+
+ def _redirect(self, target: str) -> None: