summaryrefslogtreecommitdiff
path: root/archaeological_files/wizards.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2016-04-19 18:33:16 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2016-04-19 18:33:16 +0200
commiteb471a13710be88ca249f30a68bd056aa8c5a292 (patch)
treef2596427b81ad0df9e3a0b1b97201372b9fcc9cc /archaeological_files/wizards.py
parent983662e505adca020492e0672968a19c0abb6ec2 (diff)
parentfc1c422e6c5e0c57ddb6209b609b2335f9cb4dde (diff)
downloadIshtar-eb471a13710be88ca249f30a68bd056aa8c5a292.tar.bz2
Ishtar-eb471a13710be88ca249f30a68bd056aa8c5a292.zip
Merge branch 'master' into v0.9
Diffstat (limited to 'archaeological_files/wizards.py')
-rw-r--r--archaeological_files/wizards.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/archaeological_files/wizards.py b/archaeological_files/wizards.py
index 6e1e3ba03..ea06a48f7 100644
--- a/archaeological_files/wizards.py
+++ b/archaeological_files/wizards.py
@@ -50,13 +50,25 @@ class FileWizard(OperationWizard):
def done(self, form_list, **kwargs):
'''
- Save parcels
+ Save parcels and make numeric_reference unique
'''
r = super(FileWizard, self).done(form_list, return_object=True,
**kwargs)
if type(r) not in (list, tuple) or len(r) != 2:
return r
obj, res = r
+ # numeric_reference check
+ if not self.modification:
+ numeric_reference = obj.numeric_reference
+ changed = False
+ while obj.__class__.objects.filter(
+ numeric_reference=numeric_reference,
+ year=obj.year).exclude(pk=obj.pk).count():
+ numeric_reference += 1
+ changed = True
+ if changed:
+ obj.numeric_reference = numeric_reference
+ obj.save()
obj.parcels.clear()
for form in form_list:
if not hasattr(form, 'prefix') \