Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. from django.conf.urls import patterns, url
  2. from django.contrib.admin.views.decorators import staff_member_required
  3. from django.utils.translation import ugettext_lazy as _
  4. from oscar.core.application import Application
  5. from oscar.apps.dashboard.offers import views
  6. from oscar.apps.dashboard.nav import register, Node
  7. node = Node(_('Offers'), 'dashboard:offer-list')
  8. register(node, 50)
  9. class OffersDashboardApplication(Application):
  10. name = None
  11. list_view = views.OfferListView
  12. metadata_view = views.OfferMetaDataView
  13. condition_view = views.OfferConditionView
  14. benefit_view = views.OfferBenefitView
  15. preview_view = views.OfferPreviewView
  16. delete_view = views.OfferDeleteView
  17. detail_view = views.OfferDetailView
  18. def get_urls(self):
  19. urlpatterns = patterns('',
  20. url(r'^$', self.list_view.as_view(), name='offer-list'),
  21. # Creation
  22. url(r'^metadata/$', self.metadata_view.as_view(), name='offer-metadata'),
  23. url(r'^condition/$', self.condition_view.as_view(), name='offer-condition'),
  24. url(r'^benefit/$', self.benefit_view.as_view(), name='offer-benefit'),
  25. url(r'^preview/$', self.preview_view.as_view(), name='offer-preview'),
  26. # Update
  27. url(r'^(?P<pk>\d+)/metadata/$', self.metadata_view.as_view(update=True), name='offer-metadata'),
  28. url(r'^(?P<pk>\d+)/condition/$', self.condition_view.as_view(update=True), name='offer-condition'),
  29. url(r'^(?P<pk>\d+)/benefit/$', self.benefit_view.as_view(update=True), name='offer-benefit'),
  30. url(r'^(?P<pk>\d+)/preview/$', self.preview_view.as_view(update=True), name='offer-preview'),
  31. # Delete
  32. url(r'^(?P<pk>\d+)/delete/$', self.delete_view.as_view(), name='offer-delete'),
  33. # Stats
  34. url(r'^(?P<pk>\d+)/$', self.detail_view.as_view(), name='offer-detail'),
  35. )
  36. return self.post_process_urls(urlpatterns)
  37. def get_url_decorator(self, url_name):
  38. return staff_member_required
  39. application = OffersDashboardApplication()