Commit Graph

9209 Commits

Author SHA1 Message Date
Joel Thiessen 4341a53144
Migrating pricing section in product editor to slot fills (#36500)
* Adding changelogs

* Migrating pricing section in product editor to slot fills

* Adding slot and plugarea to variation form

* Removing obsolete pricing section files
2023-01-24 04:24:45 -04:00
Sam Seay 12b8c36408
Add a live branches userscript to WooCommerce Beta Tester (#36523) 2023-01-24 15:44:05 +13:00
Fernando Marichal c030b7dcd5
Add survey when disabling new experience (#36544)
* Add customer-score-tracks data

* Add callback after disabling new exp

* Add TransientNotice after filling out the survey

# Conflicts:
#	plugins/woocommerce/src/Admin/Features/NewProductManagementExperience.php

* Remove comments

* Remove NEW_PRODUCT_MANAGEMENT_FEEDBACK

* Add changelog

* Rename const

* Remove queryParam after showing notice

* Fix lint

* Fix lint 2.0

* Remove empty line

* Refactor `maybe_show_disabled_notice`

* Fix lint 3.0

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2023-01-23 22:43:17 -03:00
Joshua T Flowers 372208be41
Always show comments for product feedback form (#36484)
* Always show comments for product feedback form

* Add changelog entry

* Add CES changelog entry

* Fix up lint errors

* Add default for shouldShowComments in CustomerFeedbackModal
2023-01-23 17:36:48 -08:00
Fernando Marichal db2343cfed
Enable new experience when new user selects "Physical product" (#36406)
* Enable new experience for simple products

* Add changelog

* Fix `updateOptions`

* Fix redirect when new-exp is enabled

* Redirect when new-exp is enabled

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2023-01-23 20:18:43 -03:00
Joshua T Flowers 4a2180f442
Show product CES footer on product tour close (#36516)
* Show product CES footer on product tour close

* Add changelog entry

* Remove unused code
2023-01-23 11:55:35 -08:00
Nathan Silveira 732fd7dba7
Fix typo in product tour in new product management experience (#36561) 2023-01-23 16:23:03 -03:00
Joshua T Flowers 7e27cffdb3
Fix overlapping header elements on product page (#36495)
* Place product tabs beneath header elements

* Observe header height changes and adjust tabs position

* Move header height into reusable hook

* Add changelog entry
2023-01-23 10:14:58 -08:00
Joel Thiessen 447379a424
Migrating product editor inventory section to use slot fills (#36509)
Co-authored-by: Lourens Schep <lourensschep@gmail.com>
2023-01-23 08:11:41 -08:00
Joel Thiessen cb0105efd9
Migrate shipping shipping in product editor to slot fill (#36534)
* Migrate shipping shipping in product editor to slot fill

* Adding changelog

* Removing obsolete shipping section files, adding support to variations form
2023-01-23 10:44:29 -04:00
Luigi Teschio d5a679c3f2
bump WooCommerce blocks package to 9.4.1 (#36553) 2023-01-23 14:09:17 +01:00
louwie17 4ff0aebc56
Update product mvp feature flag (#36552)
* Move product management feature to experimental and add additional note.

* Add changelog

* Remove tooltip

* Fix lint error
2023-01-23 07:43:47 -04:00
Adrian Duffell b87df2fd4a
Add SlotFill for Task List Footer (#36527)
* Add footer slot

* Add ExperimentalWooTaskListFooter slot to task list

* Update inline documentation

* Add changelog
2023-01-23 13:48:42 +08:00
Fernando Marichal 71a7bd4360
Fix/36530 settings tables styles (#36531)
* Fix settings tables

* Add changelog

* Fix lint

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2023-01-21 17:34:02 -03:00
Gan Eng Chin 76d5762400
Add changelog. 2023-01-21 23:24:17 +08:00
Gan Eng Chin d70fb07f31
Modify PluginCardBody to accept className, and change description type. 2023-01-21 23:13:13 +08:00
Gan Eng Chin 6baa403071
Move and rename type Plugin to RecommendedPlugin. 2023-01-21 23:12:04 +08:00
Gan Eng Chin d252922110
Rename file Plugin to InstalledPlugin.
(cherry picked from commit 0229354da0)
2023-01-21 23:11:47 +08:00
Gan Eng Chin 8873252c45
Rename type Plugin to InstalledPlugin.
(cherry picked from commit 56dbf53a35)
2023-01-21 23:11:36 +08:00
Gan Eng Chin 0fe028d8c2
Code refactor with CardHeaderTitle component.
This component will be used in other components later.

(cherry picked from commit 995fb7e02d)
2023-01-21 23:10:31 +08:00
Gan Eng Chin 3f56382cf1
Code refactor with CenteredSpinner.
(cherry picked from commit 5216643465)
2023-01-21 23:09:06 +08:00
Ilyas Foo 30a4bdefd8
Add Tasklist extensibility and WooOnboardingTaskListHeader SlotFill (#36519)
* Add experimental onboarding_tasklist PHP filter

* Add WooOnboardingTaskListHeader and woocommerce_onboarding_task_list_header Slot to task list

* Changelog

* Fix header task logic

* Remove React FC types

* Update changelog

* Fix comment
2023-01-21 15:19:20 +08:00
RJ 39cd780e18
add: slot for tasklist completion component slotfill (#36487)
* add: slot for tasklist completion component slotfill

* added fillprops and changed to experimental slotfill name
2023-01-21 11:05:45 +08:00
Corey McKrill 4b179e1d18
ReserveStock: Modify reserved stock query when HPOS is in use
Ensures reserved stock is correctly counted when HPOS tables are
used and not kept in sync with the posts table.
2023-01-20 18:02:00 -08:00
Corey McKrill bd0d4d6ac7
ReserveStock: Add method to detect if HPOS tables are in use
This method is copied from WC_Customer_Data_Store.
2023-01-20 17:24:41 -08:00
Gan Eng Chin 1af1524b83
Rename CSS installed-channel to registered-channel. 2023-01-21 02:38:00 +08:00
Gan Eng Chin ef669d8ca2
Rename InstalledChannel to RegisteredChannel. 2023-01-21 02:36:39 +08:00
Gan Eng Chin 8754003fb0
Add mapping for sync-failed product listings status. 2023-01-21 02:26:19 +08:00
Gan Eng Chin 2a15f09514
Remove TODO comments. 2023-01-21 02:22:30 +08:00
Gan Eng Chin 3cc568b4ed
Remove duplicated RecommendedChannel type. 2023-01-21 02:20:06 +08:00
Gan Eng Chin 0b1ab21836
Rename types. 2023-01-21 02:14:36 +08:00
Joel Thiessen 67d811a67d
Migrating attributes section in product editor to slot fills (#36483) 2023-01-20 08:56:56 -08:00
Gan Eng Chin a511054a3e
Merge branch 'feature/34903-multichannel-marketing-frontend/main' into feature/34903-multichannel-marketing-frontend/34906-channels-card 2023-01-21 00:10:00 +08:00
RJ 7d8f7ad57c
add: slot for header banner slotfill (#36467) 2023-01-20 22:01:20 +08:00
Nima Karimi da6b4919f8
Multichannel marketing backend and API (#36453)
* Multichannel Marketing - Core Library (#35099)

* Create channel interface and campaign value class

* Create MarketingChannels class

* Register MarketingChannels class in DI container

* Use the new MarketingChannels class to get the installed marketing extensions' data

* Use DI container to access InstalledExtensions class

* Add InstalledExtensions to the $provides array

* Hint that campaign cost should also indicate the currency

* Initialize the channels array

* Add unit tests for MarketingCampaign

* Add unit tests for MarketingChannels

* Add Price class to represent a price with currency

* Use Price class for marketing campaign's cost

* Define a constant to indicate the MCM classes exist

This constant will be checked by third-party extensions before utilizing any of the classes/interfaces defined for this feature.

* Create MarketingSpecs class to include WC.com API calls

* Remove WC.com API calls from Marketing class

And replace them with calls from MarketingSpecs class.

* Use the const from MarketingSpecs

* Fix MarketingChannels unit tests

* Add missing settings URL to the channel data

Co-authored-by: Nima <nima.karimi@automattic.com>

* 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>

* 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>

* Add changelog

* Add product listing status sync failed

Co-authored-by: Nima <nima.karimi@automattic.com>
2023-01-20 14:56:54 +03:00
Luigi Teschio bc6bc8f9b6
Update WooCommerce blocks package to 9.4.0 (#36524)
bump WC Blocks version
2023-01-20 12:01:03 +01:00
Matt Sherman d1bd4f5538
Add permalink_template and generated_slug to products REST API response (#36497)
* Add permalink_template and generated_slug to posts REST API

* Changelog

* Add missing domain for translations

* Use strict comparison for in_array

* Fix code style (alignment) issue

* Update number of expected properties in products schema
2023-01-19 20:28:25 -05:00
Nathan Silveira 1123f9991f
Scroll newly added attribute into view (#36447)
* Scroll newly added attribute into view

* Increment changelog

* Add smooth scrolling when adding new attributes
2023-01-19 19:43:36 -03:00
Néstor Soriano 383c942fa7
Add an admin notice about the upcoming change in PHP requirements (PHP 7.3) (#36444)
* Add an admin notice about the upcoming change in PHP requirements

The minimum required PHP version will be 7.3 as of WooCommerce 7.7.
This adds a dismissable admin notice to PHP 7.2 users.

* Add changelog file

* Disable PHPCS warnings for TODO items (required by GitHub CI)

* Reformat the PHP 7.3 requirement notice to be more translators-friendly

* Add a translators note to pass linting

Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
2023-01-19 13:30:01 -08:00
Moon 395f3b3eb5
Add slot for ProgressHeader and ProgressTitle (#36482)
* Add slot for ProgressTitle

* Add slot for ProgressHeader

* Add changelog

* Add experimental prefix
2023-01-19 13:21:54 -08:00
Barry Hughes a7b1beaa05
Error message in server logs on CSV export error (#34802) 2023-01-19 11:59:12 -08:00
Nathan Silveira 924e64aa48
Add new filter to add additional clauses for SQL statement in Variations report (#36378)
* Apply filter to get additional sql to include variations with no orders

* Add join only when correct option is selected

* Some more desperate tests

* Analytics: use a sepoarate query for data without orders.

* Change 'experimental_woocommerce_analytics_variations_additional_clause' filter to apply sql clauses directly

* Cleanup

* Add changelog

* Fix PHPCS issues

* Add docblock and update the filter name

* Improve docblock of new filter

* Add Since 7.4.0 on filter

* Move union statement before order by statement

* Apply filters before running the db count statement and add sql select clause before

* Remove with sql clause since it's not compatible with MySQL 5.7

* Remove additional spaces

* Fix bug caught by unit test in which $variations_query is overwritten because the assignment was outside the 'else' statement

Co-authored-by: AnnaMag <anna.mag.kedzierska@gmail.com>
2023-01-19 16:19:24 -03:00
barryhughes c42f99048d Linting (clean-up whitespace). 2023-01-19 10:07:39 -08:00
Barry Hughes fe6ab3ea4e
[HPOS] wc_get_order() should use global post/order object if necessary (#36496) 2023-01-19 10:00:38 -08:00
Joel Thiessen 687dd6fdfe
Migrating product editor images section to slot-fill (#36461) 2023-01-19 09:45:30 -08:00
barryhughes f11def132b Improve error logging when file permissions prevent CSV generation. 2023-01-19 09:39:22 -08:00
Gan Eng Chin d69f078fd5
Replace useIsPluginInstalled with useIsPluginInstalledNotActivated. 2023-01-20 01:36:39 +08:00
Gan Eng Chin cd0402a10c
Refetch registered channels after install and activate recommended channels. 2023-01-20 01:02:41 +08:00
Gan Eng Chin 9fa6ea4a25
Display activate button for channels that are not yet activated. 2023-01-20 00:36:34 +08:00
David Marín 7e17a96914
Making function more robust against wrong transients (#34742)
* Making function more robust against wrong transients

* Add changelog

Co-authored-by: Jorge A. Torres <jorge.torres@automattic.com>
2023-01-19 12:34:46 -03:00
Mert Şakar 5cda49f269
Fix issue #34344 - Cannot edit replies to product reviews (#35888)
* Fix issue #34344 - Cannot edit replies to product reviews

* Simplify logic in product review edit screen.

* Add changelog

Co-authored-by: Jorge A. Torres <jorge.torres@automattic.com>
2023-01-19 11:56:11 -03:00
Gan Eng Chin 223ea4d712
Filter recommended channels to get "not installed" or "not activated" channels. 2023-01-19 22:23:00 +08:00
Barry Hughes ece2fb71ce
Update Action Scheduler to 3.5.4. (#36433)
* Update Action Scheduler to 3.5.4.

* Update changelog

Co-authored-by: Jorge A. Torres <jorge.torres@automattic.com>
2023-01-19 09:08:46 -03:00
Gan Eng Chin cf4c62e707
Fix loading bug in useRecommendedChannels. 2023-01-19 19:50:56 +08:00
Gan Eng Chin b708cc18ff
Get recommended channels from API. 2023-01-19 19:33:51 +08:00
Joel Thiessen 2fae3537a7
Experimental SlotContext for managing slot fill interactions (#36333)
* Adding Slotcontext component and adding support to product slot fill components

* Passing inject props correctly to non-function components.
2023-01-19 05:52:45 -04:00
louwie17 fc1745b03b
Add/36075 render fields sections from php config (#36414)
* Add initial component to auto load fills from API config

* Add changelog

* Update logic to make use of new store and re-usable components

* Add changelog

* Add loading state for product form data to add/edit product pages
2023-01-19 04:52:02 -04:00
Florian DANIEL aka Facyla f44e95eda1
Update plugins/woocommerce/includes/export/abstract-wc-csv-batch-exporter.php
use the WooCommerce error log, change the quotation style, and fix a small linting issue (whitespace)

Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
2023-01-19 08:34:58 +01:00
Chi-Hsuan Huang 025c6aab17
Fix tax task showing as not completed after setting up tax (#36468)
* Wait for requests to finish before redirecting

* Add changelog
2023-01-19 13:01:31 +08:00
Joshua T Flowers c71573d7f9
Update product links when new product management experience is enabled (#36382)
* Replace add new product link with new experience

* Replace add new button on Products page

* Update all edit product links to point to new experience

* Update default add_product value to null

* Add changelog entry

* Fix additional space around equals sign
2023-01-18 15:44:24 -08:00
Lucas Bustamante 49744446a1
Make the selector a bit more strict to avoid collision 2023-01-18 18:56:15 -03:00
Joshua T Flowers 1337a6d36e
Add product tour to new product management experience (#36428)
* Add product tour container and modal

* Fix modal open class name

* Add product tour

* Add changelog entry

* Move product tour state logic into hook

* Fix tour selectors for pricing and actions

* Add tests around product tour container

* Add tests around useProductTour hook

* Make tour responsive

* Use tabs instead of spaces

* Fix more scss lint errors

* Remove extra whitespace
2023-01-18 11:11:02 -08:00
barryhughes 403210185c To fully test a function that uses globals, we need to suppress the global override warning. 2023-01-18 10:29:55 -08:00
barryhughes 764f8d4490 When HPOS is enabled, wc_get_order() should still utilize global post and order objects (if needed). 2023-01-18 10:07:57 -08:00
Barry Hughes 38822cb3e9
Make order updated messages to be compatible with both posts and HPOS (#36485) 2023-01-18 09:37:58 -08:00
Gan Eng Chin 2d7c8db2e5
Map product_listings_status to syncStatus. 2023-01-19 01:32:38 +08:00
nigeljamesstevenson 7cf1599208 update smoke test daily workflow to run api tests first 2023-01-18 17:12:55 +00:00
Gan Eng Chin 0a36d7a4fe
Map errors_count to issueType and issueText. 2023-01-19 01:12:50 +08:00
Albert Juhé Lluveras f3a27839e8
Fix notices styling in Twenty Twenty-Three (#36475)
* Fix TT3 notices CSS identation

* Fix notices styling in Twenty Twenty-Three
2023-01-18 13:51:11 -03:00
Jeremy Lind 17086e05c5
Fix units in function doc comment (#36353)
* Fix units in function doc comment

Typo in doc comments for available unit options.

* Add changelog
2023-01-18 13:38:01 -03:00
Albert Juhé Lluveras 78759685f1
Remove button styles if the block theme has button styles defined in theme.json (#36225)
* Remove button styles if the block theme has their own

* Fix button style in TT2
2023-01-18 13:36:36 -03:00
Gan Eng Chin 07b8b98702
Merge branch 'feature/34903-multichannel-marketing-frontend/main' into feature/34903-multichannel-marketing-frontend/34906-channels-card 2023-01-18 17:35:50 +08:00
Vedanshu Jain 6bc3ad10d6 Changelog 2023-01-18 13:03:56 +05:30
Vedanshu Jain 1c894ff950 Add changelog. 2023-01-18 12:58:40 +05:30
Vedanshu Jain 32cbd6ca40 Make order updated messages to be compatible with both posts and HPOS. 2023-01-18 12:56:59 +05:30
Vedanshu Jain cee68e2543 Remove post_updated_messages filter since the hooks will be expecting post to be set.
We are calling `post_updated_messages` filter when displaying order edit screen in HPOS. However, this is a post based filter, which means that functions hooked to it might be expecting the global $post object to already be set. This unfortunately may cause warnings or fatals, so we remove this filter call from HPOS page.
2023-01-18 12:54:47 +05:30
barryhughes 9bfd8535f7 Be more specific: we only expect WC_Product types at this point. 2023-01-17 15:54:59 -08:00
barryhughes c41eccc58e Check a valid product object was obtained before calling its methods. 2023-01-17 15:40:52 -08:00
Barry Hughes ebae81ccaf
Small edit to the tooltip text (#35107) 2023-01-17 15:16:30 -08:00
Barry Hughes 8495c5f779
fixing typo in name of country in states(i18n) file (#36457) 2023-01-17 15:15:49 -08:00
barryhughes 4bb137637f Update API tests re revised email image header tooltip text. 2023-01-17 13:59:36 -08:00
barryhughes 1fb60677fc Changelog. 2023-01-17 13:47:32 -08:00
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 c89b28157d
Merge branch 'feature/34903-multichannel-marketing-frontend/34905-campaigns-card' into feature/34903-multichannel-marketing-frontend/34909-create-campaign-modal
Conflicts:
	plugins/woocommerce-admin/client/marketing/hooks/index.ts
	plugins/woocommerce-admin/client/marketing/overview-multichannel/Campaigns/Campaigns.tsx
	plugins/woocommerce-admin/client/marketing/overview-multichannel/Channels/Channels.tsx
	plugins/woocommerce-admin/client/marketing/overview-multichannel/Channels/RecommendedChannels.tsx
	plugins/woocommerce-admin/client/marketing/overview-multichannel/Channels/useChannels.ts
2022-12-24 02:07:15 +08: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
Gan Eng Chin d0de1b5c21
Add border and change padding for recommended channels in create campaign modal. 2022-12-23 02:00:45 +08: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
Gan Eng Chin 07894d42e3
Code refactor for Campaigns component, remove unneeded CampaignsCardHeader. 2022-12-22 01:52:24 +08:00
Maikel David Pérez Gómez c7c0322163
Persist active tab on refresh (#36112) 2022-12-21 14:47:13 -03:00
Gan Eng Chin a3c8680789
Use perPage variable instead of duplicated number. 2022-12-22 01:34:46 +08:00
Gan Eng Chin 321145eb2e
Better code clarity with woocommerce-marketing-campaigns-table class name. 2022-12-21 23:12:10 +08:00
Gan Eng Chin 894b77dc96
Code refactor with CreateNewCampaignModal. 2022-12-21 22:56:22 +08:00