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

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. from django.conf.urls.defaults import patterns, url
  2. from django.contrib.admin.views.decorators import staff_member_required
  3. from oscar.core.application import Application
  4. from oscar.apps.dashboard.orders import views
  5. from oscar.apps.dashboard.nav import register, Node
  6. node = Node('Orders')
  7. node.add_child(Node('Orders', 'dashboard:order-list'))
  8. node.add_child(Node('Statistics', 'dashboard:order-stats'))
  9. register(node, 60)
  10. class OrdersDashboardApplication(Application):
  11. name = None
  12. order_list_view = views.OrderListView
  13. order_detail_view = views.OrderDetailView
  14. shipping_address_view = views.ShippingAddressUpdateView
  15. line_detail_view = views.LineDetailView
  16. order_stats_view = views.OrderStatsView
  17. def get_urls(self):
  18. urlpatterns = patterns('',
  19. url(r'^$', self.order_list_view.as_view(), name='order-list'),
  20. url(r'^statistics/$', self.order_stats_view.as_view(), name='order-stats'),
  21. url(r'^(?P<number>[-\w]+)/$',
  22. self.order_detail_view.as_view(), name='order-detail'),
  23. url(r'^(?P<number>[-\w]+)/notes/(?P<note_id>\d+)/$',
  24. self.order_detail_view.as_view(), name='order-detail-note'),
  25. url(r'^(?P<number>[-\w]+)/lines/(?P<line_id>\d+)/$',
  26. self.line_detail_view.as_view(), name='order-line-detail'),
  27. url(r'^(?P<number>[-\w]+)/shipping-address/$',
  28. self.shipping_address_view.as_view(), name='order-shipping-address'),
  29. )
  30. return self.post_process_urls(urlpatterns)
  31. def get_url_decorator(self, url_name):
  32. return staff_member_required
  33. application = OrdersDashboardApplication()