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 2.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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
  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. def get_urls(self):
  23. urlpatterns = patterns('django.contrib.auth.views',
  24. url(r'^logout/$', 'logout', name='logout', kwargs={'next_page': '/'}),
  25. )
  26. urlpatterns += patterns('',
  27. url(r'^$', login_required(self.summary_view.as_view()), name='summary'),
  28. url(r'^login/$', self.login_view.as_view(), name='login'),
  29. url(r'^orders/$', login_required(self.order_history_view.as_view()), name='order-list'),
  30. url(r'^order-status/(?P<order_number>[\w-]*)/(?P<hash>\w+)/$', self.anon_order_detail_view.as_view(), name='anon-order'),
  31. url(r'^orders/(?P<order_number>[\w-]*)/$', login_required(self.order_detail_view.as_view()), name='order'),
  32. url(r'^orders/(?P<order_number>[\w-]*)/(?P<line_id>\d+)$', login_required(self.order_line_view.as_view()), name='order-line'),
  33. url(r'^addresses/$', login_required(self.address_list_view.as_view()), name='address-list'),
  34. url(r'^addresses/add/$', login_required(self.address_create_view.as_view()), name='address-create'),
  35. url(r'^addresses/(?P<pk>\d+)/$', login_required(self.address_update_view.as_view()), name='address-detail'),
  36. url(r'^addresses/(?P<pk>\d+)/delete/$', login_required(self.address_delete_view.as_view()), name='address-delete'),
  37. url(r'^emails/$', login_required(self.email_list_view.as_view()), name='email-list'),
  38. url(r'^emails/(?P<email_id>\d+)/$', login_required(self.email_detail_view.as_view()), name='email-detail'),
  39. )
  40. return self.post_process_urls(urlpatterns)
  41. application = CustomerApplication()