diff options
author | Étienne Loks <etienne.loks@proxience.com> | 2015-07-16 22:28:38 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@proxience.com> | 2015-07-16 22:28:38 +0200 |
commit | 15b722c99a45532f066dab777abb2c3e481719e9 (patch) | |
tree | bcc5a05539d6cc7375a5dc9e8a3aea414c8ae525 /archaeological_files | |
parent | dab424b63294ea92a098fdccd5d8d67f8e51c8a6 (diff) | |
parent | d12d2f85cad595e82476596f946937cff84f56a1 (diff) | |
download | Ishtar-15b722c99a45532f066dab777abb2c3e481719e9.tar.bz2 Ishtar-15b722c99a45532f066dab777abb2c3e481719e9.zip |
Merge branch 'stable'
Conflicts:
ishtar_common/locale/fr/LC_MESSAGES/django.po
Diffstat (limited to 'archaeological_files')
-rw-r--r-- | archaeological_files/forms.py | 16 | ||||
-rw-r--r-- | archaeological_files/models.py | 2 | ||||
-rw-r--r-- | archaeological_files/wizards.py | 2 |
3 files changed, 17 insertions, 3 deletions
diff --git a/archaeological_files/forms.py b/archaeological_files/forms.py index ac3c9fe83..b03877a3d 100644 --- a/archaeological_files/forms.py +++ b/archaeological_files/forms.py @@ -228,7 +228,21 @@ class FileFormGeneralRO(FileFormGeneral): year = forms.IntegerField(label=_(u"Year"), widget=forms.TextInput(attrs={'readonly':True})) numeric_reference = forms.IntegerField(label=_(u"Numeric reference"), - widget=forms.TextInput(attrs={'readonly':True})) + widget=forms.TextInput()) + id = forms.IntegerField(' ', widget=forms.HiddenInput, required=False) + + def clean(self): + cleaned_data = self.cleaned_data + year = cleaned_data.get('year') + pk = cleaned_data.get('id') + numeric_reference = cleaned_data.get('numeric_reference') + q = models.File.objects.filter(year=year, + numeric_reference=numeric_reference + ).exclude(pk=pk) + if numeric_reference and q.count(): + raise forms.ValidationError( + _(u"Another file with this numeric id exists.")) + return cleaned_data RESPONSIBLE_PLANNING_SERVICE, created = PersonType.objects.get_or_create( txt_idx='responsible_planning_service') diff --git a/archaeological_files/models.py b/archaeological_files/models.py index 2b0b299ec..4c9705641 100644 --- a/archaeological_files/models.py +++ b/archaeological_files/models.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2012-2014 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet> +# Copyright (C) 2012-2015 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet> # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as diff --git a/archaeological_files/wizards.py b/archaeological_files/wizards.py index 3ccd6e3d9..26dc90f21 100644 --- a/archaeological_files/wizards.py +++ b/archaeological_files/wizards.py @@ -78,7 +78,7 @@ class FileWizard(OperationWizard): def get_extra_model(self, dct, form_list): dct = super(FileWizard, self).get_extra_model(dct, form_list) - if not dct['numeric_reference']: + if not dct.get('numeric_reference'): current_ref = models.File.objects.filter(year=dct['year'] ).aggregate(Max('numeric_reference'))["numeric_reference__max"] dct['numeric_reference'] = current_ref and current_ref + 1 or 1 |