From cce8c95c54c6d29d94a9e82acc9d54dcb4c20500 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Fri, 16 Nov 2018 18:02:29 +0100 Subject: Treatment: fix save with multiple items --- archaeological_finds/wizards.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'archaeological_finds/wizards.py') 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 -- cgit v1.2.3