diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-04-30 15:51:01 +0200 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-04-30 15:51:01 +0200 | 
| commit | be00329296724f2a3992a9e6dfc13a7e9cef28f7 (patch) | |
| tree | f61334286014a52808389c83f6e65b6cbaea16ca | |
| parent | 5f77a4ab463e711121484a17bb5de522400b2dc9 (diff) | |
| download | Ishtar-be00329296724f2a3992a9e6dfc13a7e9cef28f7.tar.bz2 Ishtar-be00329296724f2a3992a9e6dfc13a7e9cef28f7.zip | |
Better management of many to many
| -rw-r--r-- | archaeological_finds/tests.py | 9 | ||||
| -rw-r--r-- | ishtar_common/data_importer.py | 2 | ||||
| -rw-r--r-- | ishtar_common/wizards.py | 4 | 
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 | 
