Commit Graph

8263 Commits

Author SHA1 Message Date
Adrian Duffell d6224d8a0c
Add Facebook Extension to Onboarding (#34303)
* Add facebook logo

* Add facebook to OBW

* Add pinterest to OBW

* Add changelog

* Revert "Add pinterest to OBW"

This reverts commit cd99fb296c.

* Update changelog

* Update facebook URL

* Switch the “alt” data

* Update manage url
2022-08-12 14:54:53 -07:00
Peter Fabian 0f99bd4e8d
Fix/forgotten template version (#34308)
Corrected the template version.
2022-08-12 08:23:34 -07:00
Barry Hughes 1a4060d689
Fix/34271 unlimited results (#34289)
Support for unlimited ('-1') results in COT queries.
2022-08-12 08:22:32 -07:00
Fernando 4693e251f7
Add product name and checkboxes for Product details (#34214)
* Add product details

# Conflicts:
#	plugins/woocommerce-admin/client/products/sections/product-details-section.tsx

# Conflicts:
#	plugins/woocommerce-admin/client/products/sections/product-details-section.tsx

* Rename folder

* Fix help icon

* Fix form

* Removed useless `useState`

* Add `getCheckboxProps`

* Add params to getCheckboxProps

* Add recordEvent

* Rename event

* Add changelog

* Fix texts

* Remove Fragment

* Fix useState initial state

* Convert EnrichedLabel to TS

* Fix unknown value prop

* Rename event

* Move EnrichedLabel

* Fix js warning

* Add storybook

* Add readme

* Add components changelog

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2022-08-12 10:47:54 -03:00
RJ 6a95d3ee93
dev: move guided tours into consolidated folder (#34279)
* dev: moved shipping tour into guided tours folder

* dev: moved store address tour to guided-tour folder

* dev: updated imports for store address tour code move

* dev: move add-product-tour to guided-tours

* dev: update imports for add-product-tour code move
2022-08-12 09:49:18 +08:00
Barry Hughes bc31065b8e
Filtering for the COT admin list table. (#33789)
* Column sorting for the COT admin list table.

* Add filter for easier extensibility.

* Implement date based filtering within the admin order list table.

* Implement customer-based filtering within admin order list table.

* Allow filtering down to no results, better management of http_referer state.

* Changelog.

* Bring up-to-date, fix some conflict resolution mis-steps.

* Address coding standards.

* Remove unused import.
2022-08-11 13:00:47 -03:00
louwie17 a498cc8280
Add product form buttons and specific product edit page (#34211)
* Add initial product form action buttons to form

* Add new edit page and allow for updating and creating products

* Move crud functions to helper hook to keep things seperated better

* Add changelog

* ADd package changelogs

* Add isPending selector to products store

* Fix trash screen showing up when deleting product and add loading indicators

* Add extra types to Product type

* Update track names and add product data to tracks

* Update track logic when product is published

* Remove the Image section for now, to prevent confusion as it is not ready yet

* Add tests for the product form actions

* Update copy for publish & duplicate

* Remove unused code

* Set window.location correctly with href

* Reset changes in pnpm lock

* Moved pending action variables to product helper and updated buttons to reflect new suggestions

* Fix backwards compabitibility issue with Form changes

* Add switch to draft button
2022-08-11 11:04:14 -03:00
Jorge A. Torres 055ed34c0d
[COT] Add support for /v3/orders (#34178)
* Use WC_Order_Query for REST API v3 requests when COT is enabled

* Remove pre-COT internal meta keys from metadata in REST order responses

* Add changelog

* Add unit tests

* Fix test in `ProductAttributesLookup\FiltererTest`

Some tests in this class relied on a particular ordering of an array of IDs returned by a query with an `ORDER BY` that doesn’t really disambiguate sorting (all rows have the same values for the fields). As such, `assertEquals()` can’t be used to make sure arrays had the same values.

* Use `get_internal_meta_keys()` from a CPT instance to hide certain meta on COT REST response

* Move COT REST test outside of the COT datastore tests

* Fix typo

* Remove unnecessary imports
2022-08-11 13:11:18 +05:30
Chi-Hsuan Huang 831c9fcab3
Keep the user in the marketing task after installing an extension (#34241)
* Keep the user in the marketing task after installing an extension

* Add changelog
2022-08-11 08:56:58 +08:00
Seghir Nadir 0a9c0049b3
support single_select_page_with_search in WC REST API (#34234)
Support single_select_page_with_search in WC REST API
2022-08-10 14:37:53 -07:00
Chi-Hsuan Huang 58ff656764
Remove @wordpress/eslint-plugin from woo admin package.json (#34240)
* Remove @wordpress/eslint-plugin from woo admin package.json

* Add changelog

* Update pnpm-lock.yaml
2022-08-10 14:45:40 +08:00
Moon dd794e8e26
Update/34063 store location skip btn (#34176)
* Make ProfileItems properties optional

* Remove skip button codes and replace them with SkipButton component

* Add SkipButton component

* Add changelog

* Add back continue button callback

* Apply popover styles globally

* Add skip button on the industry step

* Add skip button on the product types step

* Add skip button on the Business Details step

* Support onSkipped callback

* Record skip event

* Add skip event track for industry, product types, and business details

* Add SkipButton to the theme step

* Update snapshot

* Change track name to separate business details and free features

* Add changelog

* Remove unused code

* Update product types test snapshot

* Add back UsageModal on Continue click

* Update e2e tests to use Skip

* Use button selector for skip btn

* Fix duplicate event dispatch

* Do not call onClose and onContinue during the rendering -- it causes cannot update a component while rendering a different warning. Instead, call them when the button is clicked

* Skip the profiler without rendering usage modal when woocommerce_allow_tracking is set

* Skip the profiler without rendering usage modal when woocommerce_allow_tracking is set

* Go to the next step when allowTracking is yes
2022-08-08 21:08:03 -07:00
Paul Sealock 2fe344e2af
Remove cherry-picked 34209 changelogs (#34216)
remove wc-admin changelogs
2022-08-09 11:15:52 +12:00
Néstor Soriano cc779db83c
Add the woocommerce_cart_session_initialize-hook (#34156)
* Add the woocommerce_cart_session_initialize-hook

* Add changelog file
2022-08-08 16:54:44 -03:00
Oliver Juhas bb02983893
Accessibility: Adding missing form field and table header labels to template files (#31211)
Add screen reader labels to improve accessibility in various locations.

* Adding missing table header labels
* Adding missing form field labels
* Adding missing form field label
* Adding missing form field labels — Ideally we would add these with `<labe>` tag (may be hidden with `screen-reader-text` class), but playing safe here to prevent CSS style issues.
* Adding missing form field label
* Changing `aria-label` attribute to actual `<label>` tag
* Rebase; add changelog.

Co-authored-by: barryhughes <3594411+barryhughes@users.noreply.github.com>
2022-08-08 12:32:51 -07:00
Vedanshu Jain fe27a9a87c
Add various Util methods to OrderUtil class (#34141)
Add method in utils to check whether posts and order tables are in sync.

* Add changelog.
* Fix Yoda condition

Co-authored-by: Nestor Soriano <konamiman@konamiman.com>
2022-08-08 11:28:35 -07:00
nigeljamesstevenson fbb6bd1c53
Add e2e test to check ability to add and remove regions from shipping… (#34187)
* Add e2e test to check ability to add and remove regions from shipping zone

* Add changelog file

* skip test in order to check CI

* add skipped test back in

* group shipping zone tests to avoid concurrency issues

* update assertions relevant to added zone region

* update test file

* update test to select appropriate delete based on other tests

* Ensure the correct Shipping Zone has been removed

* remove attempt to delte zone via front end as API call will handle this
2022-08-08 11:26:35 -06:00
Chi-Hsuan Huang af97aaf410
Migrate @woocommerce/data settings store to TS (#34184)
* Migrate wc.data.settings to TS

* Correct data.settings type

* Fix wc admin client type errors

* Add changelog

* Add changelog

* Update types

* Update RawSetting type
2022-08-08 13:25:46 +08:00
Chi-Hsuan Huang 3bbee139ed
Update "Add store details" task complete logic (#34206)
* Update store details task complete logic

Mark as completed if the store address, city and postcode are set.

* Add changelog

* Update store details test
2022-08-08 13:21:10 +08:00
Fernando 88c7cfb628
Fix Customer Effort Score Tracks (#34209)
* Rename sent prop (CustomerEffortScore)

* Add changelog

* Fix changelog

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2022-08-05 15:40:01 -03:00
Jorge A. Torres c2cd415ab5
[COT] Misc test fixes (#34210)
* Stop resetting all definations in DI to not initialize hooks again.

* Adjust setting test to account for COT feature.

* Support temporary tables.

* Add changelog

Co-authored-by: Vedanshu Jain <vedanshu.jain.2012@gmail.com>
2022-08-05 11:08:35 -07:00
Néstor Soriano 3a76aa4255
Disable the WordPress.PHP.YodaConditions.NotYoda phpcs rule (#34204) 2022-08-05 10:39:55 +02:00
Ilyas Foo bc98010cd3
Fix set default homescreen layout after setup task completion or dismissal (#34191)
* Add set layout function after setup task completion or dismissal

* Add test

* Changelog
2022-08-05 15:53:11 +08:00
RJ f3e436f991
fix: type definition issues related to pnpm hoisting rules in preparation for pnpm 7 upgrade (#34154)
- added missing TS definition dependencies
2022-08-05 15:19:08 +08:00
Néstor Soriano a397168a37
Disallow/discourage Yoda comparisons in the WooCommerce codebase (#34185)
- Use the built-in phpcs sniff for "includes" (as warnings)
- Use the slevomat coding standards package for the rest of the code
  (as errors, with the ability to auto-correct)
2022-08-05 09:02:20 +02:00
Jorge A. Torres 7a1999ec86
[COT] `query()` method: add support for date queries (#34119)
* Add some date-related query arg mappings

* Add `join()` utility method

* Add support for date_query

* Add date_query tests

* Add changelog

* Address feedback

* ‘type’ not yet implemented

* Remap legacy date columns too
2022-08-05 08:59:12 +05:30
Sam Seay 5becf47d60
Simplify turbo commands (#34055)
* Change package json commands and turbo repo config to allow for greatly simplifying running turbo
* Remove require-turbo script which was causing caching issues
* Colorize CI output from scripts
* Add missing changelog script to extend-cart-checkout-block
2022-08-05 12:03:17 +12:00
Alba Rincón 4a4de7a7f6
Hide the customizer when the active theme is a FSE theme (#34022)
Only register the customizer and related scripts when the active theme is a classic one.

* See https://woofse.wordpress.com/2022/06/07/pt-ensure-customizer-doesnt-show-up-with-block-themes-active-2/
* Skip the test if the WP version is not compatible with the block theme.
* Move the condition to avoid the class instantiation when theme is fse.
2022-08-04 09:57:50 -07:00
louwie17 470fc899e1
Add/33 two column product page layout (#34113)
* Add product page layout components

* Add a quick sample page to test the product form layout

* Add changelog

* Add option 2

* Refactor the product field layout structure

* Update page component structure of product form

* Add simple SlotFill support

* Update product page chunk name

* Add order to slot fill and move product field layout wrapper into product category layout

* Remove unused import

* Consolidate the slot fill ordering logic

* Rename category component to section component to prevent confusion

* Remove edit product page and use the new add product page instead

* Add tests

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2022-08-04 10:15:30 -03:00
Vedanshu Jain 5f0efcf02f
Fixes a WP nightly unity test (#34190)
* Dont check for cache when there are no cached templates.

* Add changelog.
2022-08-04 10:00:39 -03:00
Néstor Soriano 0e0212254e
[COT] Add unique key constraints for the addresses and operational data tables (#34144)
* Add unique constraints to the COT addresses and operational tables

* Add changelog file
2022-08-04 16:52:08 +05:30
RJ 75f6ec3a43
dev: refactor Homescreen component to use useQuery hook (#34183)
- added useQuery hook for usage in functional components
- refactored Homescreen component to useQuery instead of prop drilling
2022-08-04 16:57:53 +08:00
Chi-Hsuan Huang cb87be1552
Update store location profiler (#34153)
* Update store details unit tests

* Update store details subheading and field order

* Update obw store details e2e tests

* Add changelog

* Add changelog

* Update Store owner can go through setup Task List test
2022-08-04 09:02:50 +08:00
Fernando 835f3d548e
Add/42 new product page (#34115)
* Add feature falg

* Modify href to menu item

* Modify page title href button

* Add product files on Client

* Change button's URL for new Nav

* Add changelog

* Moved changelog

* Fix URL for new nav

* Change URL for add product task

* Add Tracks event

* Change const name

* Renamed tracks event name

* Undo Add New Product redirect

* Undo use Products addition

* Undo lint fix to woocommerce_admin.js

* Rename component and file (AddProductPage)

* Set flag in core.json to false

* Fix typo

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2022-08-03 14:42:22 -03:00
Vedanshu Jain e4dae58502
Upgrade misc WooCommerce bits to support COT (#34124)
Update miscellanous WC bits to support custom tables.

* Add changelog.
* Add test for order_meta call.
* Make CI happy.
* Add tests for before_delete_order.
* Add test for is_valid_resource
* Add tests for PayPal API.
* Add test for save paypal meta data.
* Minor fixup.
2022-08-03 09:41:37 -07:00
Luigi Teschio 397a7846b5
JQuery FlexSlider: Fix innerHeight computation (#33847)
Fix computation innerHeight
2022-08-03 09:20:42 -07:00
Vedanshu Jain ef08507c13
Add support for updating values in order edit form inside WP Admin (#33972)
Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
2022-08-03 13:55:54 +02:00
RJ d44942dc0d
fix: e2e test on shipping task (#34165)
- shipping task was recently changed and shipping method is set up automatically now
2022-08-03 15:08:27 +08:00
Kaavya a9b0542532
Fix/33253 fix order number in notice (#33802)
Fix order number displayed in order status changed notice
2022-08-02 10:02:15 -07:00
Néstor Soriano c06ae5d903
Add a namespace prefix to the Psr/Container package (#33703)
Remove the explicit dependency from the psr/container package

* Prepend the psr/container package classes with a namespace using Mozart. This is done to prevent conflicts with other versions of the package used by other packages or plugins.
* Add changelog file
* Minor documentation/indentation updates
2022-08-02 09:59:32 -07:00
RJ cb09649a4c
add: store location settings tour (#34137) 2022-08-02 11:10:34 +08:00
Néstor Soriano e05697dfab
[COT] Fix order related methods in customer data store (#34121) 2022-08-01 11:13:55 +02:00
Néstor Soriano 5459f7e8ef
[COT] Add remove_processor method in batch processing controller, use it when disabling orders sync (#34122)
Also fix a bug: force_clear_all_processes wasn't actually unscheduling the watchdog.
2022-08-01 11:13:15 +02:00
Paul Sealock 06d5222585
Changelog removals due to 34133 (#34134)
remove changelog
2022-08-01 12:19:43 +08:00
Jorge A. Torres 0a3c3e7463
[COT] Make sure status is correctly prefixed for saving (#34128)
Make sure status is correctly prefixed for saving
2022-07-29 19:11:36 -07:00
Barry Hughes c97c373870
Remove 'do not edit' warnings (not applicable following monorepo rest… (#33790)
Remove 'do not edit' warnings (not applicable following monorepo restructuring).
2022-07-29 13:49:23 -07:00
Vedanshu Jain f7959c7680
Add order edit rendering when creating new order (#33848)
* Create an empty order when initializing new order form.

* Set object read to false to preent order note.

* Add changelog.
2022-07-29 17:08:38 -03:00
Barry Hughes 406853634a
Column sorting for the COT admin list table. (#33787)
* Column sorting for the COT admin list table.

* Add filter for easier extensibility.

* Changelog.

* Add support for orderby order’s total and creation/modification dates

* Remove unnecessary import

* Use ‘any’ instead of ‘all’ as status so that all valid statuses are used instead

* Use ‘order_total’ as orderby GET arg for backwards compat

* Rework sorting logic after support in `OrdersTableQuery`

* Update `@since` tag

* Make PHPCS happy

Co-authored-by: Jorge A. Torres <jorge.torres@automattic.com>
2022-07-29 13:52:25 +05:30
RJ be89ba6e06
fix: wrong condition for shipping recommendations tour step (#34120) 2022-07-29 15:34:00 +08:00
Paul Sealock 4284673b68
Delete changelog files based on PR 34116 (#34117)
Delete changelog files for 34099
2022-07-29 10:15:41 +12:00
Paul Sealock d4e19d6c51
Beta Tester: Update composer lock file (#34086)
* Update Beta Tester lock file

* changelog
2022-07-29 09:11:04 +12:00
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
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
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
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
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
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
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
Chi-Hsuan Huang 9bc4e88b1a
Wrap default payment gateway strings in __() function call (#33987)
* Wrap default payment gateway strings in __() function call

* Add changelog
2022-07-20 16:28:22 +08:00
Kirtan Gajjar 2e735ed5f7
Fix type safety issues in product price (#33926) 2022-07-20 09:10:18 +02:00
Lucas Bustamante 4ffd5992a9
Reduce e2e flakiness in CI (#33979) 2022-07-19 11:28:15 -06:00
Jonathan Lane 26df595313
E2e/playwright test improvements 2 (#33965)
* Set retries to 4 on CI

* Use variable for authentication path storage

* Handle test cleanup in after hook

* Improve conditional

* Clean up global attributes

* Update customer email address

* Changelog file

Co-authored-by: Jon Lane <jon.lane@automattic.com>
2022-07-19 10:04:53 -03:00
Vedanshu Jain df1937d71a
Add framework to write more robust action scheduler based migrations. (#33233)
Add the BatchProcessingController class and the BatchProcessorInterface interface.

Co-authored-by: Nestor Soriano <konamiman@konamiman.com>
2022-07-19 14:42:36 +02:00
Paul Sealock 8d56c31b3e
Delete changelog files based on PR 33967 (#33968)
Delete changelog files for 33956
2022-07-19 12:11:56 +12:00
Chi-Hsuan Huang 282d8daa26
Fix "undefined offset" warning notice on payment settings page (#33956)
* Fix undefined offset notice on payment settings page

* Add changelog
2022-07-18 16:54:02 +08:00
jonathansadowski 1a9a17c1e5
Update stable tag for 6.7.0 release (#33930)
* Update readme.txt

* Add change file
2022-07-15 09:52:27 -05:00
aezazs-multidots 0cbaab737d
Added the border bottom of the modal's header (#33807)
* Added the border bottom of the modal's header

* Created changelog entry

* Changelog entry update
2022-07-15 14:35:34 +08:00
Chi-Hsuan Huang 92df587769
Fix task list overlaps with the Ellipsis menu (#33882)
* Fix task list overlaps with the Ellipsis menu

* Add changelog
2022-07-15 10:26:22 +08:00
Paul Sealock 3575254895
Prepare trunk for version 6.9.0 (#33918) 2022-07-15 14:05:16 +12:00
Lucas Bustamante 2a89de195f
Small typos (#33914)
* Small typos

* Rewording
2022-07-14 14:40:32 -07:00
github-actions[bot] 93817aeeee
Release: Remove 6.8 change files (#33913)
Delete changelog files from 6.8 release

Co-authored-by: WooCommerce Bot <no-reply@woocommerce.com>
2022-07-15 09:34:53 +12:00
Lucas Bustamante 5e4e37932f
Doc improvements for Playwright e2e (#33910)
* Doc improvements for Playwright e2e

* Remove spacing changes

* Undo spacing
2022-07-14 14:18:43 -07:00
Jamel Noel Reid 2da933a946
Configured wp-env to work with Playwright tests (#33850)
* Updated wp-env test port

* Added script to init test env

* Added env helper scripts

* Updated admin email to match wp-env

* Fixed flaky tests

* Updated test readme

* Updated workflow to use wp-env

* Added changelog

* Stored admin email in variable

* Added check for flaky test

* Updated workflow to work with both envs

* Updated README.md

* Updated condition

* Updated changelog

* Fixed workflow

* Fixed workflow

* Fixed workflow

* Restored workflow

* Updated check to be a string
2022-07-14 13:23:41 -07:00
Josh Betz 6f786e61c5
API: System Status: Cache plugins data (#33899)
* API: System Status: Cache plugins data

This is a follow up to https://github.com/woocommerce/woocommerce/pull/32823
where we introduced caching for retrieving theme data. Here we're
cachcing plugin data. Since we have to read from the filesystem and
parse the plugin headers, this can be kind of slow.

We should see an improvement on sites with more than a few plugins and
the improvement could be significant on sites that have many plugins
installed (even if they're not active).
2022-07-14 12:41:17 -05:00
Thilina Pituwala 449af6825f
Add the wp wc com extension list command (#33783)
* add CLI com command class and hook it

* Update php docs and change registered command names for wc com.

* Fix lint issues.

* Retrieve and display extension list and for the connected site.

* Adding the changelog for wc com extension list

* Remove the install command which not implemented in current branch.

* Update example usages for wp wc com extension list command.

* Update changelog.

* Fix the changelog file formatting

Co-authored-by: Rommel Castro <rommelxcastro@gmail.com>
Co-authored-by: Néstor Soriano <konamiman@konamiman.com>
2022-07-14 13:18:50 -03:00
louwie17 39470e9f5c
Fix API triggered tracks not firing (#33872)
* Revert back track property changes to WC_tracks class

* Add changelog
2022-07-14 08:30:03 -03:00
Adrian Duffell a7d34b22aa
Remove query for products type in Shipping Task (#33886) 2022-07-14 17:29:40 +08:00
aezazs-multidots 5093710ad4
Proper commenting of a function (#33823)
* Proper commenting of a function

* Created changelog entry

* change changelog entry
2022-07-14 19:58:39 +12:00
Adrian Duffell 4ab95678ab
Randomize the sections in the recommended marketing extensions (#33851) 2022-07-14 13:41:18 +08:00
Chi-Hsuan Huang 9d6bf48964
Setup Wizard: Fix "Save changes" does not work on "Free features" (#33844)
* Fix "Save changes" does not work on "Free features" step

* Add changelog
2022-07-14 13:38:33 +08:00
Moon cca2df58b4
Add a helper function to simplify ExPlat call in PHP (#33871)
* Add a helper function to simplify explat call

* Add changelog
2022-07-13 19:35:18 -07:00
Moon f2b6321b1b
Apply shipping smart defaults when country is US and Jetpack is installed (#33788)
* Enable shipping smart defaults when store country is US and Jetpack is installed

* Add changelog

* Remove redundant check
2022-07-13 19:34:56 -07:00
Niels Lange e09469c13c
Update WooCommerce Blocks package to 8.0.0 (#33736) 2022-07-14 13:58:51 +12:00
RJ 6af3ea5867
fix: typos in shipping settings (#33836) 2022-07-13 23:41:22 +08:00
Rommel Castro 70ea12eb81
add CLI `wc com extension install` command (#33775)
Co-authored-by: Thilina Hasantha <thilina.hasantha@gmail.com>
2022-07-13 10:34:03 +02:00
Chi-Hsuan Huang db8ea51d76
Set shipping feature flags to true (#33819)
* Set smart shipping feature flags to true

* Add changelog
2022-07-13 16:27:05 +08:00
aezazs-multidots a0a242f6a7
Ordering of CSV Columns of Revenue Table (#33818)
* Ordering of Text Columns of Revenue Table

* Created changelog entry
2022-07-13 10:33:42 +08:00
jonathansadowski 9c242bcc4c
Update github action to require valid changelog file (#33772)
* Update github action to equire valid changelog file

* Update github action for changelogger to install depedencies and composer

* Make valid changelog files that were invalid
2022-07-12 16:07:12 -05:00
jonathansadowski 38296db283
Remove change file for #33722 (#33740) 2022-07-12 16:00:04 -05:00
Fernando 94d545c35f
Product creation experience: improve inventory copy (#33754)
* Change copy `Manage stock level (quantity)`

* Change copy `Limit purchases to 1 item per order`

* Improve inventory copy and add tooltip

* Add changelog

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2022-07-12 15:42:15 -03:00
Moon 18a4b802ed
Consider WC Admin is disabled when analytics feature is disabled in WC Status widget (#33816)
* Consider WC Admin is disabled when analytics feature is disabled

* Add changelog
2022-07-11 21:15:12 -07:00
Moon 7edec113ef
Use transient to cache Shipping::has_shipping_zones() result (#33813)
* Use transient to cache has_shipping_zones

* Add changelog
2022-07-11 21:14:43 -07:00
Sam Seay c702c66a44
Move all woocommerce-beta-tester release config into woorelease (#33799) 2022-07-12 13:36:05 +12:00
Christopher Allford 3c7f3a7190
Remove WooCommerce 6.7 Changelog Files (#33797)
Removed Changelog File
2022-07-11 10:22:49 -07:00
RJ 5bb03d0188
add: partial spotlight for shipping smart defaults tour (#33801)
- added a dynamic floating div to allow tour kit to track just part of the shipping settings table
2022-07-11 17:17:02 +08:00
Rodrigue a3a5168aea
Remove FB extension from Installed marketing extensions list. (#33781) 2022-07-10 12:10:01 -07:00
Jorge A. Torres 96f2cc30a4
[COT] Implement `delete()` in the COT datastore (#33708)
* `add_meta()` should be more flexible

* Add `delete_order_data_from_custom_order_tables()`

* Add private method `trash_order()` to COT datastore for handling order trashing

* First stab at COT datastore `delete()`

* Delete COT data for orders when deleting its associated post

* Add changelog

* Simplify delete logic

* Minor fixes

* Rework `create()` tests

* Add tests for `delete()`

* Remove unnecessary var
2022-07-08 17:15:10 +05:30
Chi-Hsuan Huang 8952dac7c0
Set up i18n-text-domain rule and fix missing text domain (#33780)
* Set allowedTextDomain to only allow woocommmerce text domain

* Set allowedTextDomain to only allow woocommerce text domain

* Fix wrong or missing i18n text domain

* Add changelog

* Add changelog
2022-07-08 18:37:30 +08:00
Jonathan Lane 537c8c44c7
Couple of Playwright fixes for some flaky tests (#33766)
* Updates to simple product test to reduce flakiness

* Remove focus

* Fix to improve flakiness of order refund test

* Added a wait to help page loads test

* Add a couple more waits to refund tests

* Changelog

* Retry key generation during global setup

* Setup checklist has changed, update

* Update to setup task list

* Add wait for setup checklist

* Update locator for install checklist

* Changelogger: Fix PHPCS violations (#33664)

* Deploy header task variant from task list experiment (#33750)

* Deploy task list experiment 1

* Add changelog

* Fix wrong copy in the payment task (#33749)

* Add headingDescription prop to PaymentGatewaySuggestions list

* Fix payment suggestions heading text

* Add changelog

* Fix missing manage button for TikTok (#33731)

* Fix missing manage button for TikTok

* Add changelog

* Packages: Fix postinstall errors on install (#33724)

* Fix additional payment task name (#33727)

* Rename "Set up additional payment providers" task -> "Set up additional payment options"

* Add changelog

* Remove change files for #33704 (#33734)

* Add shipping class data store (#33765)

* Add initial shipping classes data store

* Add types for the product shipping class store

* Filter out undefined items in list for when an item is deleted

* Add changelog

* Add data store README

* Fix onboarding test

* Skipping flaky test

Co-authored-by: Jon Lane <jon.lane@automattic.com>
Co-authored-by: Paul Sealock <psealock@gmail.com>
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
Co-authored-by: jonathansadowski <jonathansadowski@users.noreply.github.com>
Co-authored-by: louwie17 <lourensschep@gmail.com>
2022-07-07 14:13:00 -06:00
jonathansadowski 481d61c525
Remove change files for #33704 (#33734) 2022-07-07 10:46:40 -05:00
Chi-Hsuan Huang 44c3ab8f74
Fix additional payment task name (#33727)
* Rename "Set up additional payment providers" task -> "Set up additional payment options"

* Add changelog
2022-07-07 11:33:30 +08:00
Chi-Hsuan Huang b48042b60b
Fix missing manage button for TikTok (#33731)
* Fix missing manage button for TikTok

* Add changelog
2022-07-07 10:14:19 +08:00
Chi-Hsuan Huang 6e21f2c9b4
Fix wrong copy in the payment task (#33749)
* Add headingDescription prop to PaymentGatewaySuggestions list

* Fix payment suggestions heading text

* Add changelog
2022-07-07 10:13:27 +08:00
Chi-Hsuan Huang 9c3118fdf4
Deploy header task variant from task list experiment (#33750)
* Deploy task list experiment 1

* Add changelog
2022-07-07 10:11:14 +08:00
Paul Sealock 7229b65bc9
Changelogger: Fix PHPCS violations (#33664) 2022-07-07 08:54:48 +12:00
Jonathan Lane 0cebdf5277
Convert e2e tests to Playwright (#33462)
* Final updates for Playwright

* Update config

* Add uuid dependency

* Increase retries to 2

* Update selectors on shipping page

* Use baseURL instead of hard-coded URL for API

* Clarify comment

* Use baseURL instead of hard-coded URL

* Check to see if an order was created before attempting to delete it

* Add changelog

* Turn on Playwright tests in GitHub

* Increase timeout for CI execution

* Update configuration options (minor edit)

* Fix for checkout flaky test

* Parse orderId from URL

* Check for substring

* Streamline email tests

* Remove .only

* Only clear email logs of messages for test

* Get orderId from page element

* Fix for test not waiting for reset

* Add in second wait for Performance section

* Change significance from minor to patch

Co-authored-by: Jon Lane <jon.lane@automattic.com>
2022-07-06 14:28:00 -06:00
louwie17 49859c8f84
Fix product variation tooltip (#33741)
* Make sure the default form value tooltip is initialiazed when adding the first variation

* Update copy of default form value tooltip in variations

* Add changelog

* Fix auto formatting

* Add pointer events: none to tooltip to prevent flickering
2022-07-06 13:54:11 -03:00
Ilyas Foo 8d281241a9
Add tracks for shipping smart defaults (#33748)
* Change review shipping task id to 'review-shipping'

* Add click track for shipping-recommendation task from the settings page

* Changelog

* Add test

* Add more specific test param
2022-07-06 20:00:08 +08:00
Moon 74fd45ec16
Add payment icons right next to the Discover other payments link (#33744)
* Add pyament icons

* Add changelog

* Text and logo changes when wc pay is installed and setup

* Use PaymentSuggestions to query plugins

* Make sure image_72x72 exists

* Remove unused namespaces

* Remove stripe2 image -- no longer needed

* Make sure recommended payment is not already active

* Check plugins field to filter out active plugins
2022-07-06 03:24:01 -07:00
Chi-Hsuan Huang b274831334
Update wcpay suggestion UI in payment task (#33717)
* Add WCPayBanner & WCPayBenefits

* Update payment setting & welcome screen to use components from woo onboarding

* Update wcpay suggestion UI in payment task

* Add changelog

* Add WCPayBannerImageCut image and update wcpay banner style

* Update packages/js/onboarding/src/components/WCPayBanner/WCPayBanner.scss

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

* Set .woocommerce-recommended-payments-banner__image_container display: flex

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
2022-07-06 14:20:11 +08:00
Moon 9b175c64d9
Make store location and rates steps clickable (#33661)
* Make store location and rates clickable

* Add changelog

* Make store_location_completed camelCase

* Fix onCompleteStep logic

* Update plugins/woocommerce-admin/client/tasks/fills/shipping/index.js

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

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
2022-07-05 19:13:57 -07:00
Moon 7c723583cb
Add tests for react admin translations (#33510)
* Add switch-language endpoint

* Add translation tests for PHP, react client, and component

* Fix component test

* Add Changelog

* Add Changelog
2022-07-05 17:16:15 -07:00
Christopher Allford 0a2588f6c4
Fixed WooCommerce Beta Tester Zip Build (#33728) 2022-07-06 11:28:56 +12:00
Joel Thiessen 57869a2ab7
Fixing activity panel does not appear after navigating to OBW and back (#33722) 2022-07-05 10:02:46 -07:00
Fernando f9f42ce3c2
Rename event prop from `cross-sell` to `cross_sell` (#33704)
* Rename event prop from `cross-sell` to `cross_sell`

* Added validation to `WC_Tracks_Event::validate_and_sanitize`

* Remove extra tab

* Remove `error_log

* Fix WP_Error message

* Add changelog

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2022-07-05 10:38:29 -03:00
Chi-Hsuan Huang 97f3e2d609
Fix untranslated texts on payment setting page (#33718)
Fix untranslated string in payment setting page
2022-07-05 13:28:31 +08:00
RJ b7ffa1c3d2
Add: Intro tooltips for shipping smart defaults (#33688)
add: intro tooltips for shipping smart defaults

- removed php code for setting 'reviewed' option as it was being set on page load and thus always evaluated to true before the user sees it
- added intro tooltips
2022-07-05 13:02:52 +08:00
Noonan Web Group Limited 538403306c
Update wp-background-process.php to use wp_convert_hr_to_bytes() (#30908)
Update wp-background-process.php to use wp_convert_hr_to_bytes()

Currently the code is typecasting the memory limit to an int. This assumes that the memory limit is in MB, so if you set your memory limit to 4G this will return 4194304 bytes (4.19304 MB.) Instead, we should use the native WordPress function `wp_convert_hr_to_bytes` to handle the conversion into bytes correctly.
2022-07-04 19:23:52 -07:00