fix add/del/undo/redo in edit BoundaryConditionsAdisTS + quick fix in edit LateralContributionsAdisTS

This commit is contained in:
Dylan Jeannin committed 2026-05-05 17:50:45 +02:00
1 parent 99cb2883a1
commit 11e1302e05
6 files changed
+90 -19

No files matched your search

@@ -143,9 +143,9 @@ class Data(SQLSubModel):
table = execute(
"SELECT pamhyr_id, deleted, data0, data1, scenario FROM " +
"boundary_condition_data_adists " +
f"WHERE bca = {bca.id} " +
f"AND pamhyr_id NOT IN ({', '.join(map(str, loaded))}) " +
f"AND scenario = {scenario.id}"
f"WHERE scenario = {scenario.id} " +
# f"AND pamhyr_id NOT IN ({', '.join(map(str, loaded))}) " +
f"AND bca = {bca.id}"
)
if table is not None:
@@ -188,8 +188,8 @@ class Data(SQLSubModel):
execute(
"INSERT INTO " +
"boundary_condition_data_adists(" +
"pamhyr_id, data0, data1, bca, scenario) " +
f"VALUES ({self.id}, '{data0}', {data1}, {bca.id}, " +
"pamhyr_id, deleted, data0, data1, bca, scenario) " +
f"VALUES ({self.id}, {self._db_format(self.is_deleted())}, '{data0}', {data1}, {bca.id}, " +
f"{self._status.scenario_id})"
)
@@ -437,7 +437,14 @@ class BoundaryConditionAdisTS(SQLSubModel):
d._data_traversal(predicate, modifier, data)
def __len__(self):
return len(self._data)
return len(
list(
filter(
lambda el: el is not None and not el.is_deleted(),
self._data
)
)
)
@classmethod
def time_convert(cls, data):
@@ -493,7 +500,12 @@ class BoundaryConditionAdisTS(SQLSubModel):
@property
def data(self):
return self._data.copy()
return list(
filter(
lambda el: el is not None and not el.is_deleted(),
self._data
)
)
@property
def _default_0(self):
@@ -537,7 +549,7 @@ class BoundaryConditionAdisTS(SQLSubModel):
def delete_i(self, indexes):
self._data = list(
map(
lambda e: e[1],
lambda e: e[1].set_as_deleted(),
filter(
lambda e: e[0] not in indexes,
enumerate(self.data)