diff options
Diffstat (limited to 'archaeological_warehouse/forms.py')
| -rw-r--r-- | archaeological_warehouse/forms.py | 15 | 
1 files changed, 15 insertions, 0 deletions
| diff --git a/archaeological_warehouse/forms.py b/archaeological_warehouse/forms.py index 94d37d092..ecf040a7e 100644 --- a/archaeological_warehouse/forms.py +++ b/archaeological_warehouse/forms.py @@ -121,6 +121,21 @@ class WarehouseFormSelection(forms.Form):              WarehouseSelect, models.Warehouse, gallery=True, map=True),          validators=[valid_id(models.Warehouse)]) +    def clean(self): +        cleaned_data = self.cleaned_data +        if 'pk' not in cleaned_data or not cleaned_data['pk']: +            raise forms.ValidationError(_(u"You should select an item.")) +        pk = self.cleaned_data["pk"] +        try: +            item = models.Warehouse.objects.get(pk=pk) +        except models.Warehouse.DoesNotExist: +            raise forms.ValidationError(_("Invalid selection.")) +        print(item) +        if item.locked: +            raise forms.ValidationError(_("This warehouse is locked for " +                                          "edition.")) +        return self.cleaned_data +  class WarehouseForm(CustomForm, ManageOldType, forms.Form):      HEADERS = {} | 
