summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archaeological_finds/tests.py9
-rw-r--r--ishtar_common/data_importer.py2
-rw-r--r--ishtar_common/wizards.py4
3 files changed, 11 insertions, 4 deletions
diff --git a/archaeological_finds/tests.py b/archaeological_finds/tests.py
index 1268b4f03..432945ecb 100644
--- a/archaeological_finds/tests.py
+++ b/archaeological_finds/tests.py
@@ -52,8 +52,11 @@ class FindInit(ContextRecordInit):
self.base_finds = []
default = {'label': "Base find"}
- if not data_base.get('history_modifier'):
- data_base['history_modifier'] = self.get_default_user()
+ if not data_base.get('history_modifier') or not data_base[
+ 'history_modifier'].pk:
+ user = self.get_default_user()
+ user.save()
+ data_base['history_modifier'] = user
if force or not data_base.get('context_record'):
data_base['context_record'] = self.get_default_context_record(
force=force)
@@ -146,6 +149,8 @@ class AFindWizardCreationTest(WizardTest, FindInit, TestCase):
self.basefind_number + 1)
self.assertEqual(models.Find.objects.count(),
self.find_number + 1)
+ find = models.Find.objects.order_by("-pk")[0]
+ self.assertEqual(find.datings.count(), 1)
class ATreatmentWizardCreationTest(WizardTest, FindInit, TestCase):
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