Commit Graph

9059 Commits

Author SHA1 Message Date
Gan Eng Chin f616d688d8
Call marketing channels API with wp.data. 2023-01-18 02:04:42 +08:00
Barry Hughes 2bf9f57795
Restore pre-7.2.0 quantity selector behavior (#36460)
Prior to 7.2.0 the quantity input was hidden if input min and max were identical (either because the product was sold individually, or because of min/max products config). This change restores that behavior, but makes it possible to render the input in readonly mode if desired (via filters).
2023-01-17 17:06:25 +01:00
Matthias Kittsteiner 0f78e32216
Add context to countries shipping to prefix (#36254)
Closes https://github.com/woocommerce/woocommerce/issues/36242
2023-01-17 10:39:10 +01:00
Joel Thiessen d9daad3e9c
Converting product details section to utilize slot fills (#36368)
* Working prototype of product details via slotfill

* Raising default order for product slot-fills

* Move logic to details field name component

* Adding order prop to all fills.

* Adding components changelog

* Adding changelog

* Deleting obsolete product details section files

* Reducing spacing between slot filled fields
2023-01-17 05:04:58 -04:00
Joshua T Flowers ea64a98f54
Extract attribute filtering and fetching logic out of attribute components (#36354)
* Move attribution fetching to separate hook

* Add changelog entry

* Set all attributes on update of subset of attributes

* Move filtering logic to hook

* Remove tests that filter attribute by type inside the component

* Rename AttributeField to AttributeControl and props from attributes to value
2023-01-17 04:34:08 -04:00
Willington Vega 6377314b1b
Remove deprecated usage of `${var}` syntax in strings (#36439)
* issue-35763/fix-php-8.2-deprecation-warnings

* Declare $mockable_functions property

* Declare $mockable_classes property

* Fix deprecated usage of ${var} in strings

* Add changelog file

* Avoid using interpolation to create SQL statement

We could ignore the PHPCS error. However, ignoring the error leaves
PHPCS unable to detect future changes that may introduce unsafe
interpolation.

I think the more verbose approach is the safest approach in this
case.

* Ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared

There doesn't seem to be a way to use a variable name for the name of the table without
triggering a PHPCS error.

* Avoid interpolated passing interpolated variables to __()

* End inline comments with a full-stop
2023-01-17 10:47:00 +08:00
Barry Hughes f4af1b7a84
Get the first array item for the alt_text. (#35009) 2023-01-16 16:28:32 -08:00
Priyanka Behera 3719b62dad
Fixed - woocommerce_order_tracking shortcode causes fatal error if a refund ID is entered #31760 issue (#33735)
* Fixed #31760 issue

* additional space removal after &&

* Make sure tracking shortcode only tracks orders of type `WC_Order`

* Add changelog

Co-authored-by: Jorge A. Torres <jorge.torres@automattic.com>
2023-01-16 16:31:48 -03:00
Mahdi Taleghani 497119b622
fixing a typo in i18n states file 2023-01-16 21:23:55 +03:30
Nima 7e27c0d67a Add changelog 2023-01-16 17:12:16 +00:00
Vedanshu Jain d58a6035a6
Include WC Cart functions for REST API calls (#36182) 2023-01-16 20:00:18 +05:30
Joel Thiessen 2dce575449
Adding ProductForm data store (#36430)
* Removing overriding functions in Section.php

* Adding changelog

* Adding product form data store

* Adding data package changelog
2023-01-16 08:13:55 -04:00
Nima b82421fa48 Merge branch 'trunk' into feature/34548-multichannel-marketing-backend 2023-01-16 12:06:38 +00:00
Vedanshu Jain b1489ca796
Properly handle product filtering query vars when front page is ‘shop’ (#36224) 2023-01-16 17:00:25 +05:30
Néstor Soriano 443b563335
Upgrade PHPUnit to v8 and stop using patched PHPUnit 7 for PHP 8 (#36273)
* Upgrade PHPUnit to v8, and remove usage of PHPUnit7 fork in CI

Once the minimum WordPress version supported by WooCommerce is 5.9
and the minimum PHP version supported is 7.2, we can switch to
PHPUnit 7 and the patched PHPUnit 7 with support for PHP 8 is
no longer needed.

* Resolve PHPUnit 8 deprecations in tests

* Add changelog file

* Fix code formatting
2023-01-16 20:58:09 +13:00
Sam Seay 235709ebf7
Enable Live Branches feature in WooCommerce Beta Tester (#36407) 2023-01-16 18:31:08 +13:00
Fernando Marichal c5a27cbd55
Add advanced setting option (#36380)
* Modify feature flag

* Add tooltip to WC > Settings > Advanced > Features

* Add Settings option

* Add `optional_features` and `beta_features` option

* Add changelog

* Fix lint

* Fix lint

* Add `new_product_management` to legacy features

* Fix escaped tooltip

* Fix `Analytics pages` e2e tests

* Fix `Payment setup task` e2e tests

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2023-01-13 17:04:02 -03:00
Barry Hughes 8ad92c4c82
Order emails: improve responsiveness and RTL support (#36310)
* Tweak email layout/styling. This should improve responsive properties for RTL emails particularly.

* Further improve layout consistency across a range of mobile email clients.

* Update existing code to match current coding standards.

* Further PHPCS fix.

* Update sample email to match recent changes in our default email CSS.
2023-01-13 16:48:27 -03:00
Barry Hughes f84042a823
[HPOS] Add support for ordering by metadata in order queries (#36403) 2023-01-13 10:20:49 -08:00
Barry Hughes 5d10f08e28
Widen the selector used to hide the quantity input (#36384) 2023-01-13 09:19:04 -08:00
Nima Karimi b2ff0ba1a2
Multichannel Marketing - API (#36222)
* Rename `get_errors_no` to `get_errors_count`

* Remove the validation for marketing channel slugs

Do not check if the marketing channel's slug exists in the list returned by WooCommerce.com Recommendation API. This essentially allows any third-party extension to register as a marketing channel.

* Revert InstalledExtensions

The InstalledExtensions class will be used by the previous generation of Marketing dashboard (if the user has not enabled the new "Marketing" feature); therefore, it's best to restore it to the original code.

* Fix code style

* Add channel property to MarketingCampaign

* Add methods to filter the recommended marketing channels and extensions

* Add `marketing/recommendations` API

* Add unit tests for `marketing/recommendations` API

* Add `marketing/channels` API

* Add unit tests for `marketing/channels` API

* Add `marketing/campaigns` API

* Add unit tests for `marketing/campaigns` API

* Translate Exception message

* Remove doc references to predetermined list of marketing channels

* Add `unregister_all` method

To allow unregistering all marketing channels.

* Unregister all channels on test tear down

* Change API access denied authorization code

* Change API access permission

* Add MarketingCampaignType class

This allows defining campaign types for each marketing channel.

* Add campaign type property to campaign class

* Add `marketing/campaign-types` API

This API returns the aggregated list of supported marketing campaign types for all registered marketing channels.

* Add unit tests for `marketing/campaign-types` API

* Remove unused jsonSerialize method

* Fix unit tests

Co-authored-by: Nima <nima.karimi@automattic.com>
2023-01-13 19:54:48 +03:00
nigeljamesstevenson 1eed9a4fc9
update k6 readme variable names (#36398) 2023-01-13 16:40:42 +00:00
Matt Sherman 69e7fd1b42
Analytics: Decode HTML entities in CategoryBreadcrumbs (#36321)
* Decode HTML entities in CategoryBreadcrumbs

* Changelog
2023-01-13 11:14:40 -05:00
barryhughes dc2a0ff774 Changelog. 2023-01-12 16:26:54 -08:00
Paul Sealock 1772babf91
Security update 242 (#36408)
* Customers REST API: return user metadata only when requester has an administrator role

* Add changelog file

Co-authored-by: Nestor Soriano <konamiman@konamiman.com>
2023-01-13 13:14:42 +13:00
Sam Seay 0f4bf6c8f4
Bump stable tag and update changelog for 7.2.3 release. (#36385) 2023-01-13 13:11:54 +13:00
Jorge A. Torres 65bf167a4d Make PHPCS happy xD 2023-01-12 18:26:16 -03:00
Jorge A. Torres 0ce815d464 Add changelog 2023-01-12 18:02:12 -03:00
Jorge A. Torres fd7099824e Add unit tests 2023-01-12 18:02:07 -03:00
Jorge A. Torres e4efa941e9 Implement sorting order queries by metadata 2023-01-12 18:02:02 -03:00
Jorge A. Torres 22edb1f67f Build a list of flat meta_query clauses when processing meta queries 2023-01-12 18:01:29 -03:00
Jorge A. Torres f1b49e76e5 Fix PHPCS issue 2023-01-12 18:01:03 -03:00
louwie17 04d371b7e0
Add product form api functions (#36165)
Co-authored-by: Joel <dygerati@gmail.com>
2023-01-12 12:33:06 -08:00
Fernando Marichal 78002eac9c
Hide `Variations` section when it is empty (#36202)
* Add changelog

* Hide Variations section when it is empty

* Fix hiding variations

* Remove `totalCount const

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2023-01-12 16:32:40 -03:00
Joshua T Flowers 891ecb7efb
Redirect to new product experience when in experiment group (#36381)
* Redirect to new product experience when in experiment group

* Add changelog entry
2023-01-12 16:02:40 -03:00
Joshua T Flowers ad59769f25
Remove persisted query on return to parent product from variation (#36365)
* Remove persisted query on return to parent product from variation

* Add changelog entry
2023-01-12 09:20:46 -08:00
Matt Sherman 54c0acf8cd
Decode HTML entities in CategoryFieldItem (#36367)
* Decode HTML entities in CategoryFieldItem.

* Changelog
2023-01-12 10:21:43 -05:00
louwie17 11af1e6381
Add/36019 php product form helper classes (#36093)
* Add initial PHP classes for field registry with tests

* Add README

* Add changelog

* Add sorting to get fields and add test for this

* Update location to section

* Fix lint errors

* Address PR feedback and add Card and Section classes

* Fix php unit test

* Some more cleanup and consolidation of product form component logic

* Fix tests and linting

* Rename Card to Subsection and move some logic around

* Rename Form to FormFactory

* Fix lint errors
2023-01-12 04:39:38 -04:00
Matt Harrison e588c560bf
Update spelling of Cancelled to Canceled for US English. (#36294)
* Update spelling of Cancelled to Canceled for US English.

This only updates output display text that uses US English. All code that uses
the form Cancelled is unchanged and is perfectly fine to stay as Cancelled.
(since it is behind the scenes and would require changes in other plugins)

For languages where Cancelled is preferred such as UK English the approprate
form can be applied in the translation files.

Fixes https://github.com/woocommerce/woocommerce/issues/25847

* add changelog file

* Update plugins/woocommerce/tests/api-core-tests/tests/settings/settings-crud.test.js

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

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
2023-01-12 12:13:36 +08:00
Sam Seay 11b46d4f77
Add a new set of CLI commands to WooCommerce Beta Tester (#36339) 2023-01-12 14:16:01 +13:00
barryhughes 83c946602a Widen the selector used to hide the quantity input (for products that are sold individually). 2023-01-11 15:25:12 -08:00
Joel Thiessen 6e428201c1
Adding WooProductSectionItem slotfill (#36331) 2023-01-11 10:00:20 -08:00
nigeljamesstevenson 0490311829
k6: update order requests for HPOS add tidy scenarios (#36174) 2023-01-11 16:08:08 +00:00
Maikel David Pérez Gómez 8bada412d4
Product variations should inherit parent product properties (#36234)
Remove manage_stock 'parent' value before saving the variation
2023-01-11 11:41:25 -03:00
Vedanshu Jain b3bd207baa Enable COT Tests for all PRs. 2023-01-11 09:31:11 +05:30
github-actions[bot] 4ab70c5e7d
Delete changelog files based on PR 36170 (#36172)
Delete changelog files for 36170

Co-authored-by: WooCommerce Bot <no-reply@woocommerce.com>
2023-01-11 07:19:51 +13:00
Joel Thiessen f429b9444c
Adding WooProductFieldItem slotfill (#36315) 2023-01-10 10:13:02 -08:00
Rodrigo Primo 1d234b5ac0
Update TaskLists::add_task() to reflect changes in TaskList::add_task() (#36104)
* Update TaskLists::add_task() to reflect changes in TaskList::add_task()

In
8ff08ea0c9 (diff-061f664bd417ad78d47c53ad5e6cc7e2eb1243af4e55b6fbf68750225acb06a3R173)
`TaskList::add_task()` was refactored to receive an instance of `Task`
instead of an `array` as its first parameter.

This commit updates `TaskLists::add_task()` (easy to miss that it is a
different method as the only difference is the plural in the class
name) to reflect the changes from the commit mentioned above. It
updates the type of the second parameter from `array` to `Task` and
renames the parameter from `$args` to `$task`.

I found this while using `TaskLists::add_task()` to add a MailPoet task
as our PHPStan checks complained that I was passing the wrong parameter
to this WooCommerce method.

* Add missing changelog file
2023-01-10 08:13:49 -08:00
Barry Hughes 301182fc8a
When product is sold individually, hide quantity selector (#36350) 2023-01-10 09:49:59 +01:00
barryhughes a1ce90b306 Changelog. 2023-01-09 10:05:26 -08:00
Gan Eng Chin b326ba1204
Merge branch 'feature/34903-multichannel-marketing-frontend/main' into feature/34903-multichannel-marketing-frontend/34906-channels-card 2023-01-09 23:38:03 +08:00
Gan Eng Chin 1b1d70925e
Merge branch 'feature/34556-marketing-api' into feature/34903-multichannel-marketing-frontend/main 2023-01-09 23:36:42 +08:00
Joris Van Steenberghe 0774e0506a Make sure setting sort order of all variations takes private variations into account (#32833) 2023-01-09 13:48:36 +01:00
Barry Hughes 0f37590021
Validate Norweigan postcodes/rework code for 4-digit post code validation (#36277)
Also gather countries that use four digit postcodes in one single case in the `switch` statement.

Co-authored-by: Stian <stian@dekode.no>
2023-01-09 12:11:22 +01:00
Vedanshu Jain 01e8a2029a
Make HPOS UX more consistent with posts (so that same e2e tests passes). (#36282) 2023-01-09 12:08:06 +01:00
Alexandre Faustino af9389d50d
Adds 2 new order status filters for bacs and cheque email instructions (#35849)
Co-authored-by: Néstor Soriano <konamiman@konamiman.com>
2023-01-09 11:52:41 +01:00
Néstor Soriano b03cb80c0c
Fix: order refunds REST API endpoint reading from posts table even with HPOS active (#36308)
Move HPOS-aware orders retrieval code from REST API v3 to v2. 

This has two effects:

1. Make the /orders endpoint compatible with REST API v2 when HPOS
   is active, additionally to v3 (v1 would require additional work).

2. Fix the /orders/<id>/refunds endpoints for v2 and v3, which was
   retrieving data from the posts table even when HPOS active

The class hierarchy is: RefundsV3 extends RefundsV2 extends OrdersV2
and OrdersV3 extends OrdersV2.

Co-authored-by: barryhughes <3594411+barryhughes@users.noreply.github.com>
2023-01-09 10:59:22 +01:00
Lucio Giannotta 74768f4c56
Update WooCommerce Blocks to 9.1.4 (#36314)
This update removes compatibility of the “Products (Beta)” block from
WordPress versions below 6.1.
2023-01-09 08:02:17 +13:00
Maikel David Pérez Gómez 1ab678c13f
Include tax options in pricing section (#36299)
* Add Charge sales tax on sub section to pricing section when enable taxes is set to yes

* Add tax classes datastore

* Load tax classes in pricing section

* Set empty value when tax class is standard rate

* Add changelog files

* Add custom resolver to use slug as id for tax classes

* Add helper text and learn more link to tax class radio group
2023-01-06 09:41:45 -03:00
Fernando Marichal 230e79fbdf
Fix reordering items logic in attributes/options lists (#36296)
* Fix reordering list items bug

* Add tests

* Remove orphan comment

* Add changelog

* Rename const

* Update plugins/woocommerce-admin/client/products/fields/attribute-field/utils.ts

Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>

* Rename `objectKey` to `attributeKey`

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
2023-01-06 08:53:03 -03:00
Joshua T Flowers 8b905b92c0
Allow product tab navigation without prompting for unsaved changes (#36235)
* Add callback to confirm whether or not the prevent leaving page prompt should trigger

* Move prevent leaving logic to util and add tests

* Add changelog entry

* Add navigation changelog entry

* Fix WooCommerce data mock

* Revert desctructuring of nav properties
2023-01-05 18:30:36 -08:00
Joshua T Flowers 04089f37e6
Add product variation flag to hide WIP (#36311)
* Add product variations feature flag

* Add changelog entry
2023-01-05 18:30:23 -08:00
Vedanshu Jain 4c236bdc37
Use more generic selectors for HPOS<>Posts compatibility (#36284)
* Use more generic search selector for edit screen.

* Use more generic heading text for post<>HPOS compat.
2023-01-05 10:26:08 -08:00
Vedanshu Jain 677896c304
Add support for sorting by includes param. (#36215) 2023-01-05 22:17:14 +05:30
Néstor Soriano b15639ee6a
Fix bug when filtering for customer_id=0. (#36216) 2023-01-05 14:41:23 +01:00
Vedanshu Jain dab19a3ec9
Set child orders to be children of current order parent before deleting. (#36218) 2023-01-05 15:24:49 +05:30
Vedanshu Jain dec29bc959 Merge branch 'trunk' into fix/35852 2023-01-05 14:59:17 +05:30
Vedanshu Jain cb8c6f8b24
Remove duplicated statement.
Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
2023-01-05 14:57:33 +05:30
Vedanshu Jain f36a16cd06
Update changelogger to 3.3.0 to support PR number capturing with merge (#36266)
* Update changelogger.

* Add changelog.

* Update changelogger for all packages.

* Add changelogs.

* Update changelog for remaining packages.
2023-01-05 14:42:51 +05:30
Vedanshu Jain 584167746e
Skip custom search for HPOS API queries as it's handled already. (#36213)
* Skip custom search for HPOS API queries as it's handled already.

For HPOS, we don't need a seperate step of passing the args through wc_order_search since we take care of search params in the final query itself. This duplication was actually causing for some results to not be displayed since we were ending up not honouring pagination arguments and would search only in first 10 matches.

* Add changelog.
2023-01-04 15:08:22 -05:00
Vedanshu Jain e84c38504f
Speed up search query by using GROUP BY instead of DISTINCT for HPOS (#35897)
* Spped up the search query by using GROUP_BY.

Search query peforms much faster when using group by, MySQL does not like it when we use DISTINCT and join different tables.

* Add changelog.

* Fixup for calculating found orders seperately.

* Code standard fix.
2023-01-04 14:57:01 -05:00
IanDelMar e0b829413d
Make coupon code label accessible (#36247)
* Make coupon code label accessible

* Changelog, version tag bump.

Co-authored-by: barryhughes <3594411+barryhughes@users.noreply.github.com>
2023-01-03 19:40:18 -08:00
Joshua T Flowers e73fb9f23f
Derive product type from product attributes (#36243)
* Derive product type from product attributes

* Add tests around derive product type

* Add changelog entry
2023-01-03 16:25:21 -08:00
Joshua T Flowers 421fc3e30b
Convert HTML to blocks in product variation description (#36241)
* Convert HTML to blocks in product variation description

* Add changelog entry
2023-01-03 16:25:12 -08:00
Sam Seay 302dab0521
Update browserslistconfig for legacy JS assets (#36264) 2023-01-04 11:22:15 +13:00
rodelgc 7ecdd50365
E2e/fix obw industry spec (#36260)
* Fix 'can save industry changes' test

* Add changelog

* Wait store details contents to load
2023-01-03 12:42:47 -08:00
Joshua T Flowers df0ddb2dff
Fix navigation between variations and tab selection (#36239)
* Fix navigation between variations and tab selection

* Add changelog entry
2023-01-03 08:59:49 -08:00
Nima 02cd258b44 Add unit tests for `marketing/campaign-types` API 2023-01-03 15:00:23 +00:00
Nima 1b668d94f3 Add `marketing/campaign-types` API
This API returns the aggregated list of supported marketing campaign types for all registered marketing channels.
2023-01-03 14:55:52 +00:00
Nima 8ef6532a07 Add campaign type property to campaign class 2023-01-03 14:55:06 +00:00
Nima 1687416413 Add MarketingCampaignType class
This allows defining campaign types for each marketing channel.
2023-01-03 14:54:03 +00:00
Nima 20efcfb804 Change API access permission 2023-01-03 14:05:27 +00:00
Fernando Marichal af9f493c43
Fix attributes/options lists corrupt render (#36236)
* Fix attributes/options lists reordering

* Add changelog

* Fix element key

* Remove comment

* Add tests

* Fix changelog

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2023-01-03 10:33:29 -03:00
Nima 264c92a52f Change API access denied authorization code 2023-01-03 11:27:31 +00:00
Sam Seay 4c876e51c6
Add combobox and extra status information to the live branches menu in WooCommerce Beta Tester (#36140) 2023-01-03 12:03:41 +13:00
Vedanshu Jain e4d2b00681 Applied coding standards. 2023-01-02 17:16:56 +05:30
Vedanshu Jain b9fd1b8129 Add test for upshifting child orders. 2023-01-02 17:03:06 +05:30
mujuonly d4ce6faf1e
Typo correction in woocommerce/src/Admin/ReportsSync.php (#36122)
Co-authored-by: Néstor Soriano <konamiman@konamiman.com>
2023-01-02 12:11:37 +01:00
Barry Hughes c2b2eb5bed
Adds `add_meta_boxes_<SCREEN_ID>` hook to the HPOS order editor. (#35999)
Co-authored-by: Néstor Soriano <konamiman@konamiman.com>
2023-01-02 12:10:14 +01:00
Vedanshu Jain be97c1353b Add test for sorting by include param. 2023-01-02 16:20:25 +05:30
Thilina Pituwala a633ff8abf
Fix signature mismatch in WC CLI command api calls (#36240) 2023-01-02 11:34:20 +01:00
Roy Ho 0d641253ac
Revert "Automatically show attributes in Variations" (#36223)
Revert "Automatically show attributes in Variations (#35807)"

This reverts commit e4f6c468cb.
2023-01-02 10:07:30 +13:00
Joshua T Flowers 3fe3710c51
Automatically generate product variations on option changes (#36188)
* Auto generate variations on option changes

* Add changelog entry

* Move product variation generation to hook

* Create product auto draft if not yet created

* Allow auto-draft and trash statuses for products

* Update form context with product ID to allow fetching variations

* Fix product ID usage in variations

* Reset form after initial product creation

* Use form value name for display instead of persisted name for auto drafts

* Add additional test around auto draft title
2022-12-30 13:12:09 -08:00
Joshua T Flowers c9748dda09
Add ability to filter variations by local attributes in REST API (#36201)
* Allow filtering of variations by local attributes in REST API

* Add changelog entry

* Fix up lint errors
2022-12-29 12:23:35 -08:00
github-actions[bot] b4502cf5d0
Delete changelog files based on PR 36159 (#36231)
Delete changelog files for 36159

Co-authored-by: WooCommerce Bot <no-reply@woocommerce.com>
2022-12-29 07:13:09 -08:00
github-actions[bot] e68e2f0545
Delete changelog files based on PR 36158 (#36180)
Delete changelog files for 36158

Co-authored-by: WooCommerce Bot <no-reply@woocommerce.com>
2022-12-29 07:12:49 -08:00
Jorge A. Torres a5a2743e79 Add changelog 2022-12-28 18:35:32 -05:00
Jorge A. Torres b09eda12c1 Allow product filters to work when ‘shop’ is the front page 2022-12-28 18:22:08 -05:00
Nima 4d6ef8ece3 Unregister all channels on test tear down 2022-12-28 21:05:27 +00:00
Nima 130b2a94c6 Add `unregister_all` method
To allow unregistering all marketing channels.
2022-12-28 21:05:09 +00:00
Nima Karimi 3fb90016dc
Multichannel Marketing - Changes to the marketing classes (#36012)
* Rename `get_errors_no` to `get_errors_count`

* Remove the validation for marketing channel slugs

Do not check if the marketing channel's slug exists in the list returned by WooCommerce.com Recommendation API. This allows any third-party extension to register as a marketing channel.

* Revert InstalledExtensions

The InstalledExtensions class will be used by the previous generation of the Marketing dashboard (if the user has not enabled the new "Marketing" feature); therefore, it's best to restore it to the original code.

* Fix code style

* Translate Exception message

* Remove doc references to a predetermined list of marketing channels

Co-authored-by: Nima <nima.karimi@automattic.com>
2022-12-28 20:25:37 +03:00
Nima 4ef2d5781f Merge branch 'feature/35956-mcm-library-changes' into feature/34556-marketing-api 2022-12-28 13:41:17 +00:00
Nima 4e192e71b7 Merge branch 'feature/34548-multichannel-marketing-backend' into feature/35956-mcm-library-changes 2022-12-28 13:40:31 +00:00
Nima a9e8dd0e1c Merge branch 'trunk' into feature/34548-multichannel-marketing-backend 2022-12-28 13:39:42 +00:00
Nima f7be32dc9b Remove doc references to predetermined list of marketing channels 2022-12-28 13:30:48 +00:00
Nima 44042634e6 Translate Exception message 2022-12-28 13:28:43 +00:00
Nima e82feb21da Add unit tests for `marketing/campaigns` API 2022-12-28 13:27:19 +00:00
Nima 817ca2a96f Add `marketing/campaigns` API 2022-12-28 13:27:10 +00:00
Nima 200156d735 Add unit tests for `marketing/channels` API 2022-12-28 13:26:52 +00:00
Nima a1468ec739 Add `marketing/channels` API 2022-12-28 13:26:40 +00:00
Nima 086ce8f48a Add unit tests for `marketing/recommendations` API 2022-12-28 13:26:04 +00:00
Nima 677416fcf2 Add `marketing/recommendations` API 2022-12-28 13:25:51 +00:00
Nima 7dcdbd871e Add methods to filter the recommended marketing channels and extensions 2022-12-28 13:23:42 +00:00
Nima 6415f3f911 Add channel property to MarketingCampaign 2022-12-28 13:23:26 +00:00
Vedanshu Jain 69629aca0b Add coding standards. 2022-12-28 16:12:11 +05:30
Vedanshu Jain 879741a0d3 Add changelog. 2022-12-28 16:11:12 +05:30
Vedanshu Jain 44757082d0 Set child orders to be children of current order parent before deleting for consistency.
In post storage, just before deleting an order, we will change all child order's parent to be parent of current order. This commit adds the same behavior for HPOS for consistency.
2022-12-28 16:09:13 +05:30
rodelgc 3daeac9a69
Migrate E2E daily shopper tests (#35873)
Enable shopper E2E tests on Daily smoke test workflow
2022-12-28 18:28:17 +08:00
Vedanshu Jain 082d972377 Add changelog. 2022-12-28 15:48:24 +05:30
Vedanshu Jain 566498fb34 Fix bug when filtering for customer_id=0. 2022-12-28 15:47:39 +05:30
Vedanshu Jain e163e1a265 Add changelog. 2022-12-28 15:45:41 +05:30
Vedanshu Jain d00f606849 Add support for sorting by includes param. 2022-12-28 15:44:56 +05:30
Vedanshu Jain 2712b4724f Add changelog. 2022-12-28 15:27:15 +05:30
Vedanshu Jain 7a15ad61b7 Skip custom search for HPOS API queries as it's handled already.
For HPOS, we don't need a seperate step of passing the args through wc_order_search since we take care of search params in the final query itself. This duplication was actually causing for some results to not be displayed since we were ending up not honouring pagination arguments and would search only in first 10 matches.
2022-12-28 15:22:17 +05:30
Chi-Hsuan Huang 8c3f06c452
Fix "Save changes?" modal saves the options after selecting the 'Discard' option (#36160)
* Tweak save change modal padding

* Fix obw save change and add e2e tests

* Add changelog

* Fix product_types step
2022-12-28 16:23:16 +08:00
Chi-Hsuan Huang 9f0d718a33
Cleanup product task experiment (#35950)
* Cleanup product task experiment

* Rename experimental-products -> products

* Add changelog

* Clean up product task experiment in woo/onboarding

Remove product variant

* Rename experimental-import-products -> import-products

* Clean up OnboardingTasks.php

* Add changelog

* Remove experimental-products-task feature flag
2022-12-28 16:08:54 +08:00
Fernando Marichal f5e23c329c
Fix edit attribute modal terms list (#36186)
* Fix `EditAttributeModalProps` terms list

* Add changelog

* Fix `AttributeField` continuos hydration

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2022-12-27 15:38:08 -03:00
Maikel David Pérez Gómez 8fc2818e28
Add edit button to variations list items (#36079)
* Add edit button to variations list items

* Add comment feedbacks
2022-12-27 15:22:52 -03:00
Joshua T Flowers 5137973d91
Add product variation header actions and persistence (#36155)
* Fix up updateItem query in CRUD data store

* Add product variation form header

* Fix gaps for variation and parent product actions

* Hide preview button on mobile for product variations

* Add changelog entry

* Add data package changelog entry

* Fix lint errors
2022-12-27 10:21:32 -08:00
nigeljamesstevenson 7d32d553cf
update/api-core-tests guide for writing tests (#35978)
* api-core-tests guide for writing tests

* Update plugins/woocommerce/tests/api-core-tests/README.md

Co-authored-by: Greg <71906536+zhongruige@users.noreply.github.com>

* Update plugins/woocommerce/tests/api-core-tests/README.md

Co-authored-by: Greg <71906536+zhongruige@users.noreply.github.com>

* Update plugins/woocommerce/tests/api-core-tests/README.md

Co-authored-by: Greg <71906536+zhongruige@users.noreply.github.com>

* Update plugins/woocommerce/tests/api-core-tests/README.md

Co-authored-by: Greg <71906536+zhongruige@users.noreply.github.com>

* Update plugins/woocommerce/tests/api-core-tests/README.md

Co-authored-by: Greg <71906536+zhongruige@users.noreply.github.com>

* Update plugins/woocommerce/tests/api-core-tests/README.md

Co-authored-by: Greg <71906536+zhongruige@users.noreply.github.com>

* updates after PR review

* updates after review

* updates after review

* updates after review

* readme update

* add reference to authentication in the quick start guide

Co-authored-by: Greg <71906536+zhongruige@users.noreply.github.com>
2022-12-27 09:27:39 +01:00
Timur Gogolev abd4c8da80 Fix an issue found by PHPCS 2022-12-26 16:34:20 +03:00
Timur Gogolev 4647efa840 Include WC Cart functions for REST API calls 2022-12-26 16:04:48 +03:00
Ilyas Foo 61ee3eb46a
Remove redundant Pinterest listing from marketing task (#36158)
* Remove redundant pinterest plugin shown in marketing task
2022-12-26 12:17:04 +08:00
Tam Mullen 0a6a4f2ec1 Adding changelog 2022-12-24 01:58:41 +00:00
Tam Mullen 06e6397dd1 Tidy up formatting of perf scenarios 2022-12-24 01:53:23 +00:00
Tam Mullen 0e6d7e9a40 Update perf test assertions for when HPOS is authoritative 2022-12-24 01:52:52 +00:00
Matt Sherman a9b46d51b5
Add Options section to new product experience (#35910)
* Support passing in filter and new attribute properties to AttributeField

* Changelog

* Pass addButtonLabel as prop

* Add OptionsSection to options tab

* Refactor more to create Attributes and Options fields

* Refactor a couple of things

* Refactor globalAttributeHelperMessage

* Remove `Used for filters` checkbox

* Remove `hydrationComplete`

* Add subtitle to empty state component

* Fix 'Add option' button

* Fix tests

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2022-12-23 11:57:28 -08:00
Maikel David Pérez Gómez 5b3b5dab59
Truncate attribute option name to a max of 32 chars in variations list (#36134)
* Truncate attribute option name to a max of 32 chars in variations list

* Use PRODUCT_VARIATION_TITLE_LIMIT to truncate attribute option names

* Fix up lint error

Co-authored-by: Joshua Flowers <joshuatf@gmail.com>
2022-12-23 11:29:44 -08:00
github-actions[bot] 8c2180e144
Delete changelog files based on PR 36125 (#36169)
Delete changelog files for 36125

Co-authored-by: WooCommerce Bot <no-reply@woocommerce.com>
2022-12-24 07:56:48 +13:00
Paul Sealock 88280f2a5c
Update requires at least 5.9 in readme to same as woocommerce.php (#36170)
* requires at least to 5.9

* changelog
2022-12-24 07:56:22 +13:00
Maikel David Pérez Gómez dd94bb78ee
Add product variation image (#36133)
* Convert getCheckboxTracks into generic function because of a type mismatch

* Add image to product variation and export types

* Add single image field

* Integrate SingleImageField in variation details section

* Add changelog file

* Add comment suggestions

* Fix set image onFileUploadChange
2022-12-23 10:28:44 -08:00
Luigi Teschio ed6b0c841b
Update WooCommerce Blocks to 9.1.3 (#36125)
* Update WooCommerce Blocks to 9.1.2

* Update WooCommerce Blocks to 9.1.3

* add results of composer update

* use assertNotSame

* Pin sebastian/comparator to 3.0.3

* Revert "add results of composer update"

This reverts commit 1be3a0fcec.

Co-authored-by: Paul Sealock <psealock@gmail.com>
2022-12-24 07:22:29 +13:00
Gan Eng Chin 1d7b663186
Remove the unneeded "Create new campaign" button for now. 2022-12-24 01:45:59 +08:00
Gan Eng Chin 8e39098256
Show Campaigns card only when there is at least one registered channel. 2022-12-24 01:43:09 +08:00
Gan Eng Chin ee6fa9508e
Merge branch 'feature/34903-multichannel-marketing-frontend/34906-channels-card' into feature/34903-multichannel-marketing-frontend/34905-campaigns-card
Conflicts:
	plugins/woocommerce-admin/client/marketing/overview-multichannel/MarketingOverviewMultichannel.tsx
2022-12-24 01:39:57 +08:00
Gan Eng Chin 52dd8845cc
Load registered and recommended channels in MarketingOverviewMultichannel.
The data will be used to conditionally display Campaigns card later.
2022-12-24 01:14:02 +08:00
Gan Eng Chin e950417542
Move useRegisteredChannels and useRecommendedChannels into shared hooks directory. 2022-12-24 00:48:03 +08:00
Gan Eng Chin 7bd32ba638
Remove useChannels and use useRegisteredChannels and useRecommendedChannels directly. 2022-12-24 00:32:23 +08:00
Gan Eng Chin 9e0b71ff1c
Rename CollapsibleRecommendedChannels to RecommendedChannels. 2022-12-23 22:12:16 +08:00
Gan Eng Chin af2f4eb904
CSS for "Add channels" button. 2022-12-23 22:08:50 +08:00
Gan Eng Chin 31b635b888
Code refactor: move CSS code to corresponding SCSS file. 2022-12-23 21:53:42 +08:00
Gan Eng Chin 06a303fc33
Types for useRegisteredChannels. 2022-12-23 21:21:52 +08:00
Gan Eng Chin 4fa4f802e9
Check for empty recommended channels. 2022-12-23 21:19:00 +08:00
Moon 52640de58a
Update country select control regex (#36159)
* Update regex to match country name or " - region "

* Add changelog

* Fix style
2022-12-22 21:30:50 -08:00
Maikel David Pérez Gómez bfa2d4f3a7
Product variation order should be persisted on save (#36109)
* Persist product variation order on product save

* Add batchUpdate to product variations datastore

* Add useVariationOrders hook to manage the ordering logic

* Add local ordering logic to variations field

* Persist variation orders on product save

* Add changelog file

* Add comments suggestions

* Add more comment seggestions
2022-12-22 16:01:51 -03:00
Joshua T Flowers 4b4fe7c227
Add product variation title to page header (#36085)
* Add method to get product variation title from data

* Conditionally add variation to page header

* Fix CRUD data store id query on selector

* Make getProductVariation calls and data types consistent to prevent multiple calls

* Add changelog entries

* Update product link type to avoid page refresh

* Expose function to truncate title to 32 character limit
2022-12-22 09:23:44 -08:00
louwie17 60f2ced82b
Fix no email report on product filter (#35971)
* Make sure order total count uses distinct for order ids

* Add unit test for order count bug

* Add changelog

* Fix lint errors

* Fix lint errors
2022-12-22 10:13:44 -04:00
Fernando Marichal a9986fe75e
Product variations - Set fixed height for card (#36053)
* Add className prop to Sortable

* Add styles

* Add `rows` class

* Add changelogs

* Remove `row-#` class

* Fix min-height

* Set task list item min height

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
2022-12-22 09:03:07 -03:00
Vedanshu Jain 34ac47969c
Add cherry-pick support for git merge strategy. (#35927)
* Add changelog.

* Add merge strategy support to cherry-picker tool.
2022-12-22 09:26:14 +05:30
github-actions[bot] 9ee2948954
Delete changelog files based on PR 36119 (#36127)
Delete changelog files for 36119

Co-authored-by: WooCommerce Bot <no-reply@woocommerce.com>
2022-12-21 12:41:22 -06:00
Maikel David Pérez Gómez 1ab7a851cb
Reset variation form if a new variation is given (#36078) 2022-12-21 15:00:35 -03:00
Maikel David Pérez Gómez c7c0322163
Persist active tab on refresh (#36112) 2022-12-21 14:47:13 -03:00
louwie17 1e815be516
Fix product table dropdown on mobile (#36046)
* Only add top when product row is expanded.

* Add changelog
2022-12-21 04:11:40 -04:00
louwie17 309ed6303f
Make sure attribute term dropdown adheres to sort order setting (#36047)
* Make sure attribute term dropdown adheres to sort order setting of attribute

* Fix spacing

* Fix lint errors
2022-12-21 04:11:12 -04:00
Barry Hughes 679fac1bfa
Re-run the 7.2.1 state migrations when merchants update to 7.2.2. (#36119)
The wc_update_721_* functions were not guaranteed to succeed, because of a hardcoded prefix. We also could not depend on the async migration tasks persisting through to the 7.2.2 update.
2022-12-21 13:00:46 +05:30
Sam Seay 4877e4b36e
Support installing live branches from the manifest (#36072) 2022-12-21 13:58:10 +13:00
github-actions[bot] 400ace67a3
Delete changelog files based on PR 36100 (#36106)
Delete changelog files for 36100

Co-authored-by: WooCommerce Bot <no-reply@woocommerce.com>
2022-12-21 11:33:02 +13:00
Maikel David Pérez Gómez 60e3adabd9
Add product variation navigation component (#36076)
* Add simple navigation component

* Add useProductVariationNavigation hook to manage navigation logic

* Integrate navigation component and hook in product variation form

* Add changelog file

* Add comment feedbacks
2022-12-20 18:02:25 -03:00
Kathy f2a4eed807
Make quantity selector more specific Only select the primary quantity (#36087)
* Add changelog

* Use the input name when selecting the quantity field.

* Changelog tweak.

Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
2022-12-20 10:48:19 -08:00
Joshua T Flowers 92496e3578
Add product variation General section (#36081)
* Add product variation general section

* Add changelog entry
2022-12-20 09:03:51 -08:00
Barry Hughes 6a1a7d7e15
Replace hardcoded table prefix. (#36100) 2022-12-20 06:08:34 -08:00
Sebastian Volland 843337d248
Fix docblock type annotations for `$meta_value` parameter. (#33853)
Fix docblock type annotations for `meta_value` parameter.
2022-12-20 03:02:17 -08:00
Dekadinious 35f99dba7d
Update documentation for two methods in abstract-wc-order.php (#34385)
* Update abstract-wc-order.php

My attempt to make the documentation clearer for these two methods. It's almost impossible to remember all nuances here, so I constantly find myself testing this. Better to have it in the documentation.

* Changelog.

Co-authored-by: barryhughes <3594411+barryhughes@users.noreply.github.com>
2022-12-19 17:18:57 -08:00
Gan Eng Chin 558ddf2609
Use Campaign type in useCampaigns. 2022-12-19 20:54:01 +08:00
Gan Eng Chin c67e479162
Add Campaign type. 2022-12-19 20:53:31 +08:00
rodelgc c4260c935f
Consistent folder structure for E2E and API test results (#35907)
Consistent folder structure for E2E and REST API test results
2022-12-19 14:33:22 +08:00
github-actions[bot] 76810a4445
Delete changelog files based on PR 36065 (#36069)
Delete changelog files for 36065

Co-authored-by: WooCommerce Bot <no-reply@woocommerce.com>
2022-12-19 13:05:46 +13:00
Paul Sealock 7a22d9a7ff
Fix/requires at least 5.9 (#36065)
* bump requires at least to 5.9

* changelog
2022-12-19 11:25:06 +13:00
github-actions[bot] 1e12453cca
Prep trunk for 7.4 cycle (#36022)
* Prep trunk for 7.4 cycle

* changelog

Co-authored-by: WooCommerce Bot <no-reply@woocommerce.com>
Co-authored-by: Paul Sealock <psealock@gmail.com>
2022-12-19 09:55:11 +13:00
github-actions[bot] 6e2f6e9315
Delete changelog files based on PR 35963 (#36064)
Delete changelog files for 35963

Co-authored-by: WooCommerce Bot <no-reply@woocommerce.com>
2022-12-19 08:47:35 +13:00
github-actions[bot] 54fe53341e
Delete changelog files based on PR 36042 (#36045)
Delete changelog files for 36042

Co-authored-by: WooCommerce Bot <no-reply@woocommerce.com>
2022-12-19 08:34:47 +13:00
github-actions[bot] 852b347a83
Delete changelog files based on PR 35967 (#36038)
Delete changelog files for 35967

Co-authored-by: WooCommerce Bot <no-reply@woocommerce.com>
2022-12-19 08:34:25 +13:00
github-actions[bot] 8a2f3859af
Delete changelog files based on PR 35985 (#35994)
Delete changelog files for 35985

Co-authored-by: WooCommerce Bot <no-reply@woocommerce.com>
2022-12-19 08:33:59 +13:00
Gan Eng Chin cbc616a9f3
Set cost column as numeric in Campaigns card.
This makes the column right-aligned.
2022-12-18 20:38:07 +08:00
Gan Eng Chin 32cf8d1341
Add pagination to Campaigns card. 2022-12-18 20:37:25 +08:00
Gan Eng Chin c444dbd126
CSS for campaign rows in Campaigns card. 2022-12-18 20:08:21 +08:00
Gan Eng Chin f5799c8721
Display campaign data in table in Campaigns card. 2022-12-18 19:34:16 +08:00
Gan Eng Chin af4f79ab28
Add loading state for Campaigns card. 2022-12-17 21:08:14 +08:00
Kamil 024e2382cb
Add an `required` argument to function `wc_dropdown_variation_attribute_options` (#34579)
* Add an `required` argument to function `wc_dropdown_variation_attribute_options`

* Whitespace, changelog.

Co-authored-by: barryhughes <3594411+barryhughes@users.noreply.github.com>
2022-12-16 12:58:45 -08:00
Jorge A. Torres 9c4cb19a2d
Drop use of WP 5.9 function in `quantity-input.php` (#36054) 2022-12-17 09:11:21 +13:00
Moon 62a957c75d
Add aria-label for simple select dropdown in select-control component (#35808)
* Add aria-label for simple select dropdown

* Add changelog

* Use placeholder value

* Allow aria label prop and use label as a fallback

* Update test snapshot

* Add changelog
2022-12-16 09:55:55 -08:00
Niklas 103fec668b
Use Imagick instead of putenv() to only use 1 thread and avoid memory issues with OpenMP (#35339)
* Use Imagick to set threads instead of putenv() (#31942)

* Adapt code to the coding styles

* Changelog and PHPCS fix.

Co-authored-by: Vedanshu Jain <vedanshu.jain.2012@gmail.com>
2022-12-16 09:48:13 -08:00
Maikel David Pérez Gómez d768307e69
Add single product variation sections (#36051) 2022-12-16 14:44:54 -03:00
Maikel David Pérez Gómez a6fa0e71bf
Add product variation visibility toggle (#36020)
* Add svg icons and show them in variations list

* The visibility icon should reflect the current visibility status

* Clicking the visibility icon should toggle on or off the variation visibility and persist these settings on refresh

* Price and quantity should be fade when the variant is not visible

* Add changelog

* Hovering the visibility icon should display a tooltip indicating what clicking this button will do

* Fix linter error

* Fix spinner opacity if button is disabled
2022-12-16 14:44:06 -03:00
Joshua T Flowers 469ca96830
Add endpoint to create all product variations (#35980)
* Add endpoint to create all product variations

* Add changelog entry

* Change endpoint name to generate

* Fix up phpcs errors
2022-12-16 09:25:03 -08:00
Joshua T Flowers d46a1045e8
Add product variation form and routes (#36033)
* Add route for editing product variation

* Fix up ID selector for getItem in CRUD data store

* Add product variation form

* Add changelog entries
2022-12-16 11:20:10 -03:00
Adrian Duffell 915256b709
Add Missing Tracks Events to Tax Settings Conflict Warning (#36042)
* Import Tracks package

* Add tracks event tax_settings_conflict_recommended_settings_clicked

* Add tracks event tax_settings_conflict

* Add tracks event tax_settings_conflict_dismissed

* Add changelog
2022-12-16 16:57:09 +08:00
Matt Sherman c94a5c6f4b
Refactor AttributeField into sub-components (#35997)
* Add className support to ListItem
* Refactor to extract AttributeListItem component
* Use AttributeListItem component in AttributeField
* Extract AttributeEmptyState from AttributeField
* Use AttributeEmptyState in AttributeField
* Add default value for label prop on AddAttributeListItem
* Add props for labels in AddAttributeModal
* Add props for labels in EditAttributeModal
2022-12-15 21:49:02 -05:00
Joel Thiessen 54f22aa437
Adding delayed spotlight to feedback button on current product page (#35865) 2022-12-15 16:09:21 -08:00
Joel Thiessen 6e20f66966
Adding the feedback button on activity panel for the classic product page (#35810) 2022-12-15 14:31:47 -08:00