diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-02-16 14:42:01 +0100 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-02-16 14:42:01 +0100 | 
| commit | 36db82b63295ef2bec9b01c934ee0ad76bdc13b8 (patch) | |
| tree | 757748dd103101658124bcde50edf99b9544b9e5 /archaeological_operations/forms.py | |
| parent | 65fc62c22174697432bd8517e91f13cd03f3dcd4 (diff) | |
| download | Ishtar-36db82b63295ef2bec9b01c934ee0ad76bdc13b8.tar.bz2 Ishtar-36db82b63295ef2bec9b01c934ee0ad76bdc13b8.zip | |
Site: modification wizard (refs #3913)
Diffstat (limited to 'archaeological_operations/forms.py')
| -rw-r--r-- | archaeological_operations/forms.py | 9 | 
1 files changed, 6 insertions, 3 deletions
| diff --git a/archaeological_operations/forms.py b/archaeological_operations/forms.py index bf69a74b5..8954dae77 100644 --- a/archaeological_operations/forms.py +++ b/archaeological_operations/forms.py @@ -1273,7 +1273,7 @@ class SiteFormSelection(IshtarForm):              reverse_lazy('get-site'), SiteSelect,              models.ArchaeologicalSite,              source_full=reverse_lazy('get-site-full')), -        validators=[valid_id(models.Operation)]) +        validators=[valid_id(models.ArchaeologicalSite)])      @classmethod      def form_label(cls): @@ -1292,6 +1292,7 @@ class SiteForm(ManageOldType):      form_label = _(u"General")      form_admin_name = _(u"Archaeological site - 010 - General")      associated_models = {'period': models.Period, 'remain': models.RemainType} +    pk = forms.IntegerField(required=False, widget=forms.HiddenInput)      reference = forms.CharField(label=_(u"Reference"), max_length=20)      name = forms.CharField(label=_(u"Name"), max_length=200, required=False)      period = forms.MultipleChoiceField( @@ -1308,8 +1309,10 @@ class SiteForm(ManageOldType):      def clean_reference(self):          reference = self.cleaned_data['reference'] -        if models.ArchaeologicalSite.objects.filter( -                reference=reference).count(): +        q = models.ArchaeologicalSite.objects.filter(reference=reference) +        if 'pk' in self.cleaned_data and self.cleaned_data['pk']: +            q = q.exclude(pk=self.cleaned_data['pk']) +        if q.count():              raise forms.ValidationError(_(u"This reference already exists."))          return reference | 
