You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

app.py 3.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. from django.conf.urls.defaults 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, ProfileUpdateView
  7. from oscar.core.application import Application
  8. class CustomerApplication(Application):
  9. name = 'customer'
  10. summary_view = AccountSummaryView
  11. order_history_view = OrderHistoryView
  12. order_detail_view = OrderDetailView
  13. anon_order_detail_view = AnonymousOrderDetailView
  14. order_line_view = OrderLineView
  15. address_list_view = AddressListView
  16. address_create_view = AddressCreateView
  17. address_update_view = AddressUpdateView
  18. address_delete_view = AddressDeleteView
  19. email_list_view = EmailHistoryView
  20. email_detail_view = EmailDetailView
  21. login_view = AccountAuthView
  22. profile_update_view = ProfileUpdateView
  23. change_password_view = ChangePasswordView
  24. def get_urls(self):
  25. urlpatterns = patterns('django.contrib.auth.views',
  26. url(r'^logout/$', 'logout', name='logout', kwargs={'next_page': '/'}),
  27. )
  28. urlpatterns += patterns('',
  29. url(r'^$', login_required(self.summary_view.as_view()), name='summary'),
  30. url(r'^login/$', self.login_view.as_view(), name='login'),
  31. url(r'^change-password/$', self.change_password_view.as_view(),
  32. name='change-password'),
  33. # Profile
  34. url(r'^profile/$', login_required(self.profile_update_view.as_view()), name='profile-update'),
  35. url(r'^orders/$', login_required(self.order_history_view.as_view()), name='order-list'),
  36. url(r'^order-status/(?P<order_number>[\w-]*)/(?P<hash>\w+)/$',
  37. self.anon_order_detail_view.as_view(), name='anon-order'),
  38. url(r'^orders/(?P<order_number>[\w-]*)/$', login_required(self.order_detail_view.as_view()),
  39. name='order'),
  40. url(r'^orders/(?P<order_number>[\w-]*)/(?P<line_id>\d+)$',
  41. login_required(self.order_line_view.as_view()), name='order-line'),
  42. url(r'^addresses/$', login_required(self.address_list_view.as_view()),
  43. name='address-list'),
  44. url(r'^addresses/add/$', login_required(self.address_create_view.as_view()),
  45. name='address-create'),
  46. url(r'^addresses/(?P<pk>\d+)/$', login_required(self.address_update_view.as_view()),
  47. name='address-detail'),
  48. url(r'^addresses/(?P<pk>\d+)/delete/$', login_required(self.address_delete_view.as_view()),
  49. name='address-delete'),
  50. url(r'^emails/$', login_required(self.email_list_view.as_view()), name='email-list'),
  51. url(r'^emails/(?P<email_id>\d+)/$', login_required(self.email_detail_view.as_view()),
  52. name='email-detail'),
  53. )
  54. return self.post_process_urls(urlpatterns)
  55. application = CustomerApplication()