Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

app.py 2.3KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. from django.conf.urls import url
  2. from oscar.core.loading import get_class
  3. from oscar.core.application import Application
  4. class OffersDashboardApplication(Application):
  5. name = None
  6. default_permissions = ['is_staff', ]
  7. list_view = get_class('dashboard.offers.views', 'OfferListView')
  8. metadata_view = get_class('dashboard.offers.views', 'OfferMetaDataView')
  9. condition_view = get_class('dashboard.offers.views', 'OfferConditionView')
  10. benefit_view = get_class('dashboard.offers.views', 'OfferBenefitView')
  11. restrictions_view = get_class('dashboard.offers.views',
  12. 'OfferRestrictionsView')
  13. delete_view = get_class('dashboard.offers.views', 'OfferDeleteView')
  14. detail_view = get_class('dashboard.offers.views', 'OfferDetailView')
  15. def get_urls(self):
  16. urls = [
  17. url(r'^$', self.list_view.as_view(), name='offer-list'),
  18. # Creation
  19. url(r'^new/name-and-description/$', self.metadata_view.as_view(),
  20. name='offer-metadata'),
  21. url(r'^new/condition/$', self.condition_view.as_view(),
  22. name='offer-condition'),
  23. url(r'^new/incentive/$', self.benefit_view.as_view(),
  24. name='offer-benefit'),
  25. url(r'^new/restrictions/$', self.restrictions_view.as_view(),
  26. name='offer-restrictions'),
  27. # Update
  28. url(r'^(?P<pk>\d+)/name-and-description/$',
  29. self.metadata_view.as_view(update=True),
  30. name='offer-metadata'),
  31. url(r'^(?P<pk>\d+)/condition/$',
  32. self.condition_view.as_view(update=True),
  33. name='offer-condition'),
  34. url(r'^(?P<pk>\d+)/incentive/$',
  35. self.benefit_view.as_view(update=True),
  36. name='offer-benefit'),
  37. url(r'^(?P<pk>\d+)/restrictions/$',
  38. self.restrictions_view.as_view(update=True),
  39. name='offer-restrictions'),
  40. # Delete
  41. url(r'^(?P<pk>\d+)/delete/$',
  42. self.delete_view.as_view(), name='offer-delete'),
  43. # Stats
  44. url(r'^(?P<pk>\d+)/$', self.detail_view.as_view(),
  45. name='offer-detail'),
  46. ]
  47. return self.post_process_urls(urls)
  48. application = OffersDashboardApplication()