@@ -24,6 +24,7 @@ class OrderView(mixins.ListModelMixin, mixins.RetrieveModelMixin, mixins.UpdateM
24
24
detail_serializer_class = OrderDetailSerializer
25
25
lookup_field = lookup_url_kwarg = 'slug'
26
26
many = True
27
+ is_last = False
27
28
28
29
def get_queryset (self ):
29
30
return OrderModel .objects .filter_from_request (self .request )
@@ -36,9 +37,9 @@ def get_serializer_class(self):
36
37
def get_renderer_context (self ):
37
38
renderer_context = super (OrderView , self ).get_renderer_context ()
38
39
if self .request .accepted_renderer .format == 'html' :
39
- renderer_context [ ' many' ] = self .many
40
- if self .many is False :
41
- # add an extra ance to the breadcrumb
40
+ renderer_context . update ( many = self .many , is_last = self . is_last )
41
+ if self .many is False and self . is_last is False :
42
+ # add an extra ance to the breadcrumb to show the order number
42
43
try :
43
44
renderer_context ['extra_ance' ] = self .get_object ().get_number ()
44
45
except (AttributeError , PermissionDenied ):
@@ -63,15 +64,11 @@ def allowed_methods(self):
63
64
64
65
@never_cache
65
66
def get (self , request , * args , ** kwargs ):
66
- if self .is_last ():
67
- self .many = False
68
67
if self .many :
69
68
return self .list (request , * args , ** kwargs )
70
69
return self .retrieve (request , * args , ** kwargs )
71
70
72
71
def post (self , request , * args , ** kwargs ):
73
- if self .is_last ():
74
- self .many = False
75
72
if self .many :
76
73
return self .list (request , * args , ** kwargs )
77
74
self .update (request , * args , ** kwargs )
@@ -88,10 +85,3 @@ def retrieve(self, request, *args, **kwargs):
88
85
return super (OrderView , self ).retrieve (request , * args , ** kwargs )
89
86
except OrderModel .DoesNotExist :
90
87
raise NotFound ("No order has been found for the current user." )
91
-
92
- def is_last (self ):
93
- """
94
- Return true, if the last order shall be rendered.
95
- Useful to render a Thank-You view immediately after a purchase.
96
- """
97
- return self .request .current_page .reverse_id == 'shop-order-last'
0 commit comments