Commit d3326054 authored by VAN ZUIJLEN Nils's avatar VAN ZUIJLEN Nils

Move basket content validation to get_object

`setup` runs before any permission check, so it should not access the
current user object

Fixes #51
parent b344eb3b
......@@ -323,18 +323,21 @@ class OrderEditView(LoginRequiredMixin, UpdateView):
object: Order
def get_object(self) -> Order: # type: ignore[override] # override not supported
return self.model.objects.get_current_order(self.request.user)
"""
Get the current order
def setup(self, request, *args, **kwargs):
"""Delete illegal objects prior to display"""
super().setup(request, *args, **kwargs)
Deletes illegal objects prior to display
"""
obj = self.model.objects.get_current_order(self.request.user)
if self.get_object().clean_illegal_items():
if obj.clean_illegal_items():
messages.error(
self.request,
"Certains objets sont périmés ou ont été cachés par un administrateur. Ils ont été supprimé du panier.",
"Certains objets sont périmés ou ont été cachés par un administrateur. Ils ont été supprimés du panier.",
)
return obj
def get_form_class(self) -> Type[BaseInlineFormSet]: # type: ignore[override] # override not supported
return inlineformset_factory(
self.model,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment