Commit Graph

9381 Commits

Author SHA1 Message Date
Nestor Soriano 622c4fb03c
Add a data migration to delete stray order records from the database.
These are:

- Posts of type "shop_order_placeholder" with no matching order
  in the orders table.
- Records of type "shop_order_refund" with a zero parent order id
  in both tables.
2023-03-20 10:45:25 +01:00
Nestor Soriano d91aef5bb7
Add changelog file 2023-03-16 18:03:08 +01:00
Nestor Soriano 6651743e1d
Merge branch 'trunk' into add/sync_of_deleted_orders 2023-03-16 18:02:04 +01:00
Nestor Soriano 23a605c14c
HPOS: Implement data synchronization for deleted orders.
This includes the following:

- Fix the "upshifting" that was implemented in 36218 so that it only
  applies when the post type of the order being deleted is hierarchical
  (this conforms to the WordPress behavior when deleting a post).

- Now when an order is deleted while sync is off a record will be
  created in wp_wc_orders_meta (regardless of which table is the
  authoritative one) with 'deleted_from' as the key and the
  authoritative table name (from where the order has been deleted)
  as the value...

- ...then DataSynchronizer will detect the presence of these
  'deleted_from' records and delete them from the backup table
  as part of the batch processing procedure.

- Exception to the above: when an order is deleted from the orders
  table and the corresponding records in the posts table are
  placeholders, these are deleted immediately too, even if sync is off.

- Add an "order_exists" method in both order data stores
  (Abstract_WC_Order_Data_Store_CPT and OrdersTableDataStore).

- Add a pair of get/set_verify_parent_id methods in WC_Abstract_Order
  (turning off the check in set_parent_id is necessary when deleting
  an order using the backup data store during synchronization).

- Placeholder records are now created with the appropriate parent id
  for child orders (e.g. refund), this is necessary in order to
  properly find which records need to be deleted.
2023-03-16 17:46:28 +01:00
Matt Sherman 9c5e9b57bf
Move CES data store to @woocommerce/customer-effort-score (#37252) 2023-03-16 10:22:33 -04:00
Matt Sherman 97b6ae086f
Initial e2e tests for new product editor (form-based) (#36902) 2023-03-16 09:51:01 -04:00
Ahmed 3985242547
Add onboarding support for new countries in WCPay (#36906)
* Add new countries to WCPay

* changelog

* add new countries code to woocommerce admin

* Add the new countries to onboarding wizard fallback config file

---------

Co-authored-by: Anurag Bhandari <anurag@automattic.com>
2023-03-16 20:48:45 +08:00
Jorge A. Torres b19ad2f6d7
Prevent possible PHP warnings produced by 'woocommerce_ajax_order_items_removed' hook (#37178)
* Remove superfluous check.

* Prevent PHP warnings in `woocommerce_ajax_order_items_removed`

* Add changelog
2023-03-16 08:42:01 -03:00
Albert Juhé Lluveras 6f757f8991
Update WooCommerce Blocks package to 9.8.1 (#37238) 2023-03-16 10:52:55 +01:00
Joshua T Flowers 77937dd8cb
Move usePreventLeavingPage to navigation package (#36752)
* Move usePreventLeavingPage to navigation package

* Rename usePreventLeavingPage to useConfirmUnsavedChanges

* Move imports to external dependencies

* Fix up history push overrides

* Add changelog entries

* Fix up rebase issues

* Update i18n dependency to wp-6.0

* Fix up lock file

* Remove unused imports

* Update lock file

* Remove self import for navUtils
2023-03-16 05:33:22 -03:00
RJ 1c9b3a58fe
fix: mobile app connection owner bug (#37170) 2023-03-16 16:20:36 +08:00
Chi-Hsuan Huang f50abc724f
Remove accordion from "Other payment providers" in WC Pay Task (#37205)
* Remove accordion from Other payment providers in WC Pay Task

* Add changelog

* Fix tests

* Update test

* Fix e2e test
2023-03-16 12:11:59 +08:00
Chi-Hsuan Huang c804e76156
Set up "React Fast Refresh" in woocommerce-admin (#37165)
* Add @pmmmwh/react-refresh-webpack-plugin, react-refresh, webpack-dev-server and add start:hot command

* Set up react fast fresh

* Add changelog

* Run prestart in hot command

* Update pnpm-lock.yaml

* Update pnpm-lock.yaml
2023-03-16 11:52:03 +08:00
Matt Sherman fb3a920a7e
Update Customers report with latest user data after editing user (#37237) 2023-03-15 19:11:26 -04:00
louwie17 93506388e3
Update product rest config and template block usage (#37206)
* Update product post rest configs

* Update block usage

* Add changelogs

* Fix lint

* Make use of setupEditorState instead of setupEditor as we do not have a content block

* Simplify product condition

* Make use of core store only
2023-03-15 13:44:05 -03:00
witlock c8f7a564c5
Add/Remove order coupon actions logged in notes (#30642)
* log admin coupon code actions

* added documentation, fixed return value

* formatting

* included user to note logs

* Add changelog

* Address PHPCS issues

* Make WC_Abstract_Order::remove_coupon() return a bool

* Move addition of coupon-related order notes from WC_Order to AJAX callbacks

* Address PHPCS problems

* Pass coupon order notes through `esc_html()`

* Add AJAX update of notes when adding/removing coupons via admin

* Fix tests (maybe?)

---------

Co-authored-by: Jorge A. Torres <jorge.torres@automattic.com>
2023-03-15 13:33:46 -03:00
Tam Mullen 562fede1e2
Update the CI workflow to include WP 6.0 and 5.9 (#37180)
Update the CI workflow to include WP 6.0 and 5.9 matching our L-2 support policy
2023-03-15 15:49:33 +00:00
Moon 16c7c58462
Update Avalara CTA copy in tax task (#37224)
* Change CTA to Download

* Add changelog
2023-03-14 22:37:07 -07:00
Gan Eng Chin 98dcb9bea4
Specify args for wp.data resolution in marketing page to support WP 5.9 (#37198) 2023-03-15 07:30:40 +08:00
Matt Sherman 4cabe5f6b5
Add Tracks events for product inventory tab (#37202) 2023-03-14 18:16:01 -04:00
mynewvk f43e36a45b
Display price depend on price location (#25080)
* display price depend on price location

* change arg key

* test for wc_get_price_to_display

* fix spacing & function docblock

* Add changelog file

* Address PHPCS issues

* Rename `display_location` to `display_context`

* Address PHPCS issues

* Update changelog wording

---------

Co-authored-by: Kolya lukin <mykola@imagecms.net>
Co-authored-by: Néstor Soriano <konamiman@konamiman.com>
Co-authored-by: Jorge A. Torres <jorge.torres@automattic.com>
2023-03-14 18:27:39 -03:00
Ron Rennick 3809392f7c
Use dbDelta and truncate to manage attribute lookup tables (#36872) 2023-03-14 13:42:35 -03:00
Albert Juhé Lluveras b88e07eda6
Update WooCommerce Blocks package to 9.8.0 (#37210) 2023-03-14 17:37:38 +01:00
Matt Sherman b94d38458d
Add components to @woocommerce/customer-effort-score (#37112)
* Update src structure of @woocommerce/customer-effort-score

* Changelog

* Add dependencies to @woocommerce/customer-effort-score

* Move useCustomerEffortScoreExitPageTracker and utils to @woocommerce/customer-effort-score

* Fix up imports from @woocommerce/customer-effort-score

* Changelog

* Fix import of constant

* Mock @woocommerce/customer-effort-score in tests

* Move tests to @woocommerce/customer-effort-score

* Update lock file

* Update lock file from trunk

* Update lock file again... this time, tests pass
2023-03-14 12:16:19 -04:00
Joshua T Flowers 31ec8d8352
Add tab blocks to the blocks product editor (#37174)
* Add initial tab block and tabs render

* Add tabs styling

* Set initially selected tab on render

* Set initial tab based on query param

* Add template placeholder with tabs

* Add changelog entry

* Allow multiple tab and section blocks

* Add changelog entry for wc

* Fix up arrow alignment

* Fix up block configuration type

* Add missing navigation dependency to product editor
2023-03-13 15:00:50 -07:00
Fernando Marichal b1a0d3177c
Show message in Inventory tab for variable products (#37185)
* Add message to inventory tab

* Add styles

* Add changelog

* Fix link styles

* Fix message style without buttons

* Avoid line break

* Remove space

---------

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2023-03-13 18:26:51 -03:00
Gan Eng Chin 580e3a8c36
Add changelog. 2023-03-14 03:39:34 +08:00
Gan Eng Chin 0316fbb265
Specify empty array as hasFinishedResolution args.
This is to make things consistent with invalidateResolution to make things work with WP 5.9.
2023-03-14 03:35:20 +08:00
Gan Eng Chin 5a58784a62
Specify empty array as invalidateResolution and hasFinishedResolution args.
This is to make things work with WP 5.9.
2023-03-14 03:32:54 +08:00
Joel Thiessen 4dff6db40f
Adding test name block with support for entity data store (#37132)
* Adding test name block with support for entity data store

* Adding changelog

* Changing block.ts to block.json and amending TS config to support

* Experiment in loading blocks from settings template

* Enable the use of templates with the block editor

* Fix dependency

* Add changelog

* Fix lint error and remove unused utils

* Fix tests by fixing mocks

---------

Co-authored-by: Lourens Schep <lourensschep@gmail.com>
2023-03-13 11:45:25 -03:00
Gan Eng Chin 0cf56774f5
Merge branch 'trunk' into feature/34909-marketing-create-campaign-modal 2023-03-13 12:51:24 +08:00
louwie17 329b0cbd07
Hydrate product editor settings (#37123) 2023-03-10 12:21:22 -08:00
Tam Mullen 5019a344a1
Add k6 release regression test (#37146)
* Added test scenario for release regression testing
2023-03-10 17:47:33 +00:00
Gan Eng Chin c6e6f8774d
Specify empty array dependency in useCampaignTypes.
This is to make it work with WP 5.9. See https://github.com/woocommerce/woocommerce/pull/37044#discussion_r1132062493.
2023-03-11 00:42:09 +08:00
Gan Eng Chin 1fea0185fe
Don't throw error in getCampaignTypes.
In WP 5.9, if we throw error, there would be an uncaught promise, and it causes UI to break.
2023-03-11 00:31:23 +08:00
Matt Sherman af24637439
Create @woocommerce/admin-layout package (#37094)
* Initial admin-layout package skeleton

* Changelog files

* Use createOrderedChildren and sortFillsByOrder from @woocommerce/components for WooFooterItem

* Move WooFooterItem to @woocommerce/admin-layout

* Use WooFooterItem from @woocommerce/admin-layout

* Suppress errant TS lint errors

* Exports for @woocommerce/admin-layout

* Fill updates and eslint suppression

* Changelogs

* Remove suppression of tslint errors

* Fix react and @types/react versions

* Load @woocommerce/admin-layout script and styles

* Move WooHeaderItem, WooHeaderNavigationItem, and WooHeaderPageTitle to @woocommerce/admin-layout

* Regenerate lock file post-rebase

* Remove duplicate import post-rebase

* Add wc-admin-layout to app style dependency

* Fix jest mock of @woocommerce/admin-layout

* Fix spacing.

* Export slot names

* Fix typo in .npmrc

* Update lock file

* Try updating lock file

* Update lock file

* Update lock file

* Update to latest lock file from trunk

* Update lock file

* Sync dependencies of @woocommerce/admin-layout

* Manually sync @wordpress dependencies
2023-03-10 09:58:02 -05:00
Néstor Soriano 4cbb607631
Render 'safe_text' settings as 'text' inputs (#37154) 2023-03-10 10:52:09 +01:00
Matt Sherman 4f5a3d7e77
Show link to store settings when stock management is disabled (#37140)
* Update stock management enabled checkbox label

* Add link to store settings when stock management is disabled

* Refactor to create woocommerce_wp_note function
2023-03-09 22:45:54 -05:00
Joel Thiessen 970c1ef352
Hydrating product entity when creating or editing product with block editor (#37064) 2023-03-09 13:11:25 -08:00
Jorge A. Torres 9776cad2b7 Render 'safe_text' settings as 'text' inputs. 2023-03-09 17:31:39 -03:00
Maikel David Pérez Gómez 2896a8cd13
Add the new feature to enable the new product editor blocks experience (#37137)
* Add the new feature to enable the new product editor blocks experience

* Add the type definition of the feature flag

* Add the feature to the beta_featues in Features.php file

* Keep the page routes when the feature is anabled

* Add the feature php class to manage page assets

* Add changelog file
2023-03-09 15:33:39 -03:00
Gan Eng Chin 0a58ec19f8
Remove unneeded div in CreateNewCampaignModal. 2023-03-10 02:14:35 +08:00
Gan Eng Chin e4da8cba09
Display info message when there are no campaign types. 2023-03-10 02:13:05 +08:00
Seghir Nadir 46b813723d
Turn WC_Order::get_tax_location public (#36953)
* Make WC_Order::get_tax_location public

* Reverted access modifier change for get_tax_location() and implemented public wrapper get_taxable_location()for it.

---------

Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
2023-03-09 16:06:02 +00:00
Gan Eng Chin 6446053784
Load campaign types in overview and refetch after installeing a channel. 2023-03-09 23:46:54 +08:00
Gan Eng Chin 8b6aad4138
Refetch campaign types after installing a channel in CreateNewCampaignModal. 2023-03-09 22:51:12 +08:00
Néstor Soriano 73c1ad1541
Fix the ArrayUtil::get_value_or_default method (#37053)
* Fix the ArrayUtil::get_value_or_default method

The method was supposed to return null if the key exists in the array
and has a null value, but instead it was returning the supplied
default value, as the "??" operator.

Also the few existing usages of the method that supplied a default value
have been converted to instances of the "??" operator for compatibility.

* Add changelog file
2023-03-09 11:42:54 -03:00
Gan Eng Chin 29d67a3a21
Refactor test data in CreateNewCampaignModal tests. 2023-03-09 22:31:51 +08:00
Gan Eng Chin 9f0326b398
Remove unneeded return in CreateNewCampaignModal.
This helps us save indentation and make the code few lines shorter.
2023-03-09 22:26:06 +08:00
Gan Eng Chin e15305b7c3
Remove unneeded CardDivider in CreateNewCampaignModal.
The code is copied from the Channels component, but in CreateNewCampaignModal, we don't need to display the divider, so we can just remove the divider code.
2023-03-09 22:23:27 +08:00