diff --git a/kfet/models.py b/kfet/models.py index 0e3af79b..ff69d0fa 100644 --- a/kfet/models.py +++ b/kfet/models.py @@ -186,6 +186,9 @@ class Checkout(models.Model): class Meta: ordering = ['-valid_to'] + class IsProtected(Exception): + pass + def __str__(self): return self.name diff --git a/kfet/views.py b/kfet/views.py index 6f478d7d..529e6053 100644 --- a/kfet/views.py +++ b/kfet/views.py @@ -397,7 +397,9 @@ def kpsul_perform_operations(request): try: checkout_pk = request.POST.get('checkout', 0) checkout = Checkout.objects.get(pk=checkout_pk) - except (Checkout.DoesNotExist, ValueError): + if checkout.is_protected: + raise Checkout.IsProtected + except (Checkout.DoesNotExist, ValueError, Checkout.IsProtected): data['errors'].append('Caisse invalide') if 'errors' in data: return JsonResponse(data, status=400)