summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archaeological_operations/models.py3
-rw-r--r--archaeological_operations/tests.py5
-rw-r--r--archaeological_operations/tests/MCC-parcelles-example.csv2
3 files changed, 8 insertions, 2 deletions
diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py
index c460b344a..922c51271 100644
--- a/archaeological_operations/models.py
+++ b/archaeological_operations/models.py
@@ -747,6 +747,9 @@ def parcel_post_save(sender, **kwargs):
if not kwargs['instance']:
return
parcel = kwargs['instance']
+ if not parcel.external_id and (parcel.section or parcel.parcel_number):
+ parcel.external_id = (parcel.section or "") + (parcel.parcel_number or "")
+ parcel.save()
if parcel.operation and parcel.town not in parcel.operation.towns.all():
parcel.operation.towns.add(parcel.town)
if FILES_AVAILABLE and parcel.associated_file and \
diff --git a/archaeological_operations/tests.py b/archaeological_operations/tests.py
index 73f462895..484e2b259 100644
--- a/archaeological_operations/tests.py
+++ b/archaeological_operations/tests.py
@@ -151,7 +151,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', 'YYYY'])
+ external_ids = sorted(['XXXX', 'YY55'])
parcel_numbers = sorted(['42', '55'])
sections = sorted(['ZX', 'YY'])
self.assertEqual(external_ids,
@@ -164,6 +164,9 @@ class ImportOperationTest(TestCase):
towns_ope = last_ope.towns.all()
for p in last_parcels:
self.assertTrue(p.town in towns_ope)
+ self.assertEqual(models.Parcel.objects.get(parcel_number='55',
+ section='YY').external_id,
+ 'YY55')
def testParseParcels(self):
diff --git a/archaeological_operations/tests/MCC-parcelles-example.csv b/archaeological_operations/tests/MCC-parcelles-example.csv
index 1c8d74a2d..f68e98695 100644
--- a/archaeological_operations/tests/MCC-parcelles-example.csv
+++ b/archaeological_operations/tests/MCC-parcelles-example.csv
@@ -1,3 +1,3 @@
code OA,identifiant parcelle,numero parcelle,section cadastre,annee cadastre,nom commune,numero INSEE commune,nom departement,lieu dit adresse
4200,XXXX,42,ZX,,Paris,75101,Ile-de-France,1 rue de l'Église
-4200,YYYY,55,YY,,Lille,59350,Nord,Patis du tertre
+4200,,55,YY,,Lille,59350,Nord,Patis du tertre