From be00329296724f2a3992a9e6dfc13a7e9cef28f7 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Sun, 30 Apr 2017 15:51:01 +0200 Subject: Better management of many to many --- ishtar_common/data_importer.py | 2 +- ishtar_common/wizards.py | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'ishtar_common') diff --git a/ishtar_common/data_importer.py b/ishtar_common/data_importer.py index 65cd83c12..1fe4ef45c 100644 --- a/ishtar_common/data_importer.py +++ b/ishtar_common/data_importer.py @@ -811,7 +811,7 @@ class Importer(object): self.output = output if not self.history_modifier: if self.import_instance: - self.history_modifier = self.import_instance.user + self.history_modifier = self.import_instance.user.user_ptr else: # import made by the CLI: get the first admin self.history_modifier = User.objects.filter( diff --git a/ishtar_common/wizards.py b/ishtar_common/wizards.py index e8052c768..cb5e5ca10 100644 --- a/ishtar_common/wizards.py +++ b/ishtar_common/wizards.py @@ -742,7 +742,9 @@ class Wizard(NamedUrlWizardView): value.save() # force post_save # check that an item is not add multiple times (forged forms) if value not in related_model.all() and\ - hasattr(related_model, 'add'): + hasattr(related_model, 'add') and \ + not isinstance(value, related_model.through): + # many to many and the value have been already managed related_model.add(value) # necessary to manage interaction between models like # material_index management for baseitems -- cgit v1.2.3