* FIx Variations report
* Fix Orders report
* Remove ability to pass table into get_attribute_subqueries since it should always be the same table we join on
* Adding initial pricing block
* Have price block render in form
* Make sure price is loaded correctly and fix template rendering
* Make pricing block abstract and add list and sale price to template
* Add changelogs
* Revert changes in wc/data package
* Fix lint issues
* Fix type error
* Add styling
* Fix styling lint issues
* Revert config change missed in rebase
* Make use of base control help text for field info
* Allow additional callbacks for onFocus and onKeyUp
* Add button and saving logic
* Add comment suggestions
* Add changelog files
* Add comment suggestions
* Set header title to product name if the name field is dirty otherwise the default title value
* Navigate to EditProductPage after creating the product succesfully
* Add get-header-title util and expose edited product name from useSelect
* Bypass scheduler for customer update
* Handle case when wc_last_active user meta doesn't exist at all
* Bypass scheduler for wc_last_active customer update
* Bypass scheduler for delete_user and remove_user_from_blog
* Bypass scheduler for woocommerce_privacy_remove_order_personal_data
* Bypass scheduler for woocommerce_new_customer
* Remove obsolete test for last_active_update sync
* Remove assertions for pending wc-admin_import_customers
* Add new countries to WCPay
* changelog
* add new countries code to woocommerce admin
* Add the new countries to onboarding wizard fallback config file
---------
Co-authored-by: Anurag Bhandari <anurag@automattic.com>
* Add @pmmmwh/react-refresh-webpack-plugin, react-refresh, webpack-dev-server and add start:hot command
* Set up react fast fresh
* Add changelog
* Run prestart in hot command
* Update pnpm-lock.yaml
* Update pnpm-lock.yaml
* Update product post rest configs
* Update block usage
* Add changelogs
* Fix lint
* Make use of setupEditorState instead of setupEditor as we do not have a content block
* Simplify product condition
* Make use of core store only
* log admin coupon code actions
* added documentation, fixed return value
* formatting
* included user to note logs
* Add changelog
* Address PHPCS issues
* Make WC_Abstract_Order::remove_coupon() return a bool
* Move addition of coupon-related order notes from WC_Order to AJAX callbacks
* Address PHPCS problems
* Pass coupon order notes through `esc_html()`
* Add AJAX update of notes when adding/removing coupons via admin
* Fix tests (maybe?)
---------
Co-authored-by: Jorge A. Torres <jorge.torres@automattic.com>
* Adding test name block with support for entity data store
* Adding changelog
* Changing block.ts to block.json and amending TS config to support
* Experiment in loading blocks from settings template
* Enable the use of templates with the block editor
* Fix dependency
* Add changelog
* Fix lint error and remove unused utils
* Fix tests by fixing mocks
---------
Co-authored-by: Lourens Schep <lourensschep@gmail.com>
* Update stock management enabled checkbox label
* Add link to store settings when stock management is disabled
* Refactor to create woocommerce_wp_note function
* Add the new feature to enable the new product editor blocks experience
* Add the type definition of the feature flag
* Add the feature to the beta_featues in Features.php file
* Keep the page routes when the feature is anabled
* Add the feature php class to manage page assets
* Add changelog file
* Make WC_Order::get_tax_location public
* Reverted access modifier change for get_tax_location() and implemented public wrapper get_taxable_location()for it.
---------
Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
* Fix the ArrayUtil::get_value_or_default method
The method was supposed to return null if the key exists in the array
and has a null value, but instead it was returning the supplied
default value, as the "??" operator.
Also the few existing usages of the method that supplied a default value
have been converted to instances of the "??" operator for compatibility.
* Add changelog file
The code is copied from the Channels component, but in CreateNewCampaignModal, we don't need to display the divider, so we can just remove the divider code.
* Added woocommerce_reduce_order_item_stock action hook to let other plugins do somthing without looping again the order line items
* changed "product data" to "change details" and updated docblock as instructed
* maintained WP coding standards and change @since docblock tag
* Add required dependencies
* Create the block editor component
* Create the header component
* Create the sidebar component
* Create the editor component
* Remove comments
* Export the block editor from its package
* Enqueue wp-edit-site
* Create the new block mode product page
* Register the new ProductPage component in /add-product route
* Add temporal layout styles
* Fix rebasing conflicts
* Fix linter errors
* Redirect to the new product-editor page when edit
* Add changelog files
* Fixing dependencies conflicts and ignoring some non running test
* Add comment suggestions
* Fix conflicts after rebasing
* Add comment suggestions
* Conditionally use authorization token when getting WC Zip download URL.
* Exponse error message
* Handle undefined authorization token more gracefully
* Specify GH token in workflow
* Add changelog
* Use E2E_GH_TOKEN instead of default github.token
* Provide GitHub token to other jobs
* Fix getting of tag name from triggered event
* Use "inputs" context instead
* Add release version to workflow name
* Correct concurrency group
* Fix workflow name
* Add --archive option
* Fix output setting
* Fix script for verifying asset
* Remove unnecessary 'uses' line
* Remove node 12 deprecation messages
* Re-add "published" release type
* Fix: variations exported as draft were imported as draft
* Add changelog file
* Fix "ArrayUtil::get_value_or_default" for existing keys with null values
Now ArrayUtil::get_value_or_default($array, $key, $default) will return
null, instead of $default, when $array[$key] exists and is null.
* Undo the change to ArrayUtil (will get its own PR)
Turns out the value used here doesn't matter, because it will always
update to the current time. It just needs to have a changed prop in
order for the save to execute.
Ensures that when a refund is processed successfully for an order,
the date_modified field for the order is updated to match the creation
date of the refund.
Refs #28969
* Show add attribute in Variations tab
* Create new ajax function to create attributes and variations at the same time
* Partial commit for review
* Rename action and reload attributes and variations screen after submitting action
* block/unblock UI when loading
* Change labels
* Remove unneeded output_variations function
* Changelog
* Extract duplicated code to html-product-attribute-inner
* Handle sniff issues
* Fix PHPCS issues
* Refactor class-wc-ajax to reuse code
* Fix phpcs issues
* Fix more sniff issues
* Handle code review suggestions
* Switch back to var
* Switch to snake case
* Use var instead of const
* Create tree-control component
* Remove items from treeItemProps
* Add tree-control expand/collapse on click the expander button or by a custom logic
* Add stories
* Add the type definitions
* Add use selection hook
* Upgrade WP components dependency to v19.8.5 to support indeterminate checkbox control
* Add selection logic to the tree control
* Create stories
* Add changelog file
* Fix linter error
* Add styles to fit the disign
* Highlight selected item when it's a single selection tree
* Rebasing from trunk
* Add comment suggestions
* Fix unit test errors due to a new version of @wordpress/compose related to the ResizeObserve feat
Fixes a bug that allowed to create a coupon with code "0" but prevented if from being actually used. With the fix a coupon with code "0" can be used as any other coupon.
Also adds two new methods to the StringUtil class: `is_null_or_empty` and `is_null_or_whitespace`.
Closes#35210.
* First pass at updating release test workflow
* Add changelog
* Set dir env variables
* Update to workflow
* Fix indent
* Fix indent
* Clean up indent
* Re-order steps
* Change order of jobs
* Added common php versions
* Update pipeline
* Update some labels
* Simplify for testing
* Update paths
* Create tmp folder
* Fix path
* Paths
* Try outputting some debugging
* Add step ID back
* Remove working directory
* Another path tweak
* Add API release tests
* Add k6 tests
* Add PHP tests
* Launch wp-env during PHP tests
* Try default values
* Tweak some settings, add WP testing
* Tweak some settings
* Re-order e2e steps
* Update step descriptions
* Reorganize tests, add plugin tests
* Enable only e2e job
* Initial set up to run against release smoke test site
* Fix syntax
* Temporarily disable update wc spec
* Temporarily disable downloading woocommerce zip
* Download release zip using tag name
* Fix wrong job name
* Fix wrong job name
* Fix dir
* Delete fetch-asset-id.js
* REfactor update-woocommerce spec
* Add error handling
* Download release zip by tag
* Refactor update woo spec to download zip by tag
* Correct job name
* fail test on invalid tag
* Enable all e2e tests
* Run api tests before e2e tests
* Fix job dependency
* Add customer credentials to api job
* Separate job for WC Update
* Combine e2e allure-results, then report
* Enable report job
* Fix context
* Change job and artifact names
* Use test s3 path
* Minor job name change
* Upload artifacts to bucket
* Correct s3 path
* Add quiet option
* Retain video on failures
* Finalize s3 path
* Try WP latest-1
* Revert to wp latest
* Refine search for woocommerce zip asset
* Get created-at
* Specify repo in gh command
* Slugify env description
* Trim space
* Sync with bucket instead of copy
* Remove invalid --recursive flag
* Re-add missing step to combine e2e results from update wc test
* Ensure artifact upload on test failure
* Enable all e2e tests on WP latest
* Retain existing data before updating WC
* Make test compatible with 'Canceled' and 'Cancelled'
* Set env_desc as env var
* Re-add deleted file
* Fix UPDATE_WC in daily smoke test workflow
* Add tracing in global setup
* Remove tracing
* Temporarily run only basic spec
* Job for WP Latest-1 & 2
* Fix "Required input 'created_at' not provided"
* Minor rename
* Remove install filter
* Install deps in get-wp-matrix
* Delete get-wp-versions.js
* Add get-wp-versions.js to e2e-pw folder
* REname file
* REfactor
* Refactor script for getting WP prev versions
* Update job dependencies
* Temporarily remove disabled jobs
* Allow e2e-wp-latest after api test failure
* Update L-1 & L-2 job deps
* Fix report-wp-latest
* Fix failing api test
* Make get-wp-versions quicker
* Publish report immediately after test
* Test reporting in e2e-update-wc
* Fix missing parameter
* Fix env_desc, re-enable other jobs
* Enable all e2e tests
* Minor job name change
* Fix flaky test
* Add php version testing
* stringify php versions
* Re-enable all e2e tests
* Up timeout to 2min
* Remove PHP 8.0
* Add missing conditionals
* Fix php version verification script
* Fix starting dir
* Fix flakiness
* Skip e2e if api failed
* Verify woocommerce.zip early
* Add token
* Delete test summary on github for the meantime
* Use default playwright config
* More meaningful variable names
* Update step titles based on review
* Use expect.poll()
* Minor spacing corrections
* Use `stable-check` endpoint, delete unnecessary loop
* Update locators to be JN-compatible
* Fix erroneous getting of release tag
* Fix conflict of "No thanks" button locator with that of WP Mail Logging's
* Update github-script action to v6
* Revert to 'Cancelled'
* Remove unnecessary step
* Provide missing env variables
---------
Co-authored-by: Jon Lane <jon.lane@automattic.com>
Co-authored-by: Jonathan Lane <lanej0@users.noreply.github.com>
* Add missing dev packages to product-editor package
* Create components folder for organization
* Move product field, section and tab slots over to product-editor package
* Move use of product slot fills to product-editor package
* Sync dependencies
* Add changelogs
* Update README's and add constant for default values
* Update README's in product-editor package