X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;f=plomtask%2Fprocesses.py;h=ebe781e8fb83e09699e38532c0c2c7b3a9a2e1f2;hb=e87f540aa7b550881462cb88380a773b328c0a3d;hp=4ff90ef7457035a6e144fbaf0764d20258de7f77;hpb=eba83bdbf91206ad3af19810f27ca6e24e484555;p=plomtask
diff --git a/plomtask/processes.py b/plomtask/processes.py
index 4ff90ef..ebe781e 100644
--- a/plomtask/processes.py
+++ b/plomtask/processes.py
@@ -34,6 +34,7 @@ class Process(BaseModel[int], ConditionsRelations):
('process_step_suppressions', 'process',
'suppressed_steps', 0)]
to_search = ['title.newest', 'description.newest']
+ can_create_by_id = True
def __init__(self, id_: int | None, calendarize: bool = False) -> None:
BaseModel.__init__(self, id_)
@@ -50,8 +51,9 @@ class Process(BaseModel[int], ConditionsRelations):
def as_dict(self) -> dict[str, object]:
"""Return self as (json.dumps-coompatible) dict."""
d = super().as_dict
- d['explicit_steps'] = [s.as_dict for s in self.explicit_steps]
- d['suppressed_steps'] = [s.as_dict for s in self.suppressed_steps]
+ assert isinstance(d['_library'], dict)
+ d['explicit_steps'] = [s.as_dict_into_reference(d['_library'])
+ for s in self.explicit_steps]
return d
@classmethod