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 3.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. from django.conf.urls import patterns, url
  2. from django.contrib.auth.decorators import login_required
  3. from oscar.apps.customer.views import (AccountSummaryView, OrderHistoryView,
  4. OrderDetailView, OrderLineView, AddressListView, AddressCreateView,
  5. AddressUpdateView, AddressDeleteView, EmailHistoryView, EmailDetailView,
  6. AccountAuthView, AnonymousOrderDetailView, ChangePasswordView,
  7. ProfileUpdateView, AccountRegistrationView, LogoutView)
  8. from oscar.core.application import Application
  9. class CustomerApplication(Application):
  10. name = 'customer'
  11. summary_view = AccountSummaryView
  12. order_history_view = OrderHistoryView
  13. order_detail_view = OrderDetailView
  14. anon_order_detail_view = AnonymousOrderDetailView
  15. order_line_view = OrderLineView
  16. address_list_view = AddressListView
  17. address_create_view = AddressCreateView
  18. address_update_view = AddressUpdateView
  19. address_delete_view = AddressDeleteView
  20. email_list_view = EmailHistoryView
  21. email_detail_view = EmailDetailView
  22. login_view = AccountAuthView
  23. logout_view = LogoutView
  24. register_view = AccountRegistrationView
  25. profile_update_view = ProfileUpdateView
  26. change_password_view = ChangePasswordView
  27. def get_urls(self):
  28. urlpatterns = patterns('',
  29. url(r'^$', login_required(self.summary_view.as_view()),
  30. name='summary'),
  31. url(r'^login/$', self.login_view.as_view(), name='login'),
  32. url(r'^logout/$', self.logout_view.as_view(), name='logout'),
  33. url(r'^register/$', self.register_view.as_view(), name='register'),
  34. url(r'^change-password/$', self.change_password_view.as_view(),
  35. name='change-password'),
  36. # Profile
  37. url(r'^profile/$',
  38. login_required(self.profile_update_view.as_view()),
  39. name='profile-update'),
  40. url(r'^orders/$',
  41. login_required(self.order_history_view.as_view()),
  42. name='order-list'),
  43. url(r'^order-status/(?P<order_number>[\w-]*)/(?P<hash>\w+)/$',
  44. self.anon_order_detail_view.as_view(), name='anon-order'),
  45. url(r'^orders/(?P<order_number>[\w-]*)/$',
  46. login_required(self.order_detail_view.as_view()),
  47. name='order'),
  48. url(r'^orders/(?P<order_number>[\w-]*)/(?P<line_id>\d+)$',
  49. login_required(self.order_line_view.as_view()),
  50. name='order-line'),
  51. url(r'^addresses/$',
  52. login_required(self.address_list_view.as_view()),
  53. name='address-list'),
  54. url(r'^addresses/add/$',
  55. login_required(self.address_create_view.as_view()),
  56. name='address-create'),
  57. url(r'^addresses/(?P<pk>\d+)/$',
  58. login_required(self.address_update_view.as_view()),
  59. name='address-detail'),
  60. url(r'^addresses/(?P<pk>\d+)/delete/$',
  61. login_required(self.address_delete_view.as_view()),
  62. name='address-delete'),
  63. url(r'^emails/$',
  64. login_required(self.email_list_view.as_view()),
  65. name='email-list'),
  66. url(r'^emails/(?P<email_id>\d+)/$',
  67. login_required(self.email_detail_view.as_view()),
  68. name='email-detail'),
  69. )
  70. return self.post_process_urls(urlpatterns)
  71. application = CustomerApplication()