auto refresh tasks assigned to products when filtering by active schedule

This commit is contained in:
Sigma Dimensions
2023-06-02 00:34:08 +01:00
parent 362409cdcb
commit 9c707977a3
2 changed files with 10 additions and 2 deletions
@@ -286,6 +286,11 @@ def update_sort_reversed(self, context):
work_schedule=tool.Ifc.get().by_id(context.scene.BIMWorkScheduleProperties.active_work_schedule_id),
)
def update_filter_by_active_schedule(self, context):
if context.active_object:
core.load_product_related_tasks(
tool.Sequence, product=tool.Ifc.get().by_id(context.active_object.BIMObjectProperties.ifc_definition_id)
)
class Task(PropertyGroup):
name: StringProperty(name="Name", update=updateTaskName)
@@ -420,7 +425,7 @@ class BIMWorkScheduleProperties(PropertyGroup):
enable_reorder: BoolProperty(name="Enable Reorder", default=False)
show_task_operators: BoolProperty(name="Show Task Options", default=True)
should_show_schedule_baseline_ui: BoolProperty(name="Baselines", default=False)
filter_by_active_schedule: BoolProperty(name="Filter By Active Schedule", default=False)
filter_by_active_schedule: BoolProperty(name="Filter By Active Schedule", default=False, update = update_filter_by_active_schedule)
class BIMTaskTreeProperties(PropertyGroup):
+4 -1
View File
@@ -556,7 +556,10 @@ def load_product_related_tasks(sequence, product=None):
filter_by_schedule = sequence.is_filter_by_active_schedule()
if filter_by_schedule:
work_schedule = sequence.get_active_work_schedule()
task_inputs, task_ouputs = sequence.get_tasks_for_product(product, work_schedule)
if work_schedule:
task_inputs, task_ouputs = sequence.get_tasks_for_product(product, work_schedule)
else:
return "No active work schedule"
else:
task_inputs, task_ouputs = sequence.get_tasks_for_product(product)
sequence.load_product_related_tasks(task_inputs, task_ouputs)