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.

repository.py 760B

12345678910111213141516171819202122232425262728
  1. from oscar.apps.shipping.methods import Free, NoShippingRequired
  2. from oscar.apps.shipping.repository import Repository as CoreRepository
  3. # Dummy shipping methods
  4. free1 = Free()
  5. free1.code = 'free1'
  6. free1.description = 'Ship by van'
  7. free2 = Free()
  8. free2.code = 'free2'
  9. free2.description = 'Ship by boat'
  10. class Repository(CoreRepository):
  11. methods = {
  12. free1.code: free1,
  13. free2.code: free2
  14. }
  15. def get_shipping_methods(self, user, basket, shipping_addr=None, **kwargs):
  16. methods = self.methods.values()
  17. return self.add_basket_to_methods(basket, methods)
  18. def find_by_code(self, code):
  19. if code == NoShippingRequired.code:
  20. return NoShippingRequired()
  21. return self.methods.get(code, None)