summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archaeological_context_records/tests.py1
-rw-r--r--archaeological_finds/tests.py2
-rw-r--r--archaeological_operations/tests.py6
-rw-r--r--ishtar_common/data_importer.py6
4 files changed, 11 insertions, 4 deletions
diff --git a/archaeological_context_records/tests.py b/archaeological_context_records/tests.py
index bccd859aa..2bd144c5e 100644
--- a/archaeological_context_records/tests.py
+++ b/archaeological_context_records/tests.py
@@ -86,6 +86,7 @@ class ImportContextRecordTest(ImportOperationTest):
class ContextRecordInit(OperationInitTest):
+ test_operations = False
def create_context_record(self, user=None, data={}):
if not getattr(self, 'context_records', None):
diff --git a/archaeological_finds/tests.py b/archaeological_finds/tests.py
index 34cacfe42..ccf821757 100644
--- a/archaeological_finds/tests.py
+++ b/archaeological_finds/tests.py
@@ -58,7 +58,7 @@ class ImportFindTest(ImportContextRecordTest):
# doing manual connections
ceram = models.MaterialType.objects.get(txt_idx='ceramic').pk
- self.setTargetKey('find__material_types', 'ceramique', ceram)
+ self.setTargetKey('find__material_types', 'terre-cuite', ceram)
impt.importation()
if not test:
return
diff --git a/archaeological_operations/tests.py b/archaeological_operations/tests.py
index eaf2f081b..e74f579ed 100644
--- a/archaeological_operations/tests.py
+++ b/archaeological_operations/tests.py
@@ -166,7 +166,7 @@ class ImportOperationTest(TestCase):
self.assertTrue(current_nb == (old_nb + 2))
# and well imported
last_parcels = models.Parcel.objects.order_by('-pk').all()[0:2]
- external_ids = sorted(['XXXX', 'YY55'])
+ external_ids = sorted(['4200-59350-YY55', '4200-75101-XXXX'])
parcel_numbers = sorted(['42', '55'])
sections = sorted(['ZX', 'YY'])
self.assertEqual(external_ids,
@@ -184,13 +184,15 @@ class ImportOperationTest(TestCase):
self.assertEqual(len(imported), len(last_parcels))
self.assertEqual(models.Parcel.objects.get(parcel_number='55',
section='YY').external_id,
- 'YY55')
+ '4200-59350-YY55')
# delete associated parcel with the import deletion
parcel_count = models.Parcel.objects.count()
impt.delete()
self.assertEqual(parcel_count - 2, models.Parcel.objects.count())
def testParseParcels(self):
+ if not self.test_operations:
+ return
# the database needs to be initialised before importing
from archaeological_operations.import_from_csv import parse_parcels
# default_town = Town.objects.create(numero_insee="12345",
diff --git a/ishtar_common/data_importer.py b/ishtar_common/data_importer.py
index d4e527ec6..1251aaf4c 100644
--- a/ishtar_common/data_importer.py
+++ b/ishtar_common/data_importer.py
@@ -1213,7 +1213,11 @@ class Importer(object):
self.get_field(model, k, v, m2m_m2ms, c_c_path)
if '__force_new' in v:
created = v.pop('__force_new')
- v = model.objects.create(**v)
+ has_values = bool([1 for k in v if v[k]])
+ if has_values:
+ v = model.objects.create(**v)
+ else:
+ continue
else:
v['defaults'] = v.get('defaults', {})
v, created = model.objects.get_or_create(