diff options
| 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 |
| commit | eb471a13710be88ca249f30a68bd056aa8c5a292 (patch) | |
| tree | f2596427b81ad0df9e3a0b1b97201372b9fcc9cc /archaeological_files/wizards.py | |
| parent | 983662e505adca020492e0672968a19c0abb6ec2 (diff) | |
| parent | fc1c422e6c5e0c57ddb6209b609b2335f9cb4dde (diff) | |
| download | Ishtar-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.py | 14 |
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') \ |
