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.8KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. from django.conf.urls import patterns, url
  2. from oscar.core.application import Application
  3. from oscar.apps.dashboard.orders import views
  4. class OrdersDashboardApplication(Application):
  5. name = None
  6. default_permissions = ['is_staff', ]
  7. permissions_map = {
  8. 'order-list': (['is_staff'], ['partner.dashboard_access']),
  9. 'order-stats': (['is_staff'], ['partner.dashboard_access']),
  10. 'order-detail': (['is_staff'], ['partner.dashboard_access']),
  11. 'order-detail-note': (['is_staff'], ['partner.dashboard_access']),
  12. 'order-line-detail': (['is_staff'], ['partner.dashboard_access']),
  13. 'order-shipping-address': (['is_staff'], ['partner.dashboard_access']),
  14. }
  15. order_list_view = views.OrderListView
  16. order_detail_view = views.OrderDetailView
  17. shipping_address_view = views.ShippingAddressUpdateView
  18. line_detail_view = views.LineDetailView
  19. order_stats_view = views.OrderStatsView
  20. def get_urls(self):
  21. urls = [
  22. url(r'^$', self.order_list_view.as_view(), name='order-list'),
  23. url(r'^statistics/$', self.order_stats_view.as_view(),
  24. name='order-stats'),
  25. url(r'^(?P<number>[-\w]+)/$',
  26. self.order_detail_view.as_view(), name='order-detail'),
  27. url(r'^(?P<number>[-\w]+)/notes/(?P<note_id>\d+)/$',
  28. self.order_detail_view.as_view(), name='order-detail-note'),
  29. url(r'^(?P<number>[-\w]+)/lines/(?P<line_id>\d+)/$',
  30. self.line_detail_view.as_view(), name='order-line-detail'),
  31. url(r'^(?P<number>[-\w]+)/shipping-address/$',
  32. self.shipping_address_view.as_view(),
  33. name='order-shipping-address'),
  34. ]
  35. return self.post_process_urls(patterns('', *urls))
  36. application = OrdersDashboardApplication()