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.

apps.py 2.6KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. from django.apps import apps
  2. from django.urls import include, path
  3. from django.utils.translation import gettext_lazy as _
  4. from oscar.core.application import OscarDashboardConfig
  5. from oscar.core.loading import get_class
  6. class DashboardConfig(OscarDashboardConfig):
  7. label = "dashboard"
  8. name = "oscar.apps.dashboard"
  9. verbose_name = _("Dashboard")
  10. namespace = "dashboard"
  11. permissions_map = {
  12. "index": (["is_staff"], ["partner.dashboard_access"]),
  13. }
  14. # pylint: disable=attribute-defined-outside-init
  15. def ready(self):
  16. self.index_view = get_class("dashboard.views", "IndexView")
  17. self.login_view = get_class("dashboard.views", "LoginView")
  18. self.catalogue_app = apps.get_app_config("catalogue_dashboard")
  19. self.reports_app = apps.get_app_config("reports_dashboard")
  20. self.orders_app = apps.get_app_config("orders_dashboard")
  21. self.users_app = apps.get_app_config("users_dashboard")
  22. self.pages_app = apps.get_app_config("pages_dashboard")
  23. self.partners_app = apps.get_app_config("partners_dashboard")
  24. self.offers_app = apps.get_app_config("offers_dashboard")
  25. self.ranges_app = apps.get_app_config("ranges_dashboard")
  26. self.reviews_app = apps.get_app_config("reviews_dashboard")
  27. self.vouchers_app = apps.get_app_config("vouchers_dashboard")
  28. self.comms_app = apps.get_app_config("communications_dashboard")
  29. self.shipping_app = apps.get_app_config("shipping_dashboard")
  30. def get_urls(self):
  31. from django.contrib.auth import views as auth_views
  32. urls = [
  33. path("", self.index_view.as_view(), name="index"),
  34. path("catalogue/", include(self.catalogue_app.urls[0])),
  35. path("reports/", include(self.reports_app.urls[0])),
  36. path("orders/", include(self.orders_app.urls[0])),
  37. path("users/", include(self.users_app.urls[0])),
  38. path("pages/", include(self.pages_app.urls[0])),
  39. path("partners/", include(self.partners_app.urls[0])),
  40. path("offers/", include(self.offers_app.urls[0])),
  41. path("ranges/", include(self.ranges_app.urls[0])),
  42. path("reviews/", include(self.reviews_app.urls[0])),
  43. path("vouchers/", include(self.vouchers_app.urls[0])),
  44. path("comms/", include(self.comms_app.urls[0])),
  45. path("shipping/", include(self.shipping_app.urls[0])),
  46. path("login/", self.login_view.as_view(), name="login"),
  47. path(
  48. "logout/", auth_views.LogoutView.as_view(next_page="/"), name="logout"
  49. ),
  50. ]
  51. return self.post_process_urls(urls)