diff options
-rw-r--r-- | archaeological_operations/models.py | 10 | ||||
-rw-r--r-- | archaeological_operations/tests.py | 4 |
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): |