diff --git a/src/Model/Pollutants/Pollutants.py b/src/Model/Pollutants/Pollutants.py index 1026851f..cb8f345c 100644 --- a/src/Model/Pollutants/Pollutants.py +++ b/src/Model/Pollutants/Pollutants.py @@ -104,6 +104,12 @@ class PollutantCharacteristics(SQLSubModel): self._ac = value elif key == 8: self._bc = value + self.propagate_modified() + + def propagate_modified(self): + self.modified() + if hasattr(self, "_pollutant") and self._pollutant: + self._pollutant.modified() @classmethod def _db_create(cls, execute, ext=""): @@ -256,6 +262,12 @@ class PollutantCharacteristics(SQLSubModel): if not self.must_be_saved(): return True + execute( + "DELETE FROM pollutants_characteristics " + + f"WHERE pamhyr_id = {self.id} " + + f"AND scenario = {self._status.scenario_id}" + ) + execute( "INSERT INTO " + "pollutants_characteristics(pamhyr_id, deleted, " + @@ -312,7 +324,7 @@ class Pollutants(SQLSubModel): @name.setter def name(self, name): self._name = name - self._status.modified() + self.modified() @property def data(self): diff --git a/src/Model/Pollutants/PollutantsList.py b/src/Model/Pollutants/PollutantsList.py index c32b8446..3970ba7e 100644 --- a/src/Model/Pollutants/PollutantsList.py +++ b/src/Model/Pollutants/PollutantsList.py @@ -19,7 +19,7 @@ from tools import trace, timer from Model.Except import NotImplementedMethodeError -from Model.Tools.PamhyrList import PamhyrModelList +from Model.Tools.PamhyrListExt import PamhyrModelList from Model.Pollutants.Pollutants import Pollutants