feat: added user order list view
This commit is contained in:
@@ -19,6 +19,7 @@ from shop.models import (
|
||||
from shop.redsys import RedsysClient
|
||||
from shop.utils import create_order_from_cart
|
||||
from web.forms import CreateOrderForm
|
||||
from web.mixins import PaginatedQuerysetMixin, FilteredQuerysetMixin
|
||||
from web.models import WebSettings
|
||||
from web.settings import ANONYMOUS_CART_ID_COOKIE_NAME
|
||||
from web.utils import get_or_create_cart
|
||||
@@ -192,6 +193,24 @@ class WishlistView(TemplateView):
|
||||
}
|
||||
|
||||
|
||||
class OrdersView(TemplateView, FilteredQuerysetMixin, PaginatedQuerysetMixin):
|
||||
template_name = "web/orders.html"
|
||||
|
||||
def get_queryset(self):
|
||||
return Order.objects.filter(user=self.request.user).exclude(status=Order.Statuses.STATUS_PENDING)
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
settings = WebSettings.load()
|
||||
qs = self.get_queryset()
|
||||
page = self.get_paginated_queryset(qs)
|
||||
|
||||
return {
|
||||
"page": page,
|
||||
"has_next_page": page.has_next(),
|
||||
"has_previous_page": page.has_previous(),
|
||||
}
|
||||
|
||||
|
||||
@require_http_methods(
|
||||
[
|
||||
"POST",
|
||||
@@ -311,3 +330,4 @@ product_detail = ProductDetail.as_view()
|
||||
cart_detail = CartDetail.as_view()
|
||||
order_detail = OrderDetail.as_view()
|
||||
wishlist = WishlistView.as_view()
|
||||
orders = OrdersView.as_view()
|
||||
|
||||
Reference in New Issue
Block a user