Skip to content
This repository has been archived by the owner on Feb 23, 2024. It is now read-only.

Avoid get_billing and get_shipping method when updating the order #4013

Merged
merged 1 commit into from Mar 31, 2021

Conversation

mikejolley
Copy link
Member

There is a core bug where the get_shipping and get_billing methods only return changes. This means when we go to update the order, some fields are missing which leads to the issue described in #3975

See woocommerce/woocommerce#29538

This PR works around the issue by avoiding these methods and just using individual setters from the customer object.

Fixes #3975

@nerrad @ralucaStan this should be merged before 4.8 IMO.

How to test the changes in this Pull Request:

See instructions in #3975.

Smoke test checkout taking care that addresses are saved correctly to the order.

Changelog

Fix customer address country saving to orders in certain circumstances.

@mikejolley mikejolley added this to the 4.8.0 milestone Mar 30, 2021
@mikejolley mikejolley requested a review from a team as a code owner March 30, 2021 15:41
@mikejolley mikejolley self-assigned this Mar 30, 2021
@mikejolley mikejolley requested review from Aljullu and removed request for a team March 30, 2021 15:41
@github-actions
Copy link
Contributor

Size Change: 0 B

Total Size: 1.16 MB

ℹ️ View Unchanged
Filename Size Change
build/active-filters-frontend.js 8.62 kB 0 B
build/active-filters.js 8.71 kB 0 B
build/all-products-frontend.js 35.1 kB 0 B
build/all-products.js 37 kB 0 B
build/all-reviews.js 9.91 kB 0 B
build/atomic-block-components/add-to-cart--atomic-block-components/button-frontend.js 1.97 kB 0 B
build/atomic-block-components/add-to-cart--atomic-block-components/button.js 3.59 kB 0 B
build/atomic-block-components/add-to-cart--atomic-block-components/image--atomic-block-components/title.js 336 B 0 B
build/atomic-block-components/add-to-cart-frontend.js 8.09 kB 0 B
build/atomic-block-components/add-to-cart.js 7.74 kB 0 B
build/atomic-block-components/button-frontend.js 1.04 kB 0 B
build/atomic-block-components/button.js 1.05 kB 0 B
build/atomic-block-components/category-list-frontend.js 470 B 0 B
build/atomic-block-components/category-list.js 476 B 0 B
build/atomic-block-components/image-frontend.js 1.77 kB 0 B
build/atomic-block-components/image.js 1.24 kB 0 B
build/atomic-block-components/price-frontend.js 1.98 kB 0 B
build/atomic-block-components/price.js 2 kB 0 B
build/atomic-block-components/rating-frontend.js 520 B 0 B
build/atomic-block-components/rating.js 525 B 0 B
build/atomic-block-components/sale-badge-frontend.js 861 B 0 B
build/atomic-block-components/sale-badge.js 871 B 0 B
build/atomic-block-components/sku-frontend.js 391 B 0 B
build/atomic-block-components/sku.js 394 B 0 B
build/atomic-block-components/stock-indicator-frontend.js 569 B 0 B
build/atomic-block-components/stock-indicator.js 573 B 0 B
build/atomic-block-components/summary-frontend.js 922 B 0 B
build/atomic-block-components/summary.js 924 B 0 B
build/atomic-block-components/tag-list-frontend.js 467 B 0 B
build/atomic-block-components/tag-list.js 473 B 0 B
build/atomic-block-components/title-frontend.js 1.35 kB 0 B
build/atomic-block-components/title.js 1.21 kB 0 B
build/attribute-filter-frontend.js 18.4 kB 0 B
build/attribute-filter.js 12.5 kB 0 B
build/blocks-checkout.js 17 kB 0 B
build/blocks.js 3.5 kB 0 B
build/cart-frontend.js 76.5 kB 0 B
build/cart.js 42.5 kB 0 B
build/checkout-frontend.js 81.1 kB 0 B
build/checkout.js 44.9 kB 0 B
build/editor-rtl.css 14.9 kB 0 B
build/editor.css 14.9 kB 0 B
build/featured-category.js 7.86 kB 0 B
build/featured-product.js 10.1 kB 0 B
build/handpicked-products.js 7.54 kB 0 B
build/price-filter-frontend.js 14.7 kB 0 B
build/price-filter.js 10 kB 0 B
build/price-format.js 1.46 kB 0 B
build/product-best-sellers.js 7.61 kB 0 B
build/product-categories.js 3.23 kB 0 B
build/product-category.js 8.56 kB 0 B
build/product-new.js 7.78 kB 0 B
build/product-on-sale.js 8.18 kB 0 B
build/product-search.js 3.61 kB 0 B
build/product-tag.js 6.61 kB 0 B
build/product-top-rated.js 7.75 kB 0 B
build/products-by-attribute.js 8.54 kB 0 B
build/reviews-by-category.js 12 kB 0 B
build/reviews-by-product.js 13.5 kB 0 B
build/reviews-frontend.js 9.59 kB 0 B
build/single-product-frontend.js 38.1 kB 0 B
build/single-product.js 10.3 kB 0 B
build/style-rtl.css 18.4 kB 0 B
build/style.css 18.4 kB 0 B
build/vendors--atomic-block-components/price-frontend.js 6.54 kB 0 B
build/vendors-style-rtl.css 1.05 kB 0 B
build/vendors-style.css 1.05 kB 0 B
build/vendors.js 419 kB 0 B
build/wc-blocks-data.js 7.35 kB 0 B
build/wc-blocks-google-analytics.js 1.35 kB 0 B
build/wc-blocks-middleware.js 1.32 kB 0 B
build/wc-blocks-registry.js 2.74 kB 0 B
build/wc-payment-method-bacs.js 812 B 0 B
build/wc-payment-method-cheque.js 807 B 0 B
build/wc-payment-method-cod.js 903 B 0 B
build/wc-payment-method-paypal.js 844 B 0 B
build/wc-payment-method-stripe.js 12.3 kB 0 B
build/wc-settings.js 2.43 kB 0 B
build/wc-shared-context.js 1.53 kB 0 B
build/wc-shared-hocs.js 1.72 kB 0 B

compressed-size-action

Copy link
Contributor

@Aljullu Aljullu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great investigation with this issue @mikejolley! I tested and I was no longer able to reproduce the issue, code changes look good as well.

@Aljullu Aljullu merged commit d3c2efc into trunk Mar 31, 2021
@Aljullu Aljullu deleted the fix/3975-address-update branch March 31, 2021 09:27
@ralucaStan ralucaStan added block: checkout Issues related to the checkout block. type: bug The issue/PR concerns a confirmed bug. focus: blocks Specific work involving or impacting how blocks behave. labels Mar 31, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
block: checkout Issues related to the checkout block. focus: blocks Specific work involving or impacting how blocks behave. type: bug The issue/PR concerns a confirmed bug.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Address data not sent to API on checkout block after using shortcode cart's address shipping calculator
3 participants