* Fix layout issue -- add align-items for flex items
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Disable woocommerce/product-regular-price-field when product type is variable
* Disable woocommerce/product-sale-price-field when product type is variable
* Disable woocommerce/product-sku-field when product type is variable
* Disable Track stock quantity toggle when product type is variable
* Disable woocommerce/product-radio-field when product type is variable
* Disable woocommerce/product-shipping-class-field when product type is variable
* Disable woocommerce/product-shipping-dimensions-fields when product type is variable
* Add changelog files
* Fix php linter
* register the `metadata` attribute for all blocks
* bind value attribute with the nane product entity
* changelog
* add a ToDo note
* rename edit component fn to NameBlockEdit
* changelog
* restore @ts-export line
* fix eslint issue
* fix eslint issue
* Add Shipping phone number to the order preview panel
* Update plugins/woocommerce/src/Internal/Admin/Orders/ListTable.php
Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
* Update plugins/woocommerce/src/Internal/Admin/Orders/ListTable.php
Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
* Update plugins/woocommerce/src/Internal/Admin/Orders/ListTable.php
Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
* Update plugins/woocommerce/src/Internal/Admin/Orders/ListTable.php
Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
---------
Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
* Don't show publicly non-queryable taxonomies
The main enhancement involves adding a visibility filter to the taxonomies query. Now, the query considers the `publicly_queryable` property of each taxonomy. Only taxonomies marked as publicly queryable are included in the final list returned by the `useTaxonomies` hook. This change ensures that the Product Collection block's taxonomy controls only display taxonomies relevant and accessible to the public, enhancing both the usability for content creators and the relevance of taxonomy selections for site visitors.
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: initial E2E tests loading page
* add more cases
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
Since we don't need it to be _perfectly_ stable,
we can just set the `queryId` to the instance ID
on every component mounting. This is fine and
won't mark the attribute as dirty unless a
collection block is added, deleted, or moved
in just the right way. The exception to this
is collection blocks in sync patterns.
In this case the ID cannot change
because it can cause update loops in some
cases that freeze the browser.
* Update the copy for the fonts opt-in modal
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Attempt to determine order type from HPOS side too in `PostsRedirectionController`
* Add changelog
* Simplify redirect logic
* Linter hates short ternaries
* Update the CYS feedback survey design
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix typo
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add skeleton spec
* Add missing await
* Update customer role in test env setup
* Split specs
* Add tests for user creation
* Added tests for users deletion
* Fix API tests after env setup customer role change
* Fix API tests after env setup customer role change
* Add update customer steps
* Update user edit tests
* Updated comment
* Products: Avoid fatal during variation search
Most product types' data objects store `WC_Product_Attribute` objects in
their attributes property, whereas Product variation data objects store
an associative array of key/value pairs in their attributes property.
This is problematic because it means a fatal error can be thrown when
code assumes that a product's attributes are objects with methods rather
than simply strings. Ideally, attributes would work the same everywhere,
but it would be challenging to fix that in the codebase without breaking
backcompat. So instead, in this PR, we are simply adding some logic in
the `find_matching_product_variation` method to ensure that we're not
trying to retrieve a variation of a product object that is already a
variation.
* Fix linting issue
* Make sure the woocommerce_admin_customize_store_completed is marked as complete whenever global styles are updated by the user.
* Check for the WP_Post object before attempting to access the content property
* Mark the cys task as completed when modifying a template or template_part
* Unify the mark as complete methods and update the hooks.
* update docblock
* remove unnecessary ()
* Add changefile(s) from automation for the following project(s): woocommerce
* Ensure the woocommerce_admin_customize_store_completed option is marked as complete whenever the user updates their styles in the editor
* Fix lint errors
---------
Co-authored-by: Alba Rincón <alba.rincon@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
* Consolidate and move password protected product test
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Move test to non side effect and remove remaining empty test file
---------
Co-authored-by: github-actions <github-actions@github.com>
* Removed return statements from conditions in `WC_Admin_Marketplace_Promotions::fetch_marketplace_promotions`. With these, if the marketplace gets a good response from the API and then later a bad or empty response, it fails to update the promotions transient, meaning that notices and menu bubbles may persist in stores after we've removed them from the API. We check the dates of promotions, so they should disappear when they expire, but it's a good idea to clear this data if the API returns an empty response or if there's an error fetching it.
* Changelog.
* Add changefile(s) from automation for the following project(s): woocommerce
* Removed duplicate changelog file.
* Add changefile(s) from automation for the following project(s): woocommerce
* Removed duplicate changelog file.
---------
Co-authored-by: github-actions <github-actions@github.com>
* New filter to set a custom precision value for the WC calculations
* Add changelog and docblock.
* Add since tag.
* Add since tag.
* Add prefix + correct version.
* Better filter name
---------
Co-authored-by: Yordan Soares <contacto@yordansoar.es>
* CYS - Core: fix: not mark step as completed when the user switches theme
* Add changefile(s) from automation for the following project(s): woocommerce
* trigger CI
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add gap between quantity field and add to cart button when stacked
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Add specificity to quantity
---------
Co-authored-by: github-actions <github-actions@github.com>
Add an index to the zone_id column of woocommerce_shipping_zone_locations.
Remove the separate index on location_id. Shipping zone locations are read by zone_id when a ShippingZone is read from the database. The zone_id is also used in join statements with the shipping zones table. So an index would improve performance there. The separate KEY for the location_id column is not needed as the primary key for the table already creates an index automatically.
* Fix the color of the toggle control in the assembler
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Remove the hook for updating update_plugins transient with data fetched from Woo.com
This prevents the WP core from updating Woo.com plugins.
* Remove the hook for updating update_themes transient with data fetched from Woo.com
This prevents the WP core from updating Woo.com themes.
* Remove the class hand hooks used for updating the API response of WP.org with update URI's from Woo.com.
* Add change log file.
* Add update_plugins and themes transient update hooks back while removing the package from Woo.com extensions.
When a Woo hosted plugin has an update, this will allow showing the update message but block the ability to update.
* Adding a hook to modify the plugin update notification on plugins.php.
When a Woo.com hosted plugin has an update available it will show a message to install Woo Marketplace plugin, if it's not installed.
* Utility class for Woo Marketplace plugin.
* Check wether the Woo marketplace plugin is already installed before modifying update notice.
* Update docblocks.
* Add status end point for wccom-site API.
* Check the existence of marketplace plugin only after the plugins are loaded.
* Add WP.org plugin api response updater back to core.
* Function to identify if the market-place plugin is installed.
* Update status API response with installation status.
* Update the status variable push to store admin frontend with information about market-place plugin.
* Styles for woo-connect-plugin component.
* Component for displaying the message to install Woo Connect plugin based on the installation status.
* Add Woo Connect plugin notice to my-subscriptions page.
* Add Woo connect plugin message to discover page.
* Add Woo Connect install/download urls to constants file.
* Add a modal for asking the user to install Woo Connect plugin.
* Update strings with constants.
* Show the Woo Connect modal when user updating plugins without Woo Connect installed.
* Show Woo Connect install notifications only when the site is connected.
* Update plugin management page messaging.
* Update notification on connect screen.
* Update notifications on plugin management page.
* Remove additional spacing in Plugin Install Notice and spacing in the discover page results and the notice.
* Use notice component instead of Card.
* Minor improvements to readability.
* Add translation support for messages displayed on plugins.php.
* Update woo connect plugin installation URL (#45127)
* Ad functions for generating WooConnect plugin install URLs.
* Make WooConnect install url to available to marketplace components.
* Make WooConnect install url to available to marketplace components.
* Link install buttons to install URL with access_token and secret.
* Update Woo Update Manager download url.
* Show admin notice to install Woo Update Manager on plugins.php.
* Adding the view for admin notice for installing woo_update_manager.
* Show woo update manager installation notice on WC admin pages and make the notice dissmisable.
* Update the install url for Woo Update Manager by adding the product ID and introduce a filter to override the product ID.
* Change the plugin name to Woo Update Manager.
* Change the download url for woo update manager
* Fix the margin below the Woo Update plugin install notice.
* Rename Woo Connect to Woo Update Manager.
* Rename wccom-site status endpoint response variables based on plugin name changes.
* Update the plugin main file name for Woo Update Manager.
* Updating the download URL.
* Updating css class names and file names from `woo-connect-plugin` to `woo-update-manager`.
* Change wooConnect variables to wooUpdateManager.
* Rename WC_Helper_Plugin to WC_Woo_Update_Manager_Plugin and remove references to market place plugin.
* Extract and reuse the logic for creating the signature.
* Use WC built-in method to check if the current page is a WC page.
* Add source parameter for installer.
* Update text copies based on flows for in-app Woo Update Manager install message.
* Update admin notice based on the flows.
* Update connect store message.
* Update the text based on the latest flow and show a different message when WUM is installed but not activated.
* Use html text for install notice message.
* Implement the bubble showing number of updates available on WooCommerce -> Extensions menu. Add one to available Woo.com updates if WUM is not installed or activated.
* Update install url to new structure.
* Update download url for WUM.
* Add a method to get the id of the WUM.
* Remove WUM from available to install list of extensions on my-subscriptions tab.
* Remove the hard coded ID of the Woo Update Manager and use the slug to get the ID of the plugin based on update-check response.
* Fixing the notice generated due to empty body.
* Update CTA and image for the not connected screen.
* Increasing the left margin of the install notice to match admin notices.
* Add close button to modal with message to activate WUM.
* Add install/activate notice to Browse and Themes tabs.
* Add the view for showing admin notice for activating the plugin.
* Update plugin name on install admin notice.
* Show install or activate admin notice based on the context.
* Update comment
* Make the linked text shorter in plugin update message.
* Generate a signed auto-install URL for woo hosted plugins without helper API (#45313)
* Generate a signed auto-install URL for woo hosted plugins without helper API
* Use product slug in auto-install URL instead of product id.
* Update activate Woo Update Manager modal buttons.
* Change install url from Woo Update Manager ID to slug.
* Allow defining the menu title and page title separately for when adding menus and sub menus in WooCommerce Admin.
* Set the page title separately for WooCommerce Extensions menu.
* Fix the update count issue.
* Update the download URL for Woo Update Manager.
* Update the download link for WUM in admin notices.
* Show WUM admin notices on WC Admin pages only when the site is connected.
* Remove additional slash in plugin admin url.
* Add wum-installed parameter to the connect URL (#45702)
* Add wum-installed parameter to the connect URL
* Send status of Woo Update Manager installation on connection init.
* Revert "Add wum-installed parameter to the connect URL"
This reverts commit 4c55038b03.
---------
Co-authored-by: Denis Dvali <denis.dvali@automattic.com>
* Fix lint errors.
* Fix lint error.
* Fix lint errors.
* Fix js lint issues.
* Update Woo Update manager admin notice.
---------
Co-authored-by: Muhammad Anas <anastts.pk@gmail.com>
Co-authored-by: Denis Dvali <denis.dvali@automattic.com>
* Use WC built-in ActionScheduler
* Calling `WC_Admin_Marketplace_Promotions::init` immediately from `WC_Admin` constructor. `WC_Admin` is only instantiated in an admin request. If we init marketplace promotions from `woocommerce_init`, we'll be too late to add the callback for the scheduled action that fetches promotion data.
* Changed transient life to 12 hours to match frequency of ActionScheduler action.
* Changelog.
* Updated `fetch_marketplace_promotions` to replace the transient every time it runs. This allows more frequent changes.
* Added filter to allow promotions to be suppressed.
* Fix indentation
* More indentation fix
* Clearing scheduled action if `woocommerce_marketplace_suppress_promotions` filter returns "true".
* Running `clear_scheduled_event` on `init`.
* WP_CLI check
* We were including and instantiating `WC_Admin_Marketplace_Promotions` from the `WC_Admin` constructor. But `WC_Admin` is only instantiated during `is_admin` requests. We also need to respond to cron requests. So we're now including the class from `class-woocommerce.php` if the context is admin or cron, and instantiating it on `init`. This fixes the error in Scheduled Action `action failed via WP Cron: Scheduled action for woocommerce_marketplace_fetch_promotions will not be executed as no callbacks are registered.`
* Linter errors.
* Enhance append_bubble() method
* introduce SCHEDULED_ACTION_INTERVAL
* Make linter happier
* Linter errors.
---------
Co-authored-by: Remi Corson <1649788+corsonr@users.noreply.github.com>
Co-authored-by: And Finally <andfinally@users.noreply.github.com>