summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archaeological_operations/models.py10
-rw-r--r--archaeological_operations/tests.py4
2 files changed, 12 insertions, 2 deletions
diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py
index 51f67d723..a11931c62 100644
--- a/archaeological_operations/models.py
+++ b/archaeological_operations/models.py
@@ -714,7 +714,6 @@ class Parcel(LightHistorizedItem):
for nb in grouped[-1].parcel_numbers]
return grouped
-
@classmethod
def render_parcels(cls, parcels):
parcels = cls.grouped_parcels(parcels)
@@ -745,9 +744,16 @@ class Parcel(LightHistorizedItem):
return settings.JOINT.join(items)
def parcel_post_save(sender, **kwargs):
- if not kwargs['instance'] or not FILES_AVAILABLE:
+ if not kwargs['instance']:
return
parcel = kwargs['instance']
+ if parcel.operation and parcel.town not in parcel.operation.towns.all():
+ parcel.operation.towns.add(parcel.town)
+ elif FILES_AVAILABLE and parcel.associated_file and \
+ parcel.town not in parcel.associated_file.towns.all():
+ parcel.associated_file.towns.add(parcel.town)
+ if not FILES_AVAILABLE:
+ return
if parcel.operation and parcel.associated_file:
return
if parcel.operation and parcel.operation.associated_file:
diff --git a/archaeological_operations/tests.py b/archaeological_operations/tests.py
index 2ec79279e..c7e75da1b 100644
--- a/archaeological_operations/tests.py
+++ b/archaeological_operations/tests.py
@@ -156,6 +156,10 @@ class ImportOperationTest(TestCase):
sorted([p.parcel_number for p in last_parcels]))
self.assertEqual(sections,
sorted([p.section for p in last_parcels]))
+ last_ope = models.Operation.objects.order_by('-pk').all()[0]
+ towns_ope = last_ope.towns.all()
+ for p in last_parcels:
+ self.assertTrue(p.town in towns_ope)
def testParseParcels(self):