Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

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()