I am trying to write a shipping method base on both by country and also weight-base in Django-oscar. It seems the default shipping methods must also have these
from oscar.apps.shipping.methods import Free, FixedPrice, NoShippingRequired
I do not required any of the above and would only provide discount for shipping through discounts.
How do I write by repository.py so I do not apply any of these oscar.apps.shipping.methods import Free, FixedPrice, NoShippingRequired
So I can just write my class Repository (CoreRepository):
Without writing
methods += [NoShippingRequired()]
methods += [FixedPrice()]
methods += [Free()]
The method I have written is not code based but implemented through the shipping menu in the dashboard. I followed the following to set my shipping.
https://groups.google.com/forum/#!topic/django-oscar/H4tf20ujm8k
When testing, on the page 'Shipping Menu', both the 'HandDelivery', and my weight-based by country shipping method button is displayed to customer. Which means customer can click the HandDelivery button too even when customer is based internationally. I wished to disable that 'HandDelivery' button at the Shipping method page, so it is not an option for customers to select at all.
Another option is to attached a message to this button to make it clear to customers that clicking that button means arranging to collect item from warehouse within 1 week of reservation.
How do I display that the message to the customer? Customer is not taking onto the payment page. And an email is sent so items can be collected within 7 days? Like similar to argos, reserve, item, go to shop, pay, and collect. So I could change the discription of 'HandDelivery' to reserve. Then customer does not pay but pay upon collection. But how?