Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. from django.conf.urls import patterns, url
  2. from django.contrib.auth.decorators import login_required
  3. from django.conf import settings
  4. from oscar.core.application import Application
  5. from oscar.apps.checkout import views
  6. class CheckoutApplication(Application):
  7. name = 'checkout'
  8. index_view = views.IndexView
  9. shipping_address_view = views.ShippingAddressView
  10. user_address_update_view = views.UserAddressUpdateView
  11. user_address_delete_view = views.UserAddressDeleteView
  12. shipping_method_view = views.ShippingMethodView
  13. payment_method_view = views.PaymentMethodView
  14. payment_details_view = views.PaymentDetailsView
  15. thankyou_view = views.ThankYouView
  16. def get_urls(self):
  17. urlpatterns = patterns('',
  18. url(r'^$', self.index_view.as_view(), name='index'),
  19. # Shipping/user address views
  20. url(r'shipping-address/$',
  21. self.shipping_address_view.as_view(), name='shipping-address'),
  22. url(r'user-address/edit/(?P<pk>\d+)/$',
  23. self.user_address_update_view.as_view(),
  24. name='user-address-update'),
  25. url(r'user-address/delete/(?P<pk>\d+)/$',
  26. self.user_address_delete_view.as_view(),
  27. name='user-address-delete'),
  28. # Shipping method views
  29. url(r'shipping-method/$',
  30. self.shipping_method_view.as_view(), name='shipping-method'),
  31. # Payment method views
  32. url(r'payment-method/$',
  33. self.payment_method_view.as_view(), name='payment-method'),
  34. url(r'payment-details/$',
  35. self.payment_details_view.as_view(), name='payment-details'),
  36. # Preview and thankyou
  37. url(r'preview/$',
  38. self.payment_details_view.as_view(preview=True),
  39. name='preview'),
  40. url(r'thank-you/$', self.thankyou_view.as_view(),
  41. name='thank-you'),
  42. )
  43. return self.post_process_urls(urlpatterns)
  44. def get_url_decorator(self, pattern):
  45. if not settings.OSCAR_ALLOW_ANON_CHECKOUT:
  46. return login_required
  47. if pattern.name.startswith('user-address'):
  48. return login_required
  49. return None
  50. application = CheckoutApplication()