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.

__init__.py 1.8KB

12345678910111213141516171819202122232425262728293031323334
  1. from django.conf.urls.defaults import patterns, url, include
  2. from django.contrib.auth.decorators import login_required
  3. from oscar.apps.customer.views import AccountSummaryView, OrderHistoryView, \
  4. OrderHistoryView, OrderDetailView, OrderLineView, AddressListView, AddressUpdateView, AddressDeleteView
  5. from oscar.core.application import Application
  6. class CustomerApplication(Application):
  7. name = 'customer'
  8. summary_view = AccountSummaryView
  9. order_history_view = OrderHistoryView
  10. order_detail_view = OrderDetailView
  11. order_line_view = OrderLineView
  12. address_list_view = AddressListView
  13. address_update_view = AddressUpdateView
  14. address_delete_view = AddressDeleteView
  15. def get_urls(self):
  16. urlpatterns = patterns('django.contrib.auth.views',
  17. url(r'^login/$', 'login', {'template_name': 'admin/login.html'}, name='login'),
  18. url(r'^logout/$', 'login', name='logout'),
  19. )
  20. urlpatterns += patterns('',
  21. url(r'^$', login_required(self.summary_view.as_view()), name='summary'),
  22. url(r'^orders/$', login_required(self.order_history_view.as_view()), name='order-list'),
  23. url(r'^orders/(?P<order_number>[\w-]*)/$', login_required(self.order_detail_view.as_view()), name='order'),
  24. url(r'^orders/(?P<order_number>[\w-]*)/(?P<line_id>\w+)$', login_required(self.order_line_view), name='order-line'),
  25. url(r'^addresses/$', login_required(self.address_list_view.as_view()), name='address-list'),
  26. url(r'^addresses/(?P<pk>\d+)/$', login_required(self.address_update_view.as_view()), name='address'),
  27. url(r'^addresses/(?P<pk>\d+)/delete/$', login_required(self.address_delete_view.as_view()), name='address-delete'),
  28. )
  29. return urlpatterns
  30. application = CustomerApplication()