Pārlūkot izejas kodu

Stopped treating checkout:index as a special case.

This view has a form that assumes anon checkout is allowed, which it
isn't always.  Treating it as a special case was causing it to be
displayed when it shouldn't.
master
David Winterbottom 13 gadus atpakaļ
vecāks
revīzija
f9b34c4740

+ 1
- 3
oscar/apps/checkout/app.py Parādīt failu

10
 
10
 
11
 class CheckoutApplication(Application):
11
 class CheckoutApplication(Application):
12
     name = 'checkout'
12
     name = 'checkout'
13
-    
13
+
14
     index_view = IndexView
14
     index_view = IndexView
15
     shipping_address_view = ShippingAddressView
15
     shipping_address_view = ShippingAddressView
16
     user_address_create_view = UserAddressCreateView
16
     user_address_create_view = UserAddressCreateView
40
         return self.post_process_urls(urlpatterns)
40
         return self.post_process_urls(urlpatterns)
41
 
41
 
42
     def get_url_decorator(self, pattern):
42
     def get_url_decorator(self, pattern):
43
-        if pattern.name == 'index':
44
-            return None
45
         if not settings.OSCAR_ALLOW_ANON_CHECKOUT:
43
         if not settings.OSCAR_ALLOW_ANON_CHECKOUT:
46
             return login_required
44
             return login_required
47
         if pattern.name.startswith('user-address'):
45
         if pattern.name.startswith('user-address'):

+ 1
- 1
sandbox/settings.py Parādīt failu

247
 
247
 
248
 
248
 
249
 OSCAR_RECENTLY_VIEWED_PRODUCTS = 20
249
 OSCAR_RECENTLY_VIEWED_PRODUCTS = 20
250
-OSCAR_ALLOW_ANON_CHECKOUT = True
250
+OSCAR_ALLOW_ANON_CHECKOUT = False
251
 OSCAR_INITIAL_ORDER_STATUS = 'Pending'
251
 OSCAR_INITIAL_ORDER_STATUS = 'Pending'
252
 OSCAR_INITIAL_LINE_STATUS = 'Pending'
252
 OSCAR_INITIAL_LINE_STATUS = 'Pending'
253
 OSCAR_ORDER_STATUS_PIPELINE = {
253
 OSCAR_ORDER_STATUS_PIPELINE = {

+ 6
- 6
tests/functional/checkout_tests.py Parādīt failu

55
 class DisabledAnonymousCheckoutViewsTests(ClientTestCase):
55
 class DisabledAnonymousCheckoutViewsTests(ClientTestCase):
56
     is_anonymous = True
56
     is_anonymous = True
57
 
57
 
58
-    def test_index_does_not_require_login(self):
58
+    def test_index_does_require_login(self):
59
         url = reverse('checkout:index')
59
         url = reverse('checkout:index')
60
         response = self.client.get(url)
60
         response = self.client.get(url)
61
-        self.assertIsOk(response)
61
+        self.assertIsRedirect(response)
62
 
62
 
63
     def test_user_address_views_require_a_login(self):
63
     def test_user_address_views_require_a_login(self):
64
         urls = [reverse('checkout:user-address-create'),
64
         urls = [reverse('checkout:user-address-create'),
118
         self.add_product_to_basket()
118
         self.add_product_to_basket()
119
         response = self.client.get(reverse('checkout:shipping-address'))
119
         response = self.client.get(reverse('checkout:shipping-address'))
120
         self.assertIsOk(response)
120
         self.assertIsOk(response)
121
-    
121
+
122
     def test_anon_checkout_disabled_by_default(self):
122
     def test_anon_checkout_disabled_by_default(self):
123
         self.assertFalse(settings.OSCAR_ALLOW_ANON_CHECKOUT)
123
         self.assertFalse(settings.OSCAR_ALLOW_ANON_CHECKOUT)
124
 
124
 
163
 class TestPaymentMethodView(ClientTestCase, CheckoutMixin):
163
 class TestPaymentMethodView(ClientTestCase, CheckoutMixin):
164
 
164
 
165
     def test_view_redirects_if_no_shipping_address(self):
165
     def test_view_redirects_if_no_shipping_address(self):
166
-        self.add_product_to_basket() 
166
+        self.add_product_to_basket()
167
         response = self.client.get(reverse('checkout:payment-method'))
167
         response = self.client.get(reverse('checkout:payment-method'))
168
         self.assertIsRedirect(response)
168
         self.assertIsRedirect(response)
169
         self.assertRedirectUrlName(response, 'checkout:shipping-address')
169
         self.assertRedirectUrlName(response, 'checkout:shipping-address')
170
 
170
 
171
     def test_view_redirects_if_no_shipping_method(self):
171
     def test_view_redirects_if_no_shipping_method(self):
172
-        self.add_product_to_basket() 
172
+        self.add_product_to_basket()
173
         self.complete_shipping_address()
173
         self.complete_shipping_address()
174
         response = self.client.get(reverse('checkout:payment-method'))
174
         response = self.client.get(reverse('checkout:payment-method'))
175
         self.assertIsRedirect(response)
175
         self.assertIsRedirect(response)
253
         self.assertIsRedirect(self.response)
253
         self.assertIsRedirect(self.response)
254
         orders = Order.objects.all()
254
         orders = Order.objects.all()
255
         self.assertEqual(1, len(orders))
255
         self.assertEqual(1, len(orders))
256
-        
256
+
257
 
257
 
258
 class TestPlacingOrderUsingAVoucher(ClientTestCase, CheckoutMixin):
258
 class TestPlacingOrderUsingAVoucher(ClientTestCase, CheckoutMixin):
259
 
259
 

Notiek ielāde…
Atcelt
Saglabāt