summaryrefslogtreecommitdiff
path: root/archaeological_finds/models.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2016-12-04 01:06:31 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2016-12-04 01:06:31 +0100
commitf662227d67566d134071d651376484fdd90eae56 (patch)
tree4078f8bd4cfda4b6cdfd017ba1e5a5bfc195c78a /archaeological_finds/models.py
parentc02bcd0e6c47c2cb3ce8b9b8927e408020e3a122 (diff)
downloadIshtar-f662227d67566d134071d651376484fdd90eae56.tar.bz2
Ishtar-f662227d67566d134071d651376484fdd90eae56.zip
Treatment: manage treatment with baskets
Diffstat (limited to 'archaeological_finds/models.py')
-rw-r--r--archaeological_finds/models.py34
1 files changed, 16 insertions, 18 deletions
diff --git a/archaeological_finds/models.py b/archaeological_finds/models.py
index 01c904cc8..3e0d09ef8 100644
--- a/archaeological_finds/models.py
+++ b/archaeological_finds/models.py
@@ -879,27 +879,25 @@ class Treatment(BaseHistorizedItem, ImageModel, OwnPerms):
user = kwargs.pop('user')
if "extra_args_for_new" in kwargs:
extra_args_for_new = kwargs.pop('extra_args_for_new')
- is_new = self.pk is None
self.pre_save()
super(Treatment, self).save(*args, **kwargs)
updated = []
- if is_new:
- if hasattr(items, "items"):
- items = items.items.all()
- for item in items:
- new = item.duplicate(user)
- item.downstream_treatment = self
- item.save()
- new.upstream_treatment = self
- for k in extra_args_for_new:
- setattr(new, k, extra_args_for_new[k])
- new.save()
- updated.append(new.pk)
- # update baskets
- for basket in \
- FindBasket.objects.filter(items__pk=item.pk).all():
- basket.items.remove(item)
- basket.items.add(new)
+ if hasattr(items, "items"):
+ items = items.items.all()
+ for item in items:
+ new = item.duplicate(user)
+ item.downstream_treatment = self
+ item.save()
+ new.upstream_treatment = self
+ for k in extra_args_for_new:
+ setattr(new, k, extra_args_for_new[k])
+ new.save()
+ updated.append(new.pk)
+ # update baskets
+ for basket in \
+ FindBasket.objects.filter(items__pk=item.pk).all():
+ basket.items.remove(item)
+ basket.items.add(new)
# manage containers
for find in Find.objects.filter(upstream_treatment=self).all():
if find.container != self.container: