Commit Graph

49482 Commits

Author SHA1 Message Date
Moon 15015b9eda
Clean up setup_experiment_1 and setup_experiment_2 experiments (#34084)
* Remove setup_experiment_1 and setup_experiment_2 tests and css

* Remove setup_experiment_1 and 2 from the client code

* Copy over setup_experiment_1 options to the setup tasklist and remove setup_experiment_1 and 2

* Add changelog

* Determine the default component to use by task id

* Update plugins/woocommerce-admin/client/tasks/hooks/useActiveSetupList.ts

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
2022-07-28 09:16:10 -07:00
Daniyal Ahmed 94cc85be6c
Fix fatal error when bulk editing sale price to empty value in PHP 8 (#34053) 2022-07-28 15:31:46 +02:00
Néstor Soriano 2c8a68315b
Introduce the object cache infrastructure (#33634)
* Introduce the ObjectCache class.

It's an abstract class intended to be used to implement caching for
any kind of object (arrays or PHP objects) using the underlying
WordPress caching or any alternative custom cache engine.

* Add changelog file

* Change the order of parameters in ObjectCache::get

Also change the max expiration value from one day to one month
2022-07-28 08:20:09 -03:00
Vedanshu Jain b4fcbd80a4
Render order edit page (#33638)
* Implement order edit screen rendering.

* Add changelog.

* Use global function instead of harcoded string.

* Use pagecontroller to display order edit form.

* Move HTML out from the translatable string.

Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>

* Capitalize `Order` for consistency.

Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>

* Minor realignment.

* phpcs fix .

* Decouple meta boxes from global $post object to support custom order tables.

* Bug fixes - improperly set $order object, and allow passing null.

* Make order item meta work with order object.

* Use `$order` object to minimize diff.

* Refactor $theorder object initialization to a common method.

* Remove check for WC_Order object.

* Move common methods to inside `src` in a dedicated class.

* Fix spacing for code style.

* Renamed method to be more accurate.

* Add proxies for static so they can be mocked.

* Remove PageController import.

* Move helper methods to an internal util class.

Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
2022-07-28 15:07:34 +05:30
Ilyas Foo a94d6c57ff
Fix shipping zone count transient reset (#34099)
* Delete shipping zone transient on adding shipping zone via smart defaults

* Changelog

* Fix comment
2022-07-28 16:18:08 +08:00
Paul Sealock e05f52b18a
Delete changelog files based on PR 34093 (#34094)
Delete changelog files for 34045
2022-07-28 17:05:27 +12:00
Adrian Duffell 50421efc3f
Fix Tracks event in Review Shipping task (#34045) 2022-07-28 12:21:32 +08:00
Moon dfa8d017f3
Use the default payment suggestions when woocommerce_show_marketplace_suggestions is set to no (#34083)
* Support force_default_suggestions argument

* Use force_default_suggestions

* Support force_default_suggestions argument -- returns the default payment suggestions when both woocommerce_show_marketplace_suggestions and woocommerce_setting_payments_recommendations_hidden options are set to no

* Add changelog
2022-07-27 21:02:24 -07:00
Paul Sealock 7fecfb35a8
Delete changelog files based on PR 34091 (#34092)
Delete changelog files for 34074
2022-07-28 15:20:39 +12:00
Paul Sealock b0b08c5c81
Delete changelog files based on PR 34089 (#34090)
Delete changelog files for 34072
2022-07-28 15:14:08 +12:00
Paul Sealock df35f674d4
Delete changelog files based on PR 34087 (#34088)
Delete changelog files for 34070
2022-07-28 15:09:16 +12:00
Chi-Hsuan Huang bc177ae83a
Fix shipping zone fails to create after installing Jetpack and WCS (#34074)
* Fix shipping zone fails to create after installing jetpack and wcs

* Add changelog
2022-07-28 09:40:56 +08:00
Jamel Noel Reid c207005c85
Fix app root fetching when using PNPM version 7 (#33929)
* Updated to pass lint checks

* Used __dirname to determine package path
2022-07-27 14:13:17 -06:00
jonathansadowski 57fe9f1336
Update code-freeze action to exit earlier without fail on non-release days (#34046)
* Update code-freeze action to exit earlier without fail on non-release days

* Update freeze status to mirror exit code
2022-07-27 13:25:15 -05:00
Joshua T Flowers 345b8886e5
Log tracks events after they have been validated (#34030)
* Log events after they have been validated

* Add changelog entry

* Remove old tracks file

* Fix lint errors
2022-07-27 14:01:18 -04:00
Joshua T Flowers 30de9ccb19
Add utils for testing tracks in backend (#34010)
* Add methods to get and clear queued pixel events

* Add utils for getting and asserting events in unit tests

* Add in some assertions around task list completion tracks

* Add changelog entry

* Add comment for test task fixture
2022-07-27 11:51:10 -04:00
Néstor Soriano 6c9254a18b
Fix: product attributes lookup table usage enabled on each upgrade (#34072)
* Stop re-enabling product attributes lookup table usage after each install.

Now the option will be enabled after a WooCommerce install/update
only if the user hadn't explicitly disabled it before.

* Add changelog file
2022-07-27 10:50:43 -03:00
Ilyas Foo aaa20f556b
Fix missing product task add product track via product templates (#34070)
* Add missing track on adding products via product templates

* Changelog
2022-07-27 12:47:18 +08:00
rodelgc 4dce15e706
E2E: Update WSL readme (#34068)
* Update link to setting default Linux distro in WSL

* Add changelog
2022-07-26 12:22:43 -07:00
Jorge A. Torres c97e1067c7
[COT] `query()`: add support for the `customer` query var (#34059)
* Make sure orders are saved with a default status

* Add support for ‘customer’ query var in COT

* Make PHPCS happy in COT datastore tests

* Add tests for ‘customer’ query var

* Add changelog
2022-07-26 15:54:12 +05:30
Paul Sealock 844faf2fa4
Delete changelog files based on PR 34061 (#34062)
Delete changelog files for 34054
2022-07-26 14:38:51 +12:00
Jamel Noel Reid 7e3b3ee94c
Add JSON report output to PW tests (#34057)
* Add PW json report when in CI

* Added wait for flaky test

* Used more robust selectors

* Added changelog
2022-07-25 10:44:11 -07:00
Jorge A. Torres 290b3b2dc0
[COT] Implement `query()` in the COT datastore (#33834)
* Add OrdersTableQuery for querying the COT tables

* First stab at `OrdersTableDataStore::query()` method

* Silence possible PHP warning

* Add docblocks & phpcs fixes

* Introduce OrdersTableMetaQuery

* Add support for meta_query

* Add changelog

* ‘status’ should have the ‘wc-‘ prefix

* PHPCS fixes

* Minor improvements

* Add tests for OrdersTableQuery

* Remove ‘paginate’ query var

* Add support for reading multiple objects at once

* Address feedback

* Prevent `get_order_data_for_ids()` from producing an incorrect query when no IDs are passed

* Make CI happy
2022-07-25 21:06:53 +05:30
Michael P. Pfeiffer 5ddcc40f04
Add WooCommerce default styles for block themes (#33518)
* Add WooCommerce default styles for block themes

* Ensure sale badge remains as is in Twenty Twenty-Two

* Style the mark element in theme colors

* Update product variations dropdowns

* address feedback

* address feedback

* fix store notice position

Co-authored-by: Luigi <gigitux@gmail.com>
2022-07-25 11:06:31 -03:00
Néstor Soriano 0b6de76567
Reduce the amount of terms shown in attributes page (#33962)
The attributes page displays all the terms for all the existing
product attributes, which causes a performance problem in sites
with a lot of attributes and terms.

This commit limits the number of attributes shown to 100 by default,
but it also introduces a woocommerce_max_terms_displayed_in_attributes_page
filter to customize it.
2022-07-25 08:55:08 +02:00
Ilyas Foo e41c8b027d
Fix unusable historical import (#34054)
* Add resolvers to data store

* Changelog
2022-07-25 11:20:40 +08:00
Néstor Soriano 166fecc0c1
Use method_exists instead of throwing in AbstractServiceProvider::reflect_class_or_callable (#33960)
* Use method_exists instead of throwing in reflect_class_or_callable

In AbstractServiceProvider::reflect_class_or_callable we were
detecting whether a 'init' method exists in the class or not via
doing 'new ReflectionMethod' and catching the exception.
This caused problems with XDebug, which is bad enough, but additionally,
throwing an exception when it's not abosultely necessary
is a bad practice in general.

* Add changelog file
2022-07-22 15:31:49 -03:00
Néstor Soriano 7d2a992746
Fix code standards in orders code, and check payment method name instead of title on get order totals (#30468)
* Fix code standards errors in class-wc-meta-box-orrder-data.php

- Sanitize all input
- Escape all output
- Verify nonce on save
- Verify that all required POST parameters are present on save
- Minor fixes (periods at end of comments, function docs, Yodas...)

* Check payment method name, not title, on add_order_item_totals_payment_method_row

* Remove unnecessary nonce verification in "save" for orders.

Also move comment to new line for readability.

* Remove unnecessary nonce check in WC_Meta_Box_Order_Data::save

 The check is already performed in the code that invokes "save".

* Add transaction id to payment method string if URL doesn't exist

* Minor fix

Co-authored-by: Jorge A. Torres <jorge.torres@automattic.com>
2022-07-22 14:54:51 -03:00
louwie17 383c96f0ca
Update woocommerce admin scripts to align more with turborepo (#33982)
* Update woocommerce admin scripts to align more with monorepo

* Add changelog

* Add dev script back in

* Add install-if-deps-outdated back into build script

* Remove --force from dev script and add WC_ADMIN_PHASE to turbo cache key

* Remove install-if-deps-outdated from build

* Add composer install step to pr unit tests workflow

* Remove old install scripts, that are not needed anymore

* Make sure client changes are part of the cache hit

* Add composer install to code coverage and code sniff as well

* Add composer_no_dev input to install-build workflow

* Add sass dependency to woocommerce/admin/client turbo cache
2022-07-22 08:32:03 -03:00
Adrian Duffell c425b94a28
Update PHP pre-requisite description in README (#34012) 2022-07-22 19:24:15 +08:00
Paul Sealock c91312bf26
Packages Release: Add manual workflow (#33922) 2022-07-22 12:08:11 +12:00
Paul Sealock f056e041bb
Delete changelog files based on PR 34033 (#34034)
Delete changelog files for 34021
2022-07-22 11:49:05 +12:00
Paul Sealock b9a20edc55
Delete changelog files based on PR 34031 (#34032)
Delete changelog files for 33990
2022-07-22 11:46:37 +12:00
Alba Rincón 7741fd38f1
Update composer.lock after updating to WooCommerce Blocks 8.0.0 (#34021) 2022-07-22 11:37:13 +12:00
jonathansadowski 6670af0d64
Split changelog steps from code-freeze action (#34027)
* Split changelog script from code-freeze

* Remove hardcoded repository info from testing

* Remove generation of changelog.txt file from automation

* Correct comments and add back write of readme
2022-07-21 17:58:23 -05:00
Fernando 59c9ef7922
Add validations to `recordEvent` (#33911)
* Add validations to `recordEvent`

* Add changelog

* Use always class constant

* Changed trow exception by console.error

* Add tests to `validate_and_sanitize`

* Created 2 different methods to test `event_validation_and_sanitization`

* Fix tests

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2022-07-21 16:11:32 -03:00
Roy Ho 1ca37cb74b
Add install and build step so paths are found (#34002) 2022-07-21 11:24:38 -07:00
Lucas Bustamante edd453c40b
Skip test result generation and upload in forks (#34023)
* Skip test result generation and upload in forks

* Generate test report in fork
2022-07-21 11:49:25 -06:00
Joshua T Flowers 4c1a82dc26
Add data store attribute terms (#33721)
* Add product attribute terms store

* Add ability to add params to URL

* Allow IdQuery for all crud functions

* Add tests around item parent keys

* Add tests around new utils

* Throw error when not all params are replaced in REST URL

* Add require attributes for terms

* Allow urlParameters to be specified

* Use namespace to detect url parameters

* Fix up selector return after applying namespace

* Clean queries to prevent sending URL param data to endpoint

* Add tests around new utils

* Remove unused method import

* Remove urlParameters argument no longer being used

* Add changelog entry
2022-07-21 12:28:30 -04:00
Sam Seay ecd17484bb
Generate a JSON file with changes from code-analyzer (#33955) 2022-07-21 19:37:59 +12:00
Chi-Hsuan Huang d09d59186d
Fix free features is still rendered when no recommendation (#33923)
* Fix free features is still rendered when there is no recommendation

* Add changelog

* Update BusinessDetails tab to go to next step if no installable extensions

* Update spinner
2022-07-21 12:57:46 +08:00
Paul Sealock 9620704d42
Delete changelog files based on PR 34008 (#34009)
Delete changelog files for 33934
2022-07-21 12:37:32 +12:00
Lucas Bustamante f1ba1febea
Add detailed logs for e2e setup/teardown (#34004) 2022-07-20 16:34:24 -07:00
Joel Thiessen 7741464a32
Adding additional instructions around product image upload modal (#33660) 2022-07-20 12:14:48 -07:00
Fernando 8b9ec814ec
Product creation experience: add more context about product data (#33755)
* Add product types tooltip

* Add target `_blank`

* Add changelog

* Fix typo

* Add onChange method

* Fixed product type tooltip

* Fix icon style

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2022-07-20 13:36:01 -03:00
Roy Ho 4937d56f94
Add cache priming to trunk (#33981) 2022-07-20 08:11:42 -07:00
Lucas Bustamante 3f1543c2db
Exclude e2e folder from build (#33934) 2022-07-20 16:17:24 +02:00
Lucas Bustamante 399796aa2d
Retry login on e2e (#33997)
* Retry login on e2e

* Add changelog
2022-07-20 07:46:29 -06:00
Roy Ho 94bcd25232
Add changelog validation to pre push (#33976) 2022-07-20 06:09:48 -07:00
Moon f56b1da519
Make sure get_current_screen() is available (#33990)
* Make sure get_current_screen is available

* Add changelog
2022-07-20 03:31:46 -07:00