-
-
Notifications
You must be signed in to change notification settings - Fork 366
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[MIG][IMP] delivery_multi_destination: Introduce 'based on destination' delivery type #887
base: 16.0
Are you sure you want to change the base?
[MIG][IMP] delivery_multi_destination: Introduce 'based on destination' delivery type #887
Conversation
…livery type website_sale_delivery checks whether delivery_type is set to 'fixed' for some behaviours. And before this commit, multi-destination carriers effectively always had the delivery_type set to 'fixed'. However, because children of the multi-destination carrier can be something other than 'fixed', this causes some strange behaviours. (Example, on the delivery selection page, you expect 'Select to compute delivery rate' to show up for non-'fixed' carriers, but this doesn't happen.) We can't make website_sale_delivery aware of destination_type, but we _can_ introduce a non-'fixed' delivery type. So that's what we do here. The choice was made to turn the destination type into a computed value dependent on the delivery type because there is strong coupling between the two values, and trying to keep the two values in sync using onchange/constrains/etc resulted in terrible spaghetti code. Co-Authored-By: Carmen Bianca BAKKER <[email protected]> Signed-off-by: Carmen Bianca BAKKER <[email protected]>
@carmenbianca tested functionally on the runboat
|
88a7398
to
0c29bca
Compare
@polchampion could you try again? it seems that the error you reported is unrelated to the changes. how to reproduce it? |
@huguesdk Can't reproduce the above error, but I tested anew and couldn't make it work.
I'm perhaps wrong on the multi-destination usage, but I'm otherwise not sure how to best test the wanted behaviour. I believe the test should work in any case. |
* take the provided domain into account in .name_search() (and add a condition to it) instead of replacing it completely. * rename the args argument of .search() to domain, as in the parent method.
* define .base_on_destination_rate_shipment() and .base_on_destination_send_shipping() instead of overriding .rate_shipment() and .send_shipping() and filtering on destination_type. * always return a value in .base_on_destination_rate_shipment() to fail nicely if no sub-carrier matches.
deec538
to
dbab84b
Compare
|
Backported from #871
Internal task T12787
website_sale_delivery checks whether delivery_type is set to 'fixed' for some behaviours. And before this commit, multi-destination carriers effectively always had the delivery_type set to 'fixed'. However, because children of the multi-destination carrier can be something other than 'fixed', this causes some strange behaviours.
(Example, on the delivery selection page, you expect 'Select to compute delivery rate' to show up for non-'fixed' carriers, but this doesn't happen.)
We can't make website_sale_delivery aware of destination_type, but we can introduce a non-'fixed' delivery type. So that's what we do here.
The choice was made to turn the destination type into a computed value dependent on the delivery type because there is strong coupling between the two values, and trying to keep the two values in sync using onchange/constrains/etc resulted in terrible spaghetti code.