diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-05-11 17:33:47 +0200 |
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-06-12 08:44:34 +0200 |
| commit | cb2bdf1cf1ee85ddf68e93c29611024571961c5d (patch) | |
| tree | 9730565001c023b38104b04fafad2ec1ff183373 /archaeological_finds/models_finds.py | |
| parent | 481279913a62416ce038b8eb82ad16b581fee7cf (diff) | |
| download | Ishtar-cb2bdf1cf1ee85ddf68e93c29611024571961c5d.tar.bz2 Ishtar-cb2bdf1cf1ee85ddf68e93c29611024571961c5d.zip | |
Adapt forms and wizards to manage M2M images (refs #4076)
Diffstat (limited to 'archaeological_finds/models_finds.py')
| -rw-r--r-- | archaeological_finds/models_finds.py | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py index 2b903e66a..c9bbc0713 100644 --- a/archaeological_finds/models_finds.py +++ b/archaeological_finds/models_finds.py @@ -1079,17 +1079,22 @@ class Find(BulkUpdatedItem, ValueGetter, BaseHistorizedItem, OwnPerms, setattr(new, field.name, None) new.order = self.order + 1 new.history_order = user - new.image.name = self.image.name - # force_copy is necessary to not regenerate a thumb and resize - # again the image - new.save(force_copy=True) + new.save() # m2m fields m2m = [field.name for field in model._meta.many_to_many if field.name not in PRIVATE_FIELDS] for field in m2m: - for val in getattr(self, field).all(): - getattr(new, field).add(val) + if field == 'images': + for rel in FindImage.objects.filter(item__pk=self.pk).all(): + FindImage.objects.create( + item=new, + image=rel.image, + is_main=rel.is_main + ) + else: + for val in getattr(self, field).all(): + getattr(new, field).add(val) return new @classmethod |
