Coverage for backend/django/Economics/property_events.py: 100%
24 statements
« prev ^ index » next coverage.py v7.10.7, created at 2026-06-23 21:51 +0000
« prev ^ index » next coverage.py v7.10.7, created at 2026-06-23 21:51 +0000
1from __future__ import annotations
3from core.auxiliary.models.PropertyInfo import PropertyInfo
4from core.auxiliary.models.PropertyValue import PropertyValue
5from Economics.costing.capital.generated_lines import sync_generated_capital_lines_for_property
6from Economics.costing.operating.stream_properties import (
7 disconnect_operating_lines_for_deleted_property,
8 sync_operating_lines_for_property,
9)
10from Economics.results.services.lifecycle.runs import mark_result_runs_stale_for_study
13def property_info_saved(property_info: PropertyInfo) -> None:
14 _sync_generated_capital(property_info)
15 sync_operating_lines_for_property(property_info)
18def property_info_deleting(property_info: PropertyInfo) -> None:
19 disconnect_operating_lines_for_deleted_property(property_info)
22def property_info_deleted(property_info: PropertyInfo) -> None:
23 _sync_generated_capital(property_info)
26def property_value_saved(property_value: PropertyValue) -> None:
27 property_info = property_value.property
28 _sync_generated_capital(property_info)
29 sync_operating_lines_for_property(property_info)
32def property_value_deleted(property_value: PropertyValue) -> None:
33 property_info = property_value.property
34 _sync_generated_capital(property_info)
35 sync_operating_lines_for_property(property_info)
38def _sync_generated_capital(property_info: PropertyInfo) -> None:
39 for study in sync_generated_capital_lines_for_property(property_info):
40 mark_result_runs_stale_for_study(study=study, reason="flowsheet_property_changed")