diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2020-12-02 13:05:11 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2021-02-28 12:15:20 +0100 |
commit | 014ae7758af5c5dbd75c7ccbcbf6f203c40c85e1 (patch) | |
tree | 2adfc46153e4ab380544172df3f9ac1fe8f296e0 | |
parent | c0976bfe3d67b6ba0b0ff6442e68ee297b172538 (diff) | |
download | Ishtar-014ae7758af5c5dbd75c7ccbcbf6f203c40c85e1.tar.bz2 Ishtar-014ae7758af5c5dbd75c7ccbcbf6f203c40c85e1.zip |
Archaeological files: fix parcel clean on save
-rw-r--r-- | archaeological_files/models.py | 4 | ||||
-rw-r--r-- | archaeological_operations/models.py | 28 |
2 files changed, 17 insertions, 15 deletions
diff --git a/archaeological_files/models.py b/archaeological_files/models.py index 328e2c658..fbea67c81 100644 --- a/archaeological_files/models.py +++ b/archaeological_files/models.py @@ -38,7 +38,7 @@ from ishtar_common.models import GeneralType, BaseHistorizedItem, \ SearchAltName, SearchVectorConfig, DocumentItem from archaeological_operations.models import get_values_town_related, \ - ClosedItem + ClosedItem, ParcelItem class FileType(GeneralType): @@ -85,7 +85,7 @@ if settings.COUNTRY == 'fr': class File(ClosedItem, DocumentItem, BaseHistorizedItem, OwnPerms, ValueGetter, - ShortMenuItem, DashboardFormItem): + ShortMenuItem, DashboardFormItem, ParcelItem): SLUG = 'file' SHOW_URL = 'show-file' DELETE_URL = 'delete-file' diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py index 368b2e33c..d0de32be2 100644 --- a/archaeological_operations/models.py +++ b/archaeological_operations/models.py @@ -682,9 +682,23 @@ class ClosedItem(object): return {'date': date, 'user': user} +class ParcelItem: + def clean_parcel_duplicates(self): + parcels = [] + for p in self.parcels.order_by('pk').all(): + if p.associated_file: + continue + key = (p.section, p.parcel_number, p.year, p.town.pk, + p.public_domain) + if key in parcels: + p.delete() + else: + parcels.append(key) + + class Operation(ClosedItem, DocumentItem, BaseHistorizedItem, QRCodeItem, GeoItem, OwnPerms, ValueGetter, MainItem, - DashboardFormItem, RelationItem): + DashboardFormItem, RelationItem, ParcelItem): SLUG = 'operation' APP = "archaeological-operations" MODEL = "operation" @@ -1739,18 +1753,6 @@ class Operation(ClosedItem, DocumentItem, BaseHistorizedItem, QRCodeItem, res['mode'] = " ; ".join([str(m) for m in mode(finds)]) return res - def clean_parcel_duplicates(self): - parcels = [] - for p in self.parcels.order_by('pk').all(): - if p.associated_file: - continue - key = (p.section, p.parcel_number, p.year, p.town.pk, - p.public_domain) - if key in parcels: - p.delete() - else: - parcels.append(key) - def save(self, *args, **kwargs): # put a default year if start_date is defined if self.start_date and not self.year: |