home · contact · privacy
Add Todo. and Process.calendarize to identify what Todos to show in calendar.
[plomtask] / plomtask / processes.py
index 1778e4f73b8eff992322b9b1e166f6987047e05d..e1364215cfe57e5c66d376cd95cf721fe4f6f65a 100644 (file)
@@ -22,20 +22,21 @@ class ProcessStepsNode:
 
 class Process(BaseModel[int], ConditionsRelations):
     """Template for, and metadata for, Todos, and their arrangements."""
+    # pylint: disable=too-many-instance-attributes
     table_name = 'processes'
+    to_save = ['calendarize']
     to_save_versioned = ['title', 'description', 'effort']
     to_save_relations = [('process_conditions', 'process', 'conditions'),
                          ('process_enables', 'process', 'enables'),
                          ('process_disables', 'process', 'disables')]
 
-    # pylint: disable=too-many-instance-attributes
-
-    def __init__(self, id_: int | None) -> None:
+    def __init__(self, id_: int | None, calendarize: bool = False) -> None:
         super().__init__(id_)
         self.title = VersionedAttribute(self, 'process_titles', 'UNNAMED')
         self.description = VersionedAttribute(self, 'process_descriptions', '')
         self.effort = VersionedAttribute(self, 'process_efforts', 1.0)
         self.explicit_steps: list[ProcessStep] = []
+        self.calendarize = calendarize
         self.conditions: list[Condition] = []
         self.enables: list[Condition] = []
         self.disables: list[Condition] = []