checkout/src/purchase/views.py

38 lines
1 KiB
Python
Raw Normal View History

2022-04-24 18:59:04 +02:00
from django.contrib.auth.mixins import LoginRequiredMixin, PermissionRequiredMixin
from django.urls import reverse
2022-04-25 16:27:59 +02:00
from django.views.generic import CreateView, DeleteView, ListView, UpdateView
2022-04-24 16:21:39 +02:00
2022-04-24 18:59:04 +02:00
from purchase.forms import BasketForm
from purchase.models import Basket
class ProtectedViewsMixin(PermissionRequiredMixin, LoginRequiredMixin):
pass
class NewBasketView(ProtectedViewsMixin, CreateView):
permission_required = ["purchase.add_basket"]
model = Basket
form_class = BasketForm
class UpdateBasketView(ProtectedViewsMixin, UpdateView):
permission_required = ["purchase.change_basket", "purchase.view_basket"]
model = Basket
form_class = BasketForm
2022-04-25 16:27:59 +02:00
class ListBasketsView(ProtectedViewsMixin, ListView):
permission_required = ["purchase.view_basket"]
model = Basket
context_object_name = "baskets"
ordering = "-id"
class DeleteBasketView(ProtectedViewsMixin, DeleteView):
permission_required = ["purchase.delete_basket"]
model = Basket
def get_success_url(self):
return reverse("purchase:list")