summaryrefslogtreecommitdiff
path: root/archaeological_operations/views.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2025-07-17 16:31:50 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2025-07-18 12:59:02 +0200
commit722f562503390e227d7a4138794db2afaaab6908 (patch)
tree226999d5e77555d9b59ebc354ca5ae8aa46f3ea3 /archaeological_operations/views.py
parent0ba146309a273d49bba4fd4c10939c79dd920ca6 (diff)
downloadIshtar-722f562503390e227d7a4138794db2afaaab6908.tar.bz2
Ishtar-722f562503390e227d7a4138794db2afaaab6908.zip
🐛 relations forms - clean duplicates, fix deletion (refs #6399)
Diffstat (limited to 'archaeological_operations/views.py')
-rw-r--r--archaeological_operations/views.py8
1 files changed, 3 insertions, 5 deletions
diff --git a/archaeological_operations/views.py b/archaeological_operations/views.py
index 191e5c0f4..f81933bee 100644
--- a/archaeological_operations/views.py
+++ b/archaeological_operations/views.py
@@ -473,7 +473,7 @@ def _formset_get_deleted(request, data, pk_key):
continue
try:
form_number = int(k.split("-")[1])
- except (ValueError, IndexError) as __:
+ except (ValueError, IndexError):
continue
if k.endswith("-DELETE"):
if new_data.get(f"form-{form_number}-{pk_key}", None):
@@ -484,10 +484,6 @@ def _formset_get_deleted(request, data, pk_key):
new_data.pop(k)
elif form_number in no_values and form_number not in deleted:
no_values.pop(no_values.index(form_number))
- for no_value in no_values:
- for k in list(new_data.keys()):
- if k.startswith(f"form-{no_value}-"):
- new_data.pop(k)
data["form-TOTAL_FORMS"] = data["form-TOTAL_FORMS"] - len(no_values)
new_data.update(data)
return new_data, deleted
@@ -575,6 +571,8 @@ def get_relation_modify(model, model_relation, formset_class, url_name,
}
)
if is_valid:
+ if hasattr(item, "clean_relations"):
+ item.clean_relations()
return redirect(reverse(url_name, args=[pk]))
else:
formset = formset_class(initial=initial, data=data, form_kwargs=form_kwargs)