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

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