From 05ed481007604079612aa4b0f1f3bb8d4d35a6e5 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Tue, 10 Sep 2019 18:02:50 +0200 Subject: Locks: prevent edit actions --- archaeological_warehouse/forms.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'archaeological_warehouse/forms.py') 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 = {} -- cgit v1.2.3