summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2018-11-16 18:02:29 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2018-11-28 11:40:16 +0100
commitcce8c95c54c6d29d94a9e82acc9d54dcb4c20500 (patch)
tree966a09e82d976e3cd3e0a5bc49b1d502722ae930
parentcfcbb04a4c2eb4cd587f34826f2ce69ff6025312 (diff)
downloadIshtar-cce8c95c54c6d29d94a9e82acc9d54dcb4c20500.tar.bz2
Ishtar-cce8c95c54c6d29d94a9e82acc9d54dcb4c20500.zip
Treatment: fix save with multiple items
-rw-r--r--archaeological_finds/wizards.py19
-rw-r--r--ishtar_common/forms.py1
2 files changed, 12 insertions, 8 deletions
diff --git a/archaeological_finds/wizards.py b/archaeological_finds/wizards.py
index 3314759d1..8a7a3a513 100644
--- a/archaeological_finds/wizards.py
+++ b/archaeological_finds/wizards.py
@@ -156,19 +156,24 @@ class TreatmentWizard(Wizard):
"""
dct = super(TreatmentWizard, self).get_extra_model(dct, form_list)
if 'resulting_pk' in dct:
- try:
- find = models.Find.objects.get(pk=dct.pop('resulting_pk'))
- if 'own' in self.current_right \
- and not find.is_own(dct['history_modifier']):
+ dct['items'] = []
+ pks = dct.pop('resulting_pk').split(u',')
+ for pk in pks:
+ try:
+ find = models.Find.objects.get(pk=pk)
+ dct['items'].append(find)
+ except models.Find.DoesNotExist:
raise PermissionDenied
- dct['items'] = [find]
- except models.Find.DoesNotExist:
- raise PermissionDenied
if 'basket' in dct:
basket = dct.pop('basket')
if basket.user.pk != dct['history_modifier'].pk:
raise PermissionDenied
dct['items'] = list(basket.items.all())
+
+ for find in dct['items']:
+ if 'own' in self.current_right \
+ and not find.is_own(dct['history_modifier']):
+ raise PermissionDenied
return dct
diff --git a/ishtar_common/forms.py b/ishtar_common/forms.py
index 63551ede2..0c93016b1 100644
--- a/ishtar_common/forms.py
+++ b/ishtar_common/forms.py
@@ -372,7 +372,6 @@ class PkWizardSearch(object):
]
-
class CustomFormSearch(forms.Form):
need_user_for_initialization = True