Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. from django.conf.urls import patterns, url
  2. from django.contrib.auth.decorators import login_required
  3. from oscar.apps.customer.views import (AccountSummaryView, OrderHistoryView,
  4. OrderDetailView, OrderLineView, AddressListView, AddressCreateView,
  5. AddressUpdateView, AddressDeleteView, EmailHistoryView, EmailDetailView,
  6. AccountAuthView, AnonymousOrderDetailView, ChangePasswordView,
  7. ProfileUpdateView, AccountRegistrationView, LogoutView)
  8. from oscar.core.application import Application
  9. class CustomerApplication(Application):
  10. name = 'customer'
  11. summary_view = AccountSummaryView
  12. order_history_view = OrderHistoryView
  13. order_detail_view = OrderDetailView
  14. anon_order_detail_view = AnonymousOrderDetailView
  15. order_line_view = OrderLineView
  16. address_list_view = AddressListView
  17. address_create_view = AddressCreateView
  18. address_update_view = AddressUpdateView
  19. address_delete_view = AddressDeleteView
  20. email_list_view = EmailHistoryView
  21. email_detail_view = EmailDetailView
  22. login_view = AccountAuthView
  23. logout_view = LogoutView
  24. register_view = AccountRegistrationView
  25. profile_update_view = ProfileUpdateView
  26. change_password_view = ChangePasswordView
  27. def get_urls(self):
  28. urlpatterns = patterns('',
  29. url(r'^$', login_required(self.summary_view.as_view()),
  30. name='summary'),
  31. url(r'^login/$', self.login_view.as_view(), name='login'),
  32. url(r'^logout/$', self.logout_view.as_view(), name='logout'),
  33. url(r'^register/$', self.register_view.as_view(), name='register'),
  34. url(r'^change-password/$', self.change_password_view.as_view(),
  35. name='change-password'),
  36. # Profile
  37. url(r'^profile/$',
  38. login_required(self.profile_update_view.as_view()),
  39. name='profile-update'),
  40. url(r'^orders/$',
  41. login_required(self.order_history_view.as_view()),
  42. name='order-list'),
  43. url(r'^order-status/(?P<order_number>[\w-]*)/(?P<hash>\w+)/$',
  44. self.anon_order_detail_view.as_view(), name='anon-order'),
  45. url(r'^orders/(?P<order_number>[\w-]*)/$',
  46. login_required(self.order_detail_view.as_view()),
  47. name='order'),
  48. url(r'^orders/(?P<order_number>[\w-]*)/(?P<line_id>\d+)$',
  49. login_required(self.order_line_view.as_view()),
  50. name='order-line'),
  51. url(r'^addresses/$',
  52. login_required(self.address_list_view.as_view()),
  53. name='address-list'),
  54. url(r'^addresses/add/$',
  55. login_required(self.address_create_view.as_view()),
  56. name='address-create'),
  57. url(r'^addresses/(?P<pk>\d+)/$',
  58. login_required(self.address_update_view.as_view()),
  59. name='address-detail'),
  60. url(r'^addresses/(?P<pk>\d+)/delete/$',
  61. login_required(self.address_delete_view.as_view()),
  62. name='address-delete'),
  63. url(r'^emails/$',
  64. login_required(self.email_list_view.as_view()),
  65. name='email-list'),
  66. url(r'^emails/(?P<email_id>\d+)/$',
  67. login_required(self.email_detail_view.as_view()),
  68. name='email-detail'),
  69. )
  70. return self.post_process_urls(urlpatterns)
  71. application = CustomerApplication()