from django.conf.urls import patterns, url, include from oscar.views.decorators import staff_member_required from oscar.apps.dashboard import views from oscar.core.application import Application from oscar.core.loading import get_class class DashboardApplication(Application): name = 'dashboard' index_view = views.IndexView reports_app = get_class('dashboard.reports.app', 'application') orders_app = get_class('dashboard.orders.app', 'application') users_app = get_class('dashboard.users.app', 'application') catalogue_app = get_class('dashboard.catalogue.app', 'application') promotions_app = get_class('dashboard.promotions.app', 'application') pages_app = get_class('dashboard.pages.app', 'application') partners_app = get_class('dashboard.partners.app', 'application') offers_app = get_class('dashboard.offers.app', 'application') ranges_app = get_class('dashboard.ranges.app', 'application') reviews_app = get_class('dashboard.reviews.app', 'application') vouchers_app = get_class('dashboard.vouchers.app', 'application') comms_app = get_class('dashboard.communications.app', 'application') def get_urls(self): urlpatterns = patterns('', url(r'^$', self.index_view.as_view(), name='index'), url(r'^catalogue/', include(self.catalogue_app.urls)), url(r'^reports/', include(self.reports_app.urls)), url(r'^orders/', include(self.orders_app.urls)), url(r'^users/', include(self.users_app.urls)), url(r'^content-blocks/', include(self.promotions_app.urls)), url(r'^pages/', include(self.pages_app.urls)), url(r'^partners/', include(self.partners_app.urls)), url(r'^offers/', include(self.offers_app.urls)), url(r'^ranges/', include(self.ranges_app.urls)), url(r'^reviews/', include(self.reviews_app.urls)), url(r'^vouchers/', include(self.vouchers_app.urls)), url(r'^comms/', include(self.comms_app.urls)), ) return self.post_process_urls(urlpatterns) def get_url_decorator(self, url_name): return staff_member_required application = DashboardApplication()