Commit Graph

8581 Commits

Author SHA1 Message Date
louwie17 5f2c656e6b
Add/34331 add attributes modal (#34999)
* Add initial add attribute modal

* Add async select control component and add attribute terms

* Make use of AsyncSelectControl for attributes

* Rearranged the add attribute form to make removing easier

* Make sure add button is disabled if fields are empty

* Remove the use of AsyncSelectControl for now

* Add disabled option and fix merge conflict

* Add attribute modal tests

* Remove unused trigger drag

* Add popover slot

* Small update to select control and fix multi selection in term field

* Add tests for attribute and attribute term fields

* Add changelogs

* Small fix after merge conflict

* Fix some styling and issue with select control when clearing item

* Fix lint error

* Fix up some styling issues after rebase

* Fix formatting, some styling issues, and address some PR feedback

* And confirmation dialog for closing the modal.
2022-10-19 16:28:29 -03:00
Vedanshu Jain 5b6ddf0b88
Update biling and shipping address indexes. (#35121)
* Update biling and shipping address indexes.

* Add changelog.

* Code standard fixes.

* Add unit test for search after update.

* PHPCS fixes.
2022-10-19 16:21:42 +05:30
Jonathan Lane a2076f59a5
Update PR template to provide guidance for testing (#34597)
* Update PR template to provide guidance for testing

Co-authored-by: Jon Lane <jon.lane@automattic.com>
2022-10-19 14:00:09 +08:00
Joshua T Flowers c72e00d85c
Add Tooltip component and remove EnrichedLabel (#35024)
* Add experimental tooltip component

* Add tooltip stories

* Update EnrichedLabel component

* Remove EnrichedLabel

* Add changelog entries

* Fix up linting issues

* Handle PR feedback
2022-10-18 16:08:49 -07:00
nigeljamesstevenson bb42e7892a
api-core-tests add product reviews crud tests (#35163) 2022-10-18 16:33:11 -06:00
Maikel David Pérez Gómez c79af1acc5
Replace the trash can icon in the attribute list (#35133) 2022-10-18 16:05:01 -03:00
Maikel David Pérez Gómez a0b27a4966
Select the current new added shipping class (#35123)
* Select the current new added shipping class

* Extracting constants into the right file

* Add unit tests

* Use setValue instead onChange to select the shipping class of the product
2022-10-18 15:40:56 -03:00
Moon 4775defb1f
Update WooCommerce beta tester README (#35090)
* Update readme

* Add changelog

* Add Installation section

* Fix typo

* Update WC Admin Test Helper dev commands

* Move back Development section to README.md
2022-10-18 09:22:51 -07:00
Joshua T Flowers 3c6681054a
Add product management description (#34961)
* Add label prop to rich text editor

* Create feature class and enqueue styles

* Add description editor and parsing

* Fix up incorrect context for product data

* Add styling to rich text editors in product form

* Fix editor initialization on new product

* Add changelog entries

* Use trunk lock file

* Add component changelog entry

* Update lock file

* Register block store provider in tests

* Fix up phpcs errors in product feature file
2022-10-18 08:55:31 -07:00
Paulo Arromba 00368924df
Update WooCommerce Blocks package to 8.7.2 (#35101)
* Update WooCommerce Blocks package to 8.7.2

Co-authored-by: Niels Lange <info@nielslange.de>
2022-10-18 10:36:05 +01:00
Moon 13a5ba2f1d
Optimize query usage in the Onboarding tasks (#35065)
* Optimize is_complete() method

* Replaed WC_Product_Query with wp_count_posts, which has more optimized query

* Optimize TaskList::is_complete -- return early when false instead of running through all the tasks

* Cache is_complete() method for the tasks with db query

* Add changelog
2022-10-17 11:23:55 -07:00
jonathansadowski 8747ea2995
Remove latest stable version from README (#35056)
* Remove latest stable version from README

* Add change file
2022-10-14 15:22:27 -05:00
Moon 0f58f2efbd
Fix JS errors when the OBW business step is accessed directly via URL (#35045)
* Set default value for product types

* Add changelog
2022-10-14 11:43:36 -07:00
louwie17 c55c91d7e0
Add category field dropdown field (#34400)
* Add initial category field component with new typeahead

Move search logic to useCategorySearch hook

Add initial add new category logic

Add parent category field to add new category modal

Adding some debug changes

Update category control to make use of internal selectItem function of select control

Add changelogs

Update pagesize back to 100

Add placeholder

Empty placeholder

Fix input and icon sizes

Fix input underline

Add max height and scroll to category dropdown

Add sorting of category items

Auto open parents when traversing up the tree using arrow keys

Add several comments

Add some initial unit tests for the category field component

Add tests for useCategorySearch hook and fixed minor bug

Update styling and autoselect parent if child is selected

Fix styling issues for the select control dropdown inside a modal

Fix issue with creating new category with parent

Add function comment and fixed border styling

Prune out create new category logic

Fix minor css issue with border

Revert some of the select control changes and make use of the custom type

Fix up some styling changes

* Fix type conflict

* Revert change in state reducer

* Add cursor pointer

* Fix styling errors

* Fix broken category tests

* Fix merge conflict
2022-10-14 09:05:39 -03:00
Sam Seay 9b9abd1eae
Replace outdated readme examples of using pnpm (#35064) 2022-10-14 16:14:45 +13:00
github-actions[bot] 4055797bf0
Release: Remove 7.1 change files (#35080)
Delete changelog files from 7.1 release

Co-authored-by: WooCommerce Bot <no-reply@woocommerce.com>
2022-10-13 13:57:26 -05:00
Kirtan Gajjar a5814f1bc7
Make qty input box visible when min_qty = max_qty (#34282)
Make the quantity input visible, even if the min and max allowed values are identical.

* Add changelog

* Update plugins/woocommerce/changelog/fix-GH-34280

Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>

* Update plugins/woocommerce/templates/global/quantity-input.php

Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>

* Fix `@since` tag

* Use a single readonly input (when quanity cannot be changed) instead of two inputs (hidden and disabled).

* Introduce consistent formatting when a product is sold individually and when the min/max is identical.

* Update `@version` tags to 7.1.0.

Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
2022-10-13 09:48:08 -07:00
Bartosz Budzanowski cfe8f76be9
Add order origin tracking. (#35069)
Track order origins ( _created_via )

* Add changelog.

* Fix formatting.

* Use one-liner array.

Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>

* Add missing whitespace.

Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>

* Fix foreach format.

Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>

* No trailing spaces in description.

Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>

* Don't use hardcoded table prefix.

Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>

Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
2022-10-13 08:59:24 -07:00
Vedanshu Jain 21419e4a2c
Fix missing changelog. (#35072) 2022-10-13 18:39:51 +05:30
Peter Fabian 638af2f04e
[HPOS] Improve plugin matching for compatibility check (#35070) 2022-10-13 14:42:53 +02:00
Vedanshu Jain 4ccbcc1b2e
Set correct timezone when backfilling data. (#35033)
* Set correct timezone when backfilling data.

* Add changelog.

* Apply code standards.

* Address further flakiness and more comprehensive test.

* More fixes for timezone backfil.

* Remove unnecessary comments.

* Revert test change since we are not changing systems timezone.

* Minor alignment fix.

* Minor language fix.

Co-authored-by: Peter Fabian <peter.fabian.github@gmail.com>

Co-authored-by: Peter Fabian <peter.fabian.github@gmail.com>
2022-10-13 17:48:24 +05:30
Vedanshu Jain 0a9434605e
Also read from posts when reading from COT to check for direct write (#34465)
* Add and use ON_DUPLICATE_KEY update function to perform update/insert without additional query.

* Fix typo

* Add more tests for save related functions.

* Update post directly to update correct post_modified value.

If we use wp's update_post function, then it will set the post-modified date to current time(). This is not desirable when backfilling order data where we want post data to be exactly the same as orders.

* Add changelog.

* Add support to sync from posts table when reading order table.

When sync is enabled, we also read from posts table when an order is read from COT. Mismatch in this case implies a direct write and therefore we update the COT record with data from posts. This provides an additional layer of backwards compatibility.

* Add more tests for different tables.

* Modify sync logic to account for metadata that has been changed.

* Fetch post only when data sync is enabled.

* Made test case comparison more strict to prevent flakiness.

* WIP

* WIP

* Added protections and code standard fixes.

* WIP

* Change order data store internal key to props for better representation.

* Add changelog

* Add legacy datastore prop for WC_Data object to support COT.

* Also support passing in `get_stock_reduced` method.

* Add internal meta keys to order table data store.

* Add tests for CPT datastore for orders.

* Change return type to prevent implicit type conversion.

* Use correct conversion.

* Revert "Use correct conversion."

This reverts commit 97ead11f71.

* Add conversions to test as needed.

* Add internal keys for order table data store for consistency.

* Apply code standards.

* Merge conflict fixes.

* Add more tests.

* Add more fixes and unit test for sync logic.

* Remove $save param for consistency with parent class.

Earlier, we added the $save parameter for performance reason, but now that we are storing the props in the WC_Order object, this isn't needed anymore (as the object can hold the updated props).

* Return bool instead of string as described.

* Fix test by transforming bool values before confirming.

* Fix test by not needing to converting to string, since we now bool value.

* Store internal props as bool instead of string.

* Remove unused method.

* Only select props for refunds that are actually needed.

* Store bool as yes/no to maintain compatibility with how were storing prev.

* Fix unit test to extpect yes.

* Add tests and set special metadata migrated from data store correctly.

* Add tests for legacy prop get/set in ordertabledatastore.

* Update email class to use data store method instead of get_meta.

* Update exisiting tests to account for changes in legacy prop setting.

* Read from CPT store directly, and cache the pending value.

* Fixup in unit test.

* Add test for refund creation.

* Add test for refund creation.

* Remove strict WC_Order typecasting.

* Address code standard voilation.

* Call correct parent method for updating meta.

* Use WC_Absract instead of WC_Order to provide more compatibility.

* Record order ids we are syncing for to prevent any infinite loop.

* Add test for fixing infinite loop with read on sync.

* Address PR feedback.

* Fix formatting.

Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>

* Fix formatting.

Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>

* Use correct type hints.

Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>

* Fix formatting.

Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>

* Yoda, use.

Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>

* Remove space between minus and numeral for readability.

* Fix ut, and use assertTrue instead of native for consistency.

* Port a fix for edit date save.

Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
2022-10-13 17:13:37 +05:30
Joel Thiessen 315e163b29
Only show five inbox messages and add "Show more" button (#35003)
* Basic paging functionality

* Adding changelog

* Inserting placeholder at end of list, working dismissal

* Fixing issues with dismissed notes not updating UI

* Fixing odd display when removing last note

* Renaming page variable

* Adding tracks event

* Addressing issues caused by .map within useSelect, and getting rid of hash

* Fixing nested ternary linting issue

* Removing console logs

* Updating test
2022-10-13 08:36:02 -03:00
Paulo Arromba 1c0925a905
Update WooCommerce Blocks package to 8.7.1 (#35040)
* Update WooCommerce Blocks package to 8.7.0

* Update WooCommerce Blocks package to 8.7.1
2022-10-13 12:21:20 +02:00
Jorge A. Torres 3e3b413d17
Some improvements to plugin feature incompatibility UI (#35063)
Co-authored-by: Nestor Soriano <konamiman@konamiman.com>
2022-10-13 12:06:57 +02:00
Vedanshu Jain b6439c6ed1
Implement missing refund tax methods for HPOS (#34805)
Co-authored-by: Nestor Soriano <konamiman@konamiman.com>
2022-10-13 10:57:22 +02:00
RJ 1991347234
fix: handle error loading and error states for magic link button (#35068) 2022-10-13 16:12:40 +08:00
Jorge A. Torres d2dd772ede
Fix admin settings checkbox disabled (#35067)
* Fix ‘disabled’ state for admin settings

* Add changelog
2022-10-13 11:51:30 +05:30
Ismael Martín Alabarce 3d1f8c36e0
Update WCPay promo requirements and ensure dismiss (#35030)
* Ensure Payments menu is dismissed after choosing no

Now it gets also dismissed on modal close

* Add a new requirement

Check if the store has another payment gateway installed to be eligible for the promotion.

* Add changelog entry

* Fix not using strict comparison for in_array

* Update is_another_payment_gateway_installed

To use a static list instead of PaymentGatewaySuggestions
2022-10-13 08:14:01 +02:00
RJ edbb3ea793
Fix: mismatching jetpack user should not see mobile app task list item (#35052)
* fix: mismatched user shouldn't see task item to get mobile app
2022-10-13 10:27:42 +08:00
Joshua T Flowers 8fbdbaf354
Add product page inventory quantity management (#34984)
* Add manage stock section to product inventory section

* Fix up h4 styles in form sections

* Check if stock management is enabled in store settings

* Fix up more styles in form

* Extract inventory validation and add new validation rules

* Add changelog entry

* Add changelog entry

* Remove sku related validation
2022-10-12 14:30:02 -07:00
Joshua T Flowers 0ca3f6d589
Add product management SKU (#34978)
* Add product inventory section and sku control

* Add validation and errors

* Add changelog entry

* Add dependencies comment block

* Call input props onBlur for product name field

* Remove slug validation

* Watch product name value change in inventory section

* Fix up usePrevious hook TS

* Revert watching changes by previous touched status
2022-10-12 13:11:05 -07:00
Fernando Marichal 98162b9d42
Images Product management MVP 1.0 (#34769)
* Add image section

# Conflicts:
#	plugins/woocommerce-admin/client/products/add-product-page.tsx

* Add `keepSpaceWhenDragging` to sortable

# Conflicts:
#	packages/js/components/src/sortable/sortable-item.tsx
#	packages/js/components/src/sortable/sortable.tsx

# Conflicts:
#	packages/js/components/src/sortable/sortable.tsx

* Export ImageGalleryItem

* Add props to `image-gallery`

# Conflicts:
#	packages/js/components/src/image-gallery/image-gallery-item.tsx
#	packages/js/components/src/image-gallery/image-gallery.tsx

* Changed `media-uploader` label

* Add changelogs

* Fix image-gallery and sortable components

# Conflicts:
#	packages/js/components/src/sortable/sortable-item.tsx
#	packages/js/components/src/sortable/sortable.tsx

# Conflicts:
#	packages/js/components/src/image-gallery/image-gallery.tsx
#	packages/js/components/src/sortable/sortable.tsx

* Set gallery min-height

* Add onOrderChange

* Show images section edit-product

# Conflicts:
#	plugins/woocommerce-admin/client/products/edit-product-page.tsx

# Conflicts:
#	plugins/woocommerce-admin/client/products/edit-product-page.tsx

# Conflicts:
#	plugins/woocommerce-admin/client/products/edit-product-page.tsx

* Fix styles

* Fix styles

* Fix image alt

* Fix TS any

* Add prop `onDragOver`

# Conflicts:
#	packages/js/components/src/image-gallery/image-gallery.tsx

* Fix styles

* Fix padding

* Fix image area min-height

* Fix subtitle copy

* Fix image margin

* Change `draggedImageId`

* Fix `setDraggedImageId` reset

* Rename `isRemoveZoneVisible`

* Add `CardBody` and remove redundant `setValue`

* Fix card styles

* Remove `getUniqueImages`

* Use url as a key when there is no image id

* Fix `orderedImages`

* Add hover to gallery images

* Fix gallery arrows and set cover problems

* Altering blur handler to prevent toolbar closure on media modal

* Fix toolbar drag and drop

* Add replace fn

* Restoring modal class for blur function

* Fix storybook

* Ensuring onBlur doesn't happen while dragging, resolving issue in Firefox

* Adding expected event object to drag callbacks

* Fix image size

* Fix lint

* Another fix lint

* Update plugins/woocommerce-admin/client/products/sections/images-section.tsx

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

* Fix `draggedImageId` default value

* Fix toolbar icon style

* Rename consts

* Update pnpm-lock.yaml

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
Co-authored-by: Joel <dygerati@gmail.com>
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
2022-10-12 15:16:22 -03:00
Barry Hughes 1d187b70ca
[HPOS/COT] Ensure date_creation_gmt is correctly populated with a GMT datetime (#34875)
* (HPOS/COT) Ensure date_creation_gmt is correctly populated with a datetime in GMT timezone.

* Update the way we test the value of the persisted order creation date.
2022-10-12 20:10:28 +02:00
Néstor Soriano edc1c6c98a
Add handling for plugin-feature incompatibilities (#34879)
* Extend FeaturesController to handle WooCommerce-aware plugins

The methods that return compatibility info now have an extra
'uncertain' part with information regarding plugins that are
WooCommerce-aware but haven't declared compatibility.

* Add a warning about incompatible plugins in the features page.

Includes a link to the list of incompatible plugins.

* Add handling of incompatible plugins in the plugins page.

Plugins that are incompatible with at least one enabled feature
will show a warning in the WooCommerce plugins page, and will
have their "Activate" link disabled.

* - Hook on 'views_plugins' to display two views in plugins page,
  "All" and "Incompatible with feature X"

- Exclude the legacy Analytics features from the feature and plugins
  activation restrictions

- Allow disabling a feature from the settings pages if it's enabled
  and is incompatible with at least one plugin (it won't be possible
  to re-enable it once the settings page reloads)

* Fix FeaturesController::declare_compatibility not working in Windows
(which uses \ instead of / as directory separator)

* - Add two methods to bypass the feature/plugin activation protection.

- Fix: the incompatible plugins count in the feature settings page
  now only counts active plugins.

* Add changelog file

* Fix unit tests

* - Rename "custom orders table" feature to "high performance order tables"

- Add an extra parameter to FeaturesController::get_compatible_plugins_for_feature
  to retrieve all matching plugins or only active plugins.

* Minor wording fixes

* Address PR feedback.

* Allow enabling plugins when WP_DEBUG is true.

* Return if plugin_status is not set.

* Dont change the Activate button.

Co-authored-by: Vedanshu Jain <vedanshu.jain.2012@gmail.com>
2022-10-12 11:08:46 -03:00
Oleksandr Aratovskyi a9dbb6d64e
Change copy of the payments welcome modal (#35031)
* Change copy in Payments Welcome modal

* Change copy in Payments Welcome modal
2022-10-12 16:18:13 +03:00
Sam Seay 55b49cb50a
Fix and consolidate linting across the monorepo (#35012) 2022-10-12 15:05:01 +13:00
peterbialkowski 7aca607899
Update New Zealand subdivisions in states.php (#35011)
Update states.php (New Zealand/CLDR R41)

* Add changelog

Co-authored-by: barryhughes <3594411+barryhughes@users.noreply.github.com>
2022-10-11 15:33:28 -07:00
Vedanshu Jain 75721ed9de
Support fetching order types in bulk. (#34976)
Support fetching order types in bulk.

* Add changelog.

* PHPCS and unit test fixups.

* Add return type and param checking for has_callable.
2022-10-11 11:44:50 -07:00
Roy Ho 1ca5388eed
Prep trunk post 7.0 release (#35038) 2022-10-11 11:38:53 -07:00
Maikel David Pérez Gómez e95bb3768e
Add new shipping class modal to a shipping class section in product page (#34937)
Add new shippping class modal to a shipping class section in product page
2022-10-11 12:00:35 -03:00
Vedanshu Jain 1d4888768f
Serialize value before sending to meta display form. (#34952) 2022-10-11 16:06:30 +02:00
nigeljamesstevenson 13c34ad295
api-core-tests product properties tests (#34998)
* api-core-tests product properties tests

* api-core-tests products tests

* api-core-tests products tests
2022-10-11 07:54:48 -06:00
github-actions[bot] 1af32829e8
Delete changelog files based on PR 35025 (#35028)
Delete changelog files for 35025

Co-authored-by: WooCommerce Bot <no-reply@woocommerce.com>
2022-10-10 12:23:20 -07:00
Wojciech Zięba 322f7e8fc7
[7.0] Only show mobile messaging on Merchant New Order emails (#35025)
Adds a check to the mobile messaging callback to ensure it only gets inserted into the email footer for the New Order notification for merchants, and not for emails sent to customers.

Fixes #35016
2022-10-10 12:09:50 -07:00
Roy Ho 84a74b5edb
Remove unneeded files from distribution package (#35000) 2022-10-10 07:36:20 -07:00
Jorge A. Torres c9c2bfbf92
[COT] `query()` method: add support for field queries (#34533)
* Bring Yoda back.

* Add method to OrdersTableQuery to obtain table info for a given order field

* First pass at field_query

* Add tests

* Add changelog

* Use backticks for table names and aliases

* Improve validation in field_query

* Add some more tests
2022-10-10 13:31:00 +05:30
Sam Seay aec442139f
Update pnpm once again to fix issues with auto-install-peers (#35007) 2022-10-10 16:59:51 +13:00
Jamel Noel Reid 91e1347aab
Fix order email receiving test (#34972)
* Added JS data file

* Moved onboarding logic into utils folder

* Used new onboarding methods and data file

* Added changelog

* Moved utils directory

* Added api utils

* Added customer details data

* Used new api utils and data

* Updated path

* Added comment and removed log

* Removed log

* Added changelog
2022-10-07 13:11:49 -07:00
Jonathan Lane aa438e5741
Fix/update playwright and test fixes (#34790)
* Update Playwright 1.22.1 -> 1.26.0

* Update page title locator

* Wait for View cart link after adding to cart

* Add a wait when applying second coupon

* Fix flakey coupon test

* Ensure Store is in US

* Add changelog

* Revert lock file commit

This reverts commit b75192f53c.

* Updated lock file

* Added command for Playwright test execution

* Resolve merge conflict

* Resolve merge conflict

* Fixed pnpm-lock.json

* Update PW Selectors (#34959)

* Updated PW selectors

* Updated selector

* Removed extra command

* Ensure Billing country is set

* Fix failing payment setup test

* Old test is still running in actions

* Adds colour output for Playwright in GH Actions

* Fix payment test

* Lock file update

* Skipping a test for now

Co-authored-by: Jon Lane <jon.lane@automattic.com>
Co-authored-by: jamelreid <jnoelreid@gmail.com>
Co-authored-by: Jamel Noel Reid <MrJnrman@users.noreply.github.com>
2022-10-07 12:39:39 -06:00
Roy Ho c32eb268cf
Dev/beta tester (#34993)
* Add documentation as to where to find the settings/features

* Fix version picker not working

* Bump versions and normalize changelog section

* Remove old changelog files

* Ensure WR can bump the version

* Add minified version of version-picker

Co-authored-by: Jonathan Sadowski <sadowski@automattic.com>
2022-10-07 10:29:02 -07:00
Tam Mullen 7cb84e5b2d
k6: add additional merchant and API order tests (#34707)
* Expanded k6 merchant order tests

* Adding additional k6 merchant and api order requests

* Added changelog

* Added Changelog

* Update k6 search filter test to use customer ID

* Update k6 README for update to config

* Removed Order Filters from k6 daily external tests until the workflow can be updated

* Updated k6 requests for HPOS

* Add k6 completed orders merchant request
2022-10-07 09:47:40 -07:00
Vedanshu Jain 0b5d7ab9ad
Revert "[COT] Add the orders cache" (#34992)
Revert "[COT] Add the orders cache (#34396)"

This reverts commit 3f155c9a63.
2022-10-07 20:09:09 +05:30
nigeljamesstevenson 1eb02b4742
api-core-tests order notes tests (#34979)
* api-core-tests order notes tests

* changelog file
2022-10-07 08:25:02 -06:00
Néstor Soriano 3f155c9a63
[COT] Add the orders cache (#34396)
* Reverse the order of "$id" and "$object" in ObjectCache::set

* Add the ObjectCache::update_if_cached method

* Modify ObjectCache:set to validate object before invoking get_id

* Add a temporary TransientsEngine class.

This is temporary! Must be removed before merging to trunk.

* Add the OrderCache class.

This class uses a TransientsEngine instance as the caching engine.
This is temporary and must be undone (get_cache_engine_instance method
must be removed) before merging to trunk!

* Use the new OrdersCache class

- When an order is retrieved, cache it
- When an order is saved, update it if it was cached already
- When an order is trashed or deleted, remove it from cache
- When the authoritative table for orders changes, flush the cache

* Remove the hardcoded usage of TransientEngine in OrderCache

It will make things easier later before merging. The transients engine
can still be used via the wc_object_cache_get_engine hook.

* Add changelog file

* Fix failing unit test

The test was failing because the order is cached by reference when
being saved in the test, and then when being deleted by the REST API
code it gets its id set to 0.

* Add a setting to enable/disable the orders cache

Also added a mechanism to temporarily disable the orders cache while
syncrhonization is in progress.

* Adjustments in the mechanism to temporarily disable the orders cache usage

* OrderCacheController: backup enable option is now stored in memory.

* Convert conditions to Yoda :-(

* Add missing $

* Use the new features engine to declare the cache as an experimental feature

Also decouple the orders cache mechanism from the COT feature,
it can be now used indepently of the COT feature and independently
of whether the new orders table is in use or not.

* Removed unused import and transient class.

Co-authored-by: Vedanshu Jain <vedanshu.jain.2012@gmail.com>
2022-10-07 12:46:24 +05:30
RJ c67a0fbe27
Add Tiktok to OBW grow list (#34953) 2022-10-07 13:50:35 +08:00
Jamel Noel Reid 7d710dfe7a
Move onboarding test steps into utils folder (#34970)
* Added JS data file

* Moved onboarding logic into utils folder

* Used new onboarding methods and data file

* Added changelog

* Moved utils directory

* Fixed import
2022-10-06 11:43:45 -07:00
louwie17 f28a467919
Add/34000 attribute select control (#34744)
* Replace preloaded attribute and term dropdowns with async typeahead dropdowns

* Revert accidenatal change.

* Add condition to show the old dropdown in certain situations

* Add changelog

* Use ternary condition

* Move mininumInputLength down to follow the same format as the other filters

* Fix the minimum input length

* Update the select all to work with the async terms field

* Make sure empty attributes are shown and suppress query filter

* Fix code sniff error
2022-10-06 14:27:48 -03:00
github-actions[bot] 5bad53d854
Delete changelog files based on PR 34966 (#34969)
Delete changelog files for 34966

Co-authored-by: WooCommerce Bot <no-reply@woocommerce.com>
2022-10-06 06:19:45 -07:00
Corey McKrill 9f8ae8b46f
REST API: Ensure meta_data prop contains an array (#34966)
REST API: Ensure meta_data prop contains an array

When filtering the meta_data array of a response with include_meta or
exclude_meta, the array indexes were getting preserved so that it was
possible for the array to not contain a 0 index, but still have some
subsequent numbers. When such an array was converted to JSON, it was
interpreted as an object rather than an array.

This ensures the meta_data array indexes are reset after filtering, and
adds unit tests to check that meta_data always contains an array, and
not an object.
2022-10-05 14:39:33 -07:00
nigeljamesstevenson 32e21bbb1f
Add/a2 p create tax rates crud api core tests (#34960)
* Add Tax api-core-tests

* api-core-tests tax tests

* api-core-tests taxes

* api-core-tests taxes
2022-10-05 13:59:35 -06:00
nigeljamesstevenson a0233d2d62
Add/a2p create customers crud api core tests (#34945)
* add customer crud api-core-tests

* add changelog file

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

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

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

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

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

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

* PR review updates

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

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

Co-authored-by: Greg <71906536+zhongruige@users.noreply.github.com>
2022-10-05 12:45:26 -06:00
rodelgc f8ea46b086
Implement `maxFailures` and warning messages (#33977)
* Add `maxFailures`

* Intentionally fail a test for testing the failure limit

* Add changelog

* Add step to get total number of E2E tests

* Increase max failures

* Add warnings to the test summary.
Also moved some stuff around.

* Update changelog

* Use env var to set `maxFailures` value instead of hard-coding it

* Make sure env var is converted to a number

* Allow maxFailures even if not on CI

* Show incomplete e2e run warning only when E2E_MAX_FAILURES is set

* Safely escape new lines in comment body

* Fix returned stringified summary

* Remove unnecessary newline escaping

* Fix incorrect reference to E2E_MAX_FAILURES

* Minor formatting change

* Shorten warning messages

* Minor change in warning message

* Intentionally fail only 1 test

* Remove intentional failures

* Removed duplicate env declaration

* Correct pnpm command and playwright config file location

* Simplify reference to CI variable

* Remove unnecessary if condition

* Remove references to the old E2E_PLAYWRIGHT flag

* Remove references to the old E2E_PPTR_SUMMARY_PATH variable

* Test for 2 warnings

* Revert to correct locator

* Test for only 1 warning

* Pass all tests
2022-10-05 10:44:20 -07:00
louwie17 6af1695f34
Add/34333 attribute list (#34841)
* Add initial attribute list with dragging and removing functionality

* Fix sortable styling and remove the default selected logic

* Fix css formatting

* Add changelogs

* Add missing question mark

* Add tests

* Some minor CSS updates and move some logic to a util function

* Fix lint issues and add extra test
2022-10-05 13:04:20 -03:00
github-actions[bot] 1d56b84d17
Delete changelog files based on PR 34936 (#34958)
Delete changelog files for 34936

Co-authored-by: WooCommerce Bot <no-reply@woocommerce.com>
2022-10-05 07:23:17 -07:00
Barry Hughes bb898595b8
Correct the textarea name in the Product Short Description template. (#34936) 2022-10-05 16:05:32 +02:00
Vedanshu Jain 82153ea567
Support `wc_customer_bought_product` for hpos. (#34931)
* Support `wc_customer_bought_product` for hpos.

* Apply code standards.
2022-10-04 15:52:02 -03:00
Matt Sherman 196623c004
Update Remote Inbox Notifications Total Payments Value documentation (#34792)
Fix typo in Total Payments Value section of README
2022-10-03 14:26:22 -04:00
Maikel David Pérez Gómez d3c19642b0
Add shipping dimensions image (#34857)
* Remove custom styles from FormSection component and use Card and CardBody instead

* Add dimension fields formating using the woo number global settings

* Load size units to show it as a suffix of shipping dimensions fields

* Fix card styles according the disign and pass props manually to BaseControl

* Add shipping dimensions image

* Apply comment suggestions
2022-10-03 15:06:17 -03:00
nigeljamesstevenson 456dd02352
update workflows to use the playwright api-core-tests instead of the … (#34935)
* update workflows to use the playwright api-core-tests instead of the equivalent supertest versions

* add changelog file
2022-10-03 10:49:42 -06:00
github-actions[bot] ffe7d4dc1b
Delete changelog files based on PR 34920 (#34924)
Delete changelog files for 34920

Co-authored-by: WooCommerce Bot <no-reply@woocommerce.com>
2022-10-03 08:24:30 -07:00
github-actions[bot] 2ec971412b
Delete changelog files based on PR 34892 (#34922)
Delete changelog files for 34892

Co-authored-by: WooCommerce Bot <no-reply@woocommerce.com>
2022-10-03 08:21:04 -07:00
nigeljamesstevenson 75c91ccdc0
E2e pw/migrate api core tests to use playwright 34126 (#34835)
* playwright api-core-tests

* playwright api-core-tests

* playwright api-core-tests

* Workflow updates

* Workflow test updates

* workflow test update

* Workflow testing

* Workflow testing

* workflow test updates

* workflow test updates

* Workflow update test

* Workflow update test restore

* add gitignore for api core tests output dir

* Workflow test with playwright api tests

* Workflow restore to original

* update readme and playwright config
2022-10-03 07:41:27 -06:00
Adam Heckler 4b44189e1d
Change "WCPay" to "WooCommerce Payments" (#34666) 2022-10-03 15:42:04 +05:30
Néstor Soriano 2e9ed0e035
Fix: can't place orders for Saint Martin (#34920) 2022-10-03 11:26:48 +02:00
Chi-Hsuan Huang 5f2aa49579
Deploy spotlight product tour (#34859)
* Remove product tour experiment code

* Remove experimental-product-tour flags

* Replace old product tour

* Add changelog

* Remove spotlight query string
2022-10-03 16:34:49 +08:00
Chi-Hsuan Huang c4befcde2b
Fix wrong payment tasks display logic (#34892)
* Fix the wc pay view logic so that we don't display it even when payment task is completed

* Add changelog
2022-10-03 16:34:38 +08:00
Chi-Hsuan Huang 08848d46ca
Fix onboarding wizard popover padding (#34896)
* Fix onboarding wizard popover padding for WP6.1

* Add changelog
2022-10-03 16:34:20 +08:00
Chi-Hsuan Huang 4a39091961
Add "aria-disabled" prop to truly disable OBW continue buttons (#34895)
* Add aria-disabled prop to truly disable OBW continue buttons

* Add changelog
2022-10-03 16:32:23 +08:00
Sam Seay 59e0c80f3c
Update the pnpm constraint to 7.12.2+ now auto-install is fixed. (#34872) 2022-10-03 10:52:42 +13:00
github-actions[bot] 666e5913f9
Delete changelog files based on PR 34712 (#34891)
Delete changelog files for 34712

Co-authored-by: WooCommerce Bot <no-reply@woocommerce.com>
2022-09-30 09:43:01 -07:00
Vedanshu Jain 045c5850b6
Render columns via action so that they can be hooked into (#34900)
Render columns via action so that they can be hooked into.
2022-09-30 08:15:15 -07:00
Barry Hughes 5cb5be8e9a
[HPOS] Add hooks that fire before an order is trashed/deleted. (#34858)
New hooks are:

1. `woocommerce_before_delete_order`
2. `woocommerce_before_trash_order`
2022-09-30 09:11:46 -03:00
Barry Hughes d5bf2feeb1
Immediately propagate changes to orders (from CPT → COT). (#34863)
Add callback to update COT when CPT is authoritative and individual orders are updated.
2022-09-30 13:26:25 +05:30
Peter Fabian ab23314f56
Fix/json order > line_items > image schema (#34852)
* Removed the type spec for properties.

* Changelog.

* Removed double propoerties.
2022-09-30 13:23:48 +05:30
Joshua T Flowers 3fd736c72f
Update plugins installer component to TS, Fix TS bugs and Syncpack TypeScript (#34787) 2022-09-30 10:59:07 +13:00
Jonathan Lane 4ccb2b478a
Fix/test env setup set customer registered datetime (#34888) 2022-09-29 12:44:06 -07:00
Maikel David Pérez Gómez 7fe05d65f3
Load size units to show them as a suffix of shipping dimensions fields (#34856)
* Add dimensions to shipping section
Change the FormComponent to support input name with dot notation like dimensions.width
Add the dimension controls to the product form

* Remove custom styles from FormSection component and use Card and CardBody instead

* Add dimension fields formating using the woo number global settings

* Add dimension fields validations

* Solve conflics from rebase

* Add changelogs

* Fix resetForm function to consider the passed params and the initialValues

* Load size units to show it as a suffix of shipping dimensions fields

* Fix card styles according the disign and pass props manually to BaseControl
2022-09-29 14:54:04 -03:00
Jorge A. Torres 23e237dc2a
Honor query args when redirecting from posts to HPOS list table (#34868) 2022-09-29 10:22:42 -07:00
Jorge A. Torres a1f5b71e27
Allow features to declare a default 'enabled' state (#34867)
Allow features to have a default state via `enabled_by_default`.

* Remove unnecessary import

* Allow features to have a default state via `enabled_by_default`

* Add changelog
2022-09-28 13:17:08 -07:00
Vedanshu Jain 019b0b4df8
Move props from datastore to order object and implement $save params for DataStore (#34627)
* Change order data store internal key to props for better representation.

* Add changelog

* Add legacy datastore prop for WC_Data object to support COT.

* Also support passing in `get_stock_reduced` method.

* Add internal meta keys to order table data store.

* Add tests for CPT datastore for orders.

* Change return type to prevent implicit type conversion.

* Use correct conversion.

* Revert "Use correct conversion."

This reverts commit 97ead11f71.

* Add conversions to test as needed.

* Add internal keys for order table data store for consistency.

* Apply code standards.

* Remove $save param for consistency with parent class.

Earlier, we added the $save parameter for performance reason, but now that we are storing the props in the WC_Order object, this isn't needed anymore (as the object can hold the updated props).

* Return bool instead of string as described.

* Fix test by transforming bool values before confirming.

* Fix test by not needing to converting to string, since we now bool value.

* Store internal props as bool instead of string.

* Remove unused method.

* Only select props for refunds that are actually needed.

* Store bool as yes/no to maintain compatibility with how were storing prev.

* Fix unit test to extpect yes.

* Add tests and set special metadata migrated from data store correctly.

* Add tests for legacy prop get/set in ordertabledatastore.

* Update email class to use data store method instead of get_meta.

* Update exisiting tests to account for changes in legacy prop setting.

* Add support for order IDs to prop getters in `OrdersTableDatastore`

* `OrdersTableDatastore::get_download_permissions_granted()` should no longer rely on metadata

Co-authored-by: Jorge A. Torres <jorge.torres@automattic.com>
2022-09-28 14:07:41 -03:00
github-actions[bot] 814cd39e3c
Delete changelog files based on PR 34832 (#34846)
Delete changelog files for 34832

Co-authored-by: WooCommerce Bot <no-reply@woocommerce.com>
2022-09-27 11:49:58 -07:00
Gan Eng Chin 9e697cdf0a
Add tests for UI Revamp on Marketing page (#34840) 2022-09-27 22:25:48 +08:00
Chi-Hsuan Huang c31f8b0aa5
Fix industry options not populate after reloading page (#34847)
* Add a spinner loader to ensure Industry loaded after data fetched

* Add changelog

Fix style
2022-09-27 16:26:22 +08:00
Chi-Hsuan Huang 84641b1c41
Fix enable guided mode button not trigger when its text is translated (#34843)
* Fix enable guided mode button not trigger when its text is translated

* Add changelog
2022-09-27 16:12:01 +08:00
Chi-Hsuan Huang fdbb6be37f
Fix Tour Kit stories loading error (#34831)
* Exclude debug module from webpack transpile to load tour kit stories

We originally added debug module in https://github.com/woocommerce/woocommerce-admin/pull/5987 to fix a IE11 issue.
Since we've drop IE11 support, it should be fine to remove it.

* Add changelog
2022-09-27 15:38:08 +08:00
Néstor Soriano 6e66de75cd
Add the WooCommerce features engine, take 2 (#34727)
Includes adapting the existing Admin features (enable analytics, enable the new navigation) to use the new engine.
2022-09-27 09:26:09 +02:00
Chi-Hsuan Huang ab484e579b
Fix failing to update onboarding profile data for PHP 8 (#34832)
* Fix failing to update industries

* Add changelog

* Update changelog

* Update onboarding profile unit tests to test all schema fields
2022-09-27 13:50:16 +08:00
Sam Seay c0fe3ec18f
Fix pnpm version to 7.11.0 in engines and in CI (#34773) 2022-09-27 11:30:52 +13:00
louwie17 c01c48c8c3
Add initial attributes section for empty state (#34751)
* Add new attributes section and attributes field with just an empty state

* ADd changelogs

* Add check to not render the blank section when attributes exist

* Fix misspelling
2022-09-26 14:44:06 -03:00
Jorge A. Torres daf00f7f13
[COT] Do not set order prop to NULL while reading order data (#34822)
Do not set order prop to NULL while reading order (HPOS)
2022-09-26 09:10:27 -07:00
Roy Ho 96cdef649a
Add changelog and bump version (#34838) 2022-09-26 07:02:12 -07:00
Greg 3089e3e969
Update e2e-pw link in README (#34768)
Update the link in the README for `e2e-pw` to point to the correct location
2022-09-26 07:51:15 -06:00
louwie17 1dc50326b7
Disable product management experience in dev env (#34836)
* Set product management experience to false in development

* Disable new-product-management-experience feature flag in development
2022-09-26 10:07:44 -03:00
Chris Lilitsas 63aa382ffb
Add a header for the "Add store details" task in woocommerce admin (#34712)
* Add store-details task header and ensure the aid is disabled when task is completed

* Add an illustration

* Update the texts

* Add changelog

* Revisit progress header styles

* Bring back ellipsis menu

* Align the ellipsis menu on the baseline

* Give some room to the badge in the sidebar

* Update progress bar color with variable
2022-09-26 15:19:47 +03:00
Chris Lilitsas 20b561f2f6
Enhance "Add store details" task onboarding experience (#34697)
* Change the visibility condition of the store details onboarding tour

* Add changelog

* Rename handler variable

* Modify aid description

* Cleanup
2022-09-26 14:52:23 +03:00
Barry Hughes 2098bdce0f
(HPOS/COT) Orders Admin List > Prevent user from paging out-of-bounds (#34793)
(HPOS/COT) prevent user from paging beyond available range (admin list table for orders).
2022-09-23 13:50:36 -03:00
github-actions[bot] 6e862af9ee
Delete changelog files based on PR 34807 (#34809)
Delete changelog files for 34807

Co-authored-by: WooCommerce Bot <no-reply@woocommerce.com>
2022-09-23 06:35:22 -07:00
Luigi Teschio 510a7074bb
Update to WC Blocks 8.5.1 (#34807) 2022-09-23 15:26:51 +02:00
Maikel David Pérez Gómez 2eda531d46
Add shipping class section and dropdown (#34684)
* Add shipping class section and dropdown

* Add comment suggestions

* Add a Spinner during shipping classes resolution
2022-09-23 09:54:52 -03:00
Oleksandr Aratovskyi 013a5f25ec
Show APMs on the new Payments menu (#34581)
* Initial commit

* Implement APMs toggle button
- Add valid links to each APM
- Add valid link to the marketplace

* Implement APMs toggle button
- Add valid links to each APM
- Add valid link to the marketplace

* Refactor the code to be more explicit

* Delete the apm on toggle off if it's local state

* Implement FAQ simple block
- Style a notice about APM is enabled
- Add noreferrer and target=_blank to external links

* Add todo comments

* FAQ simple styling fix (improve padding)

* Fixes after inner review

* Add changelog item

* Address PR review comments

* Remove Affirm as it's not in the store

* Style fixes, proper internationalization and put valid link

* Styling fixes, translators comment, rename ApmsProps component to ApmListProps

* Two more styling fixes

* Styling fix

* Styling fix

* Remove text-decoration: none to match the design
2022-09-23 20:36:12 +08:00
Vedanshu Jain b9f1f57e43
Fix failing WP nightly test (#34743)
* Fix failing by initializing properties.

1. wc_core_dir was earlier being initialized in by WC_Admin bootstrap file, after the monorepo merge, this is no longer needed and can be replaced by WC_ABSPATH directly. (Since WooCommerce core is not being mounted in a different folder).
2. $user was usually unintialized, but it still worked since when passing null it will autoset to 1. This is modified to either not handle this explicitly, and/or not pass any value when default is fine.

* Add changelog.
2022-09-23 13:27:59 +05:30
Jorge A. Torres f826c4bf55
[COT] Restore refund removal functionality when COT is active (#34785)
Change `get_post_type()` call in refund removal code to use COT APIs
2022-09-22 15:00:20 -07:00
Maikel David Pérez Gómez 7b55c334ad
Disable action buttons when product form is invalid (#34658)
* Disable action buttons when product form is invalid

* Move to trash action should be enabled when editing a product even when the form is invalid

* Hide Move to trash action button in the Add new product page

* Hide product link when the name field has any error

* Disable Publish options menu button when all menu items are disabled

* Test menu items by text instead of index
2022-09-22 17:47:44 -03:00
Roy Ho 6257d3f3a4
Delete cherry picked changelogs and some irrelevant entries (#34762) 2022-09-22 05:45:12 -07:00
Jorge A. Torres 1c5b9c54f9
[COT] Implement order preview functionality and edit by clicking order row (#34770)
Enable support for the Preview Modal within the COT/HPOS admin list table.

* Add `@since` to dobclock

* Update wc-orders JS script to work with COT

* Move order preview template to `Internal\Admin\Orders\ListTable`

* Add changelog
2022-09-21 13:52:44 -07:00
github-actions[bot] 56c790c8da
Delete changelog files based on PR 34717 (#34720)
Delete changelog files for 34717

Co-authored-by: WooCommerce Bot <no-reply@woocommerce.com>
2022-09-21 05:46:34 -07:00
Paul Sealock a0c13abd83
pnpm 7 update: Remove unused dashes (#34754)
* remove unused dashes in pnpm scripts calling other pnpm commands

* changelog
2022-09-21 15:34:24 +12:00
Roy Ho d2b20dc993
Add changelogs and version bump for 6.9.3 release (#34752) 2022-09-20 12:35:06 -07:00
Vedanshu Jain 9400402f83
Enable backfill for orders from custom tables to wp_posts via CLI (#34676)
Introduce `wc cot sync` WP CLI command, replacing `wc cot migrate`.

* Use sync command instead of migrate.

* Add changelog.

* Docblock fixes.

* Update plugins/woocommerce/changelog/implement-wp-cli-backfill

Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>

* Update plugins/woocommerce/src/Database/Migrations/CustomOrderTable/CLIRunner.php

Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>

Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
2022-09-20 07:57:51 -07:00
Matt Sherman 9d96419520
Only show the product image upload tip once, and on all product edit pages (#34739)
* Only show the product image upload tip once, and on all product edit pages.
* Use max upload size in message.
2022-09-20 08:09:31 -04:00
Néstor Soriano e3a9ddee6d
Fix fatal error produced by the init_theorder_object method (#34730)
* Fix: init_theorder_object throwing an error

The error was thrown due to the return type of the method being
WC_Order (but can also be "false" or other type of object)

* Add changelog file
2022-09-20 16:54:42 +05:30
Vedanshu Jain c08551cd13
Remove typecasting to prevent fatal when $screen_id is null. (#34734) 2022-09-20 12:22:29 +02:00
Roy Ho 651c67eec8
Update pnpm command to run makepot (#34733) 2022-09-19 07:38:40 -07:00
Wojciech Zięba 6efae68b77
Update tracking parameters for mobile messaging (#34717)
Adds required tracking parameters to mobile messaging deep links.

Fixes #34716
2022-09-16 16:32:18 -07:00
Tam Mullen ffb27091f0
Skip Store owner can go through setup Task List test (#34715)
* Skip Store owner can go through setup Task List test

* Added changelog

* Explicitly change currency in before hooks to resolve dependency

* Update assertion for product import test

* Set currency on product import test

Co-authored-by: Jon Lane <jon.lane@automattic.com>
2022-09-16 14:50:46 -07:00
Joel Thiessen 09bfa0b737
Allowing generic item type in new experimental SelectControl (#34547)
Co-authored-by: Joel <joel.thiessen@a8c.com>
2022-09-16 13:35:14 -07:00
Vedanshu Jain 7cec9b40a9
Revert "Add the WooCommerce features engine" (#34714)
Revert "Add the WooCommerce features engine (#34616)"

This reverts commit f65c775da3.
2022-09-16 11:06:39 -07:00
Tam Mullen 1b7554247c
Change the e2e selector for unchecking all business features (#34685)
* Change the e2e selector for unchecking all business features
* Update e2e uncheck business features in test setup
* Add theme selection to before hook for shipping task
2022-09-16 07:48:05 -07:00
Nima Karimi df42264740
Remove marketing transient on upgrade to 7.0 (#34679)
* Remove marketing transient on upgrade to 7.0

The recommended marketing extensions are stored in a transient (`wc_marketing_recommended_plugins`). When WooCommerce is upgraded, we need to remove that cached data from the transient so it can be repopulated using the new API.

Co-authored-by: Nima <nima.karimi@automattic.com>
2022-09-16 17:25:37 +03:00
Néstor Soriano f65c775da3
Add the WooCommerce features engine (#34616)
Includes adapting the existing Admin features (enable analytics, enable the new navigation) to use the new engine.
2022-09-16 09:17:22 +02:00
Sam Seay 04b74c1053
Upgrade to pnpm 7 (#34661)
* Remove -- -- from scripts that fixed issue in pnpm 6, fix a couple TS issues in sep packages
* Minor fixes to analyzer scripts and doco based on pnpm 7
* Add dompurify types to data package to avoid TS errors
* Remove pnpx in favor of pnpm exec
* Modify the code analyzer to respect pnpm version if present.
* Update instructions for running recursive lint, add comments to explain
2022-09-16 09:21:42 +12:00
Barry Hughes cd31ec0dd5
Stock checks not required if stock levels have already been reduced. (#33575)
* Stock checks not required if stock levels have already been reduced.

* Changelog.
2022-09-15 17:57:22 -03:00
Roy Ho 45559775c9
Prep/code freeze 7.0 (#34704)
* Delete changelog files from 7.0 release

* Remove merged changelog
2022-09-15 13:05:06 -07:00
Roy Ho 8de1d67d7b
Version bump and add changelog entry post 6.9.2 release (#34701) 2022-09-15 11:47:46 -07:00
Fernando Marichal dadb1d6a87
Price section - Small refactor and style fix (#34558)
* Fix modal

* Add method sanitizePrice to `useProductHelper`

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

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

* Add changelog

* Add sales validation

* Add sale price validation

* Fix regularPriceProps

* Set list price when it's empty

* Fix Sale price validation

* Check empty regular_price

* Small refactor to use-product-helper

* Remove method `maybeSetRegularPrice`

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2022-09-15 10:56:33 -03:00
Luigi Teschio b50f651129
Update WooCommerce blocks package to 8.5.0 (#34654) 2022-09-15 05:37:19 -07:00
Kathy c7fc3c51c2
Filter is_purchasable when getting cart item from session (#26179)
* Add filter woocommerce_cart_item_is_purchasable when getting cart item in session

* Add changelog.

* Do not migrate orders in auto-draft.

* Add $product to filters for convinience.

* Add changelog.

* Revert "Do not migrate orders in auto-draft."

This reverts commit 614586d0c4.

* Also add product param in new filter.

* fix docblocks.

* more docblock fixes

Co-authored-by: Vedanshu Jain <vedanshu.jain.2012@gmail.com>
2022-09-15 09:10:02 -03:00
Vedanshu Jain f534823f6d
Use localised time when displaying order date. (#34687) 2022-09-15 12:05:28 +02:00
RJ 828f66a54f
Added tracks for mobile welcome modal (#34670) 2022-09-15 16:26:43 +08:00
Néstor Soriano 2b8d1fbe11
Add the AccessiblePrivateMethods trait (#34019)
This trait allows to mark private and protected methods as externally
accessible. There are also utility add_action and add_filter methods
that mark the method as accessible and use it as callback in one
single step.

Additionally, all the classes that were hooking to private methods using an
anonymous function in the 'src' directory are changed to use the new
AccessiblePrivateMethods trait instead, thus they can be unhooked now.
2022-09-15 09:24:35 +02:00
Gan Eng Chin b73b2fff0a
Set multichannel-marketing feature flag to `true` in `core.json` (#34683) 2022-09-15 14:59:32 +08:00
RJ 29e70faf0f
fix: handle mobile app wrong user connection for mobile app modal (#34653) 2022-09-15 12:10:05 +08:00
RJ 641bdabc5e
Add: get mobile app task in additional tasks (#34651) 2022-09-15 12:06:03 +08:00
RJ 6e2ada3706
Add: mobile app welcome modal and magic link (#34637) 2022-09-15 11:58:47 +08:00
Corey McKrill a0768a086c
REST API: Add include_meta and exclude_meta params for orders and products (#34478)
Introduces two new collection params for v2 and v3 orders and products REST API endpoints. These params allow for limiting which meta keys are included in the meta_data property of the API responses.

Fixes #34243
2022-09-14 16:02:43 -07:00
Wojciech Zięba 361437c785
Add mobile messaging to new order emails (#34467)
For email notifications to store owners about new orders, adds messaging with deep links to open the orders directly from the Woo mobile app when the new order meets certain criteria. If the store owner has not yet used the Woo mobile app, instead provides a link to download the app.

Fixes #34544 

Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
2022-09-14 16:00:47 -07:00
louwie17 868b335aee
Fix remote inbox notification showing up for wrong country (#34632)
* Only run remote inbox notification once onboarding has been skipped or completed

* Add callback for add_option for profiler as well

* Add changelog

* Add extra condition to check if store address or country has actually been set

* Update rule to check if default location is set, if so return false

* Revert initial changes and update changelog description

* Added tests and updated logic a bit

* Add comment for long condition
2022-09-14 16:31:25 -03:00
AnnaMag 01925e61e3
Reintroduce JITMs in the WC Admin. (#34383)
* Add JITMs

* Fix styles

* Remove styles

* Add changelog.

* Add notice-list div

* Move hidden jitm style

* Move hidden jitm style

* Fix style

* Fix `margin-right`

* Remove `important`

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2022-09-14 13:05:54 -03:00
Barry Hughes 012a8b4655
Prevent fatal errors during uninstall (#34469)
We need to bootstrap WooCommerce during uninstall to prevent fatal errors when `WC_REMOVE_ALL_DATA` is true.
2022-09-14 08:44:01 -07:00
Jorge A. Torres 2d3aa4fd45
Redirect new/edit/delete URLs from CPT implementation to COT (#34644)
Redirect legacy/CPT admin order URLs when Custom Order Tables are enabled.

* Add utility method to generate a link to the orders screen

* Add `PostsRedirectionController` to handle redirection from CPT-based URLs to new ones

* Use the redirections controller inside the orders screen PageController

* Add changelog

* Add check for COT enabled before enabling redirection controller

* Add support for trashing orders

* Update changelog

* Take into account ‘shop_orderplacehold’ when redirecting

* Correctly handle bulk actions
2022-09-14 08:42:48 -07:00
Peter Fabian 61e1cde33a
Fix/34667 (#34671)
* Add check for when the styles filter is used unexpectedly.

* Changelog
2022-09-14 09:52:47 -03:00
Gan Eng Chin 4b4b5f36e2
Feature integration: UI Revamp on Marketing Page (#34642)
Co-authored-by: Nima <nima.karimi@automattic.com>
Co-authored-by: Nima Karimi <73110514+nima-karimi@users.noreply.github.com>
2022-09-14 15:43:30 +08:00
Roy Ho 18e22dfac4
Prep trunk post 6.9 release (#34660) 2022-09-13 16:19:49 -07:00
Roy Ho 12af191888
Update mailer logic (#34659) 2022-09-13 15:32:35 -07:00
Tam Mullen 3e85dde082
k6: Update existing tests for COT (#34582)
* Update k6 tests to remove linting errors, replace custom metrics with tags, and add ability to run against COT

* Added changelog

* Updated readme for new k6 perf config variables & removal of custom metrics

* Updated k6 tag names
2022-09-13 12:40:28 -07:00
Maikel David Pérez Gómez 5e57471c5a
Collapse the short description module by default (#34619)
* Collapse the short description module by default

* Add a descriptive tooltip to description and short description editors
Product description editor shows a tip text that clarify the purpose of the editor
Product short description meta box title shows a tip text that clarify the purpose of the editor

* Add changelog file

* Add translatable text to short and description of the product
2022-09-13 11:23:25 -03:00
Barry Hughes f9a27d380f
[COT] Fix editor trash link (#34483)
Ensure move-to-trash link (within the COT editor) works as expected.
2022-09-13 11:58:36 +02:00
RJ bae061a421
dev: change webpack config to use asset modules instead of custom loaders (#34649)
- asset modules are a new webpack 5 feature that handles inlining or extracting resources
2022-09-13 17:40:56 +08:00
Peter Fabian 4eccddf140
Remove foreign key from the wc_download_log table (#34318)
* Remove the FK from the download log table.

It's unnecessary and forces InnoDB engine.

* Delete also related download logs.

To replicate the FK behaviour.

* ON DELETE CASCADE in PHP

* Changelog.

* Bump the version when this will be included.

* Fixed missing select in subquery.

* Fix copypasta error.

* Remove accidentally added file.

* DRYing.

* Bracketing.

* Slight refactor to make it easier to read.

* Remove the FK from the download log table.

It's unnecessary and forces InnoDB engine.

* Delete also related download logs.

To replicate the FK behaviour.

* ON DELETE CASCADE in PHP

* Changelog.

* Bump the version when this will be included.

* Fixed missing select in subquery.

* Fix copypasta error.

* Remove accidentally added file.

* DRYing.

* Bracketing.

* Slight refactor to make it easier to read.

Co-authored-by: Nestor Soriano <konamiman@konamiman.com>
2022-09-12 10:42:39 +02:00
RJ d191ecc275
fix: set shipping defaults when address details not filled out (#34610) 2022-09-12 11:46:40 +08:00
Barry Hughes 03b9032de8
Coupons Controller → Import `Exception` class. (#34562)
Import `Exception` class.
2022-09-09 14:24:13 -07:00
Barry Hughes d375c3b609
[COT] Bulk actions for trashing etc (#34425)
Implement trash/untrash/delete permanently bulk actions for COT admin list table.

Co-authored-by: Nestor Soriano <konamiman@konamiman.com>
2022-09-09 12:04:42 -07:00
Vedanshu Jain 657dceaba1
Update post directly to update correct post_modified value (#34611)
Update post directly to update correct post_modified value.

If we use wp's update_post function, then it will set the post-modified date to current time(). This is not desirable when backfilling order data where we want post data to be exactly the same as orders.

* Add changelog.

* Added protections and code standard fixes.

* Use wp_update_post so that hooks fire as usual.
2022-09-09 10:28:24 -07:00
Roy Ho 232d26846a
Remove/assets (#34633)
* Remove legacy assets source files from distribution

* Remove assets source files from distribution
2022-09-09 10:20:25 -07:00
Vedanshu Jain 1f2fc60a04
Add and use ON_DUPLICATE_KEY update function to perform update/insert (#34590)
* Add and use ON_DUPLICATE_KEY update function to perform update/insert without additional query.

* Fix typo

* Add more tests for save related functions.
2022-09-08 14:58:36 -03:00
Daniyal Ahmed d425d9374c
Update form-login.php (#34537)
* Update form-login.php

Fix #31742

* Add changelog

Co-authored-by: Jorge A. Torres <jorge.torres@automattic.com>
2022-09-08 14:04:25 -03:00
Barry Hughes 93a82c3f3e
Customer Notes for COT (#34477)
* Support customer notes within COT orders.

* Support setting customer notes from the COT editor.

* Changelog.
2022-09-08 09:39:08 -03:00
Paul Sealock fa2e7f7e96
Version Bump: Add CLI utility (#34555) 2022-09-08 19:48:01 +12:00
RJ 52ba69d712
fix: add tracks for shipping default settings tour (#34601) 2022-09-08 12:39:53 +08:00
Christopher Allford 341880b79b
Fixed Asset Output Caching (#34606)
This updates Turborepo and adjusts the output caching for `woocommerce/client/legacy` and `woocommerce/client/admin`. The result is that build outputs in `plugins/woocommerce/assets` should be stored correctly.
2022-09-07 13:57:15 -07:00
Gan Eng Chin a197622df1
Replace Facebook icon (#34592)
* Replace facebook icon.

* Use facebook.svg file instead of duplicating svg.

* Add changelog.
2022-09-07 22:45:05 +08:00
Matt Sherman beb6a6f4c7
Fix product list price help label to properly reflect tax settings (#34564)
* Fix product list price tax included help label

* Add changelog entry for products list price help label.
2022-09-07 09:33:12 -04:00
Timstreep 966cff5e7a
Update listing content (#34587)
Adding changes to improve search discovery for important ecommerce-related keywords such as 'product pages' and 'online store'.
2022-09-07 13:43:49 +02:00
aezazs-multidots f9642fedc8
fix-marketing-slider-image-size (#34589) 2022-09-07 16:32:46 +08:00
Chi-Hsuan Huang a2cfc2f1f5
Update get_product_data to send request with a locale query param for translation (#34461)
* Update get_product_data to send request with a locale query param for translation

* Add changelog

* Fix lint

* Update PRODUCT_DATA_TRANSIENT format for translations
2022-09-07 16:28:44 +08:00
Siddharth Thevaril 105355f967
[COT] feat/34436: implement column_default for ListTable (#34445)
* implement column_default for ListTable

* set priority to 0

* Add changelog

Co-authored-by: Jorge A. Torres <jorge.torres@automattic.com>
2022-09-06 20:45:52 -03:00
Vedanshu Jain 646c2636e4
Add more indexes (and remove wc_orders.id auto_incr) for performance (#34588)
* Performance tune database.

* Add changelog.
2022-09-06 20:14:20 -03:00
Fernando Marichal ff0430d847
Fix recording events without props (#34595)
* Fix tracking events without props

* Add changelog

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2022-09-06 16:37:31 -03:00
Maikel David Pérez Gómez e2afc5c13d
Validate that tinymce exists before using it. (#34551)
* Validate that tinymce exists before using it.
If wp is not configured to use blocks and the tinymce was changed by a different editor then the error happends because tinymce is required. Applaying a validation that makes sure tinymce exists before using it solves the problem. But this introduces a new problem, the description property will be send with value 'No' when event 'product_update' will be fired.

* Add changelog file

* Check if tinymce.get( 'content' ) is not falsy before calling getContent()
2022-09-06 15:37:18 -03:00
Matt Sherman c87d3c68cb
Products pricing section code cleanup (#34560)
* Switch to formatAmount from formatCurrency

* Rename priceValidation to sanitizeAndSetPrice

* Swap order of name, value args in sanitizeAndSetPrice
2022-09-06 10:48:50 -04:00
Tomek Wytrębowicz a86e387667
Update/unify jest@27 across all packages (#34322)
* Update `jest-puppeteer@5.0.4` (from `4.4.0`)

to be albe to run with jest 28.

* Update `jest` and `ts-jest@^27` (from `25`),

to match `e2e-environment` needs.

* Update api-core-tests' `jest@^27` (from `25`),

to unify the used version across the stack.

* Update e2e-env's `jest@^27` & co.  (from `25`),

to unify the used version across the stack.

* Update e2e-env's `@jest/test-sequencer@^27`  (from `25`),

to unify the used version across the stack.

* Update admin-e2e-tests' `@jest/globals@^27`  (from `26`),

to unify the used version across the stack.

* Update woocommerce's `jest@^27.5.1`  (from `25`),

to unify the used version across the stack.

* Replace `mocked` from `ts-jest` to the one from `jest`,

Update `@types/jest@27.4.1` from `27.0.2`.
Try to fix broken tsc build.

* Update `e2e-core-tests`' `@jest/globals@^27.5.1`

from `^26.4.2`.

* Remove changelog entry for bumpin jest in `api-core-tests`

It was already covered in `trunk`.

Addresses https://github.com/woocommerce/woocommerce/pull/34322#discussion_r956019567

* Updated package-lock.yaml

* Updated timeout

* Added changelogs

Co-authored-by: jamelreid <jnoelreid@gmail.com>
2022-09-06 09:29:45 -05:00
Damon Cook 8b1a105f39
Fix Button block markup for Onboarding homepage (#33966)
* Fix Button block markup for Onboarding homepage

* Add changelog entry

Co-authored-by: Vedanshu Jain <vedanshu.jain.2012@gmail.com>
2022-09-06 15:27:59 +05:30
Christopher Allford 6457348a97
Validate React Admin Changelog Files (#34520)
This maps the changelog command of the React Admin in order to ensure that they're validated and able to be added.
2022-09-05 13:02:00 -07:00
github-actions[bot] 59ee9418e7
Delete changelog files based on PR 34543 (#34577)
Delete changelog files for 34543

Co-authored-by: WooCommerce Bot <no-reply@woocommerce.com>
2022-09-04 16:45:15 -07:00
github-actions[bot] 06da4144d0
Delete changelog files based on PR 34443 (#34575)
Delete changelog files for 34443

Co-authored-by: WooCommerce Bot <no-reply@woocommerce.com>
2022-09-04 16:43:24 -07:00
github-actions[bot] c0e1b1abb4
Delete changelog files based on PR 34495 (#34573)
Delete changelog files for 34495

Co-authored-by: WooCommerce Bot <no-reply@woocommerce.com>
2022-09-04 16:40:38 -07:00
github-actions[bot] 9345d34164
Delete changelog files based on PR 34455 (#34571)
Delete changelog files for 34455

Co-authored-by: WooCommerce Bot <no-reply@woocommerce.com>
2022-09-04 16:37:35 -07:00
Tom Cafferkey e478f1a286
Bump WooCommerce Blocks to 8.3.2 (#34543) 2022-09-04 16:32:52 -07:00
Brian b82638c131
Liechtenstein Checkout: Hide Municipality Field with empty states array (#34189)
empty states array for liechtenstein
2022-09-02 13:20:28 +02:00
berislav grgičak ca91250b2e
Add WooCommerce header to WooCommerce.com requests (#33927)
* Add WooCommerce header to WooCommerce.com requests

* Remove duplicate user-agent

* Add header to suggestions request

* Add missing comma
2022-09-02 11:12:52 +02:00
Fernando Marichal 30151a6cf7
Add `recordEvent` validation to Tracks package (#34005)
* Add `recordEvent` validation

# Conflicts:
#	packages/js/tracks/package.json

* Convert tests to ts

* fix error message

* Add console.error message

* Fix `validateEventNameAndProperties`

* Add changelog

* Add validation method

* Fix tests

* Fix package

* Move changelog

* Add changelog

* Fix type

* Move env definition

* Fix tests

* Fix condition

* Fix regex and tests

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2022-09-01 13:34:42 -03:00
Peter Fabian 834d4945ad
Update Guernsey state field to non-required (#34500)
* Update Guernsey state field to non-required

Resolves woocommerce#32876 by making GG state field entry non-required.

* Update Guernsey state field with correct label

Based on https://en.wikipedia.org/wiki/Guernsey#:~:text=Guernsey%20(%2Fˈ%C9%A1ɜ%CB%90rn,Guernsey%2C%20a%20British%20Crown%20Dependency.&text=It%20is%20the%20second%20largest,west%20of%20the%20Cotentin%20Peninsula it looks like the state equivalent for GG is to "Parish" so rather than hiding the field entirely, it makes more sense to make it optional, and add the correct label.

* Added changelog.

Co-authored-by: Rynaldo <89896100+rynaldos@users.noreply.github.com>
2022-09-01 18:19:43 +02:00
Moon b4b7b4c329
Update/34540 add walmart and wish to store list (#34541)
* Add Wish and Walmart to the platform options

* Add changelog
2022-09-01 09:11:42 -07:00
Matt Sherman cf37a5dcfb
Use label prop on sale price input instead of separate label element (#34532)
Use label prop on sale price input instead of separate label element.
2022-09-01 11:09:22 -04:00
Vedanshu Jain 345f250a58
Add util methods to get order edit and create URLs (#34499) 2022-09-01 15:58:07 +02:00
Ilyas Foo 5af66c4b1e
Remove set up store details note (#34515)
* Remove CompleteStoreDetails note

* Changelog
2022-09-01 09:53:51 +08:00
Dharmesh Patel 9e9b4ef844
[COT] Fix error during apply coupon when COT enabled. (#34498)
* implement coupon held methods.

* Add changelog file.

* Used `delete_meta_data` of WC_Coupon and cleared meta cache after  adding coupon held meta.

Co-authored-by: Vedanshu Jain <vedanshu.jain.2012@gmail.com>
2022-08-31 15:21:22 +05:30
Chi-Hsuan Huang e687a48abf
Update dependencies and jest config to pass admin tests for pnpm 7 (#34428)
* Update @wordpress/data version to ^6.15.0

* Update jest.config.js to transform is-plain-obj js

* Update pnpm-lock.yaml

* Add changelog

* Add babel configs and update jest config

* Update tsconfig.json to exclude babel.config.js

* Add missing @types packages

* Add changelog

* Update pnpm-lock.yaml

* Update pnpm-lock.yaml

* Fix DateTimePickerControl type errors
2022-08-31 12:06:51 +08:00
Moon 2a455d1bdc
Add missing styles for the progress header (#34521)
* Add styles for the progress header

* Add changelog

* Fix invalid header error from the changelog -- this file is not related to this repo, but I am still fixing it since it is not passing the gitflow job
2022-08-30 20:35:39 -07:00