* Move `*_extra_tablenav` hook, introduce equivalent to `restrict_manage_posts` for parity with CPT order list.
* Changelog.
* Add `since` tag to filter docblocks
Co-authored-by: Jorge A. Torres <jorge.torres@automattic.com>
* Add changelog
* Add pagination to variations list
* Apply styles for pagination paddings and to keep it at the bottom of the section card
* Returning back per page option from 2 to 25
* Fix pagination label text from uppercase to normal and font styles
* Update variation footer gap
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Add pinterest to OBW
# Conflicts:
# plugins/woocommerce/src/Internal/Admin/RemoteFreeExtensions/DefaultFreeExtensions.php
* Switch the alt data
* Add changelog
* Update copy
* Allow `wc_get_order_types()` to return list of order types that have UI
* Make `PageController` register menu items for all order types required
* Make `PageController` URL generation aware of order types
* Make `ListTable` order type aware
* Make `Edit` order type aware
* Add support to `wc_get_page_screen_id()` for order types
* Make `PageController` order type aware
* Include custom order type screens as WC screens
* Make `get_base_page_url()` in `PageController` public
* Make sure Trash links use the correct URL
* Gather request vars in `$request` in list table
* Add some order type specific filters to ListTable
* Fix wrong reference to orders per page in ListTable
* Make ListTable columns work in all screens
* Make PHPCS happy
* Minor PHPCS fix
* Add changelog
* Set page hidden form field based on the order_type (#35751)
* Add ‘woocommerce_order_list_table_extra_tablenav’ hook
* Fix PHPCS warnings
* Make `wc_get_page_screen_id()` datastore aware
* Make `WC_Admin_Assets::is_order_meta_box_screen()` aware of HPOS screen IDs
* Remove unnecessary `$context` arg from `wc_get_page_screen_id()`
* Add support for custom order types to `PostsRedirectionController`
* Make PHPCS happy
* Only connect COT admin page when COT is enabled
* Properly filter out empty status in ListTable
* Fix warning due to uninitialized var
* Do not rely on `wc_orders_count()` for counting orders in `ListTable`
`wc_orders_count()` assumes that order types correspond to a datastore’s object type, which isn’t necessarily the case, producing incorrect results.
Until this is addressed, it’d be best not to rely on it for types other than orders.
* Improve performance for status counts in ListTable
* Fire both order-type specific and generic hook for default column in ListTable
Co-authored-by: bruce aldridge <bruce.aldridge@automattic.com>
* Add exit settings page tracker
* Add exception for when user hits the save button
* Update settings and add icon support
* Add changelog
* Add dismiss track for when user dismisses CES modal
* Add changelog
* Add tests for staticFormDataToObject function
* Fix imports of test file
* Remove CSS that hides the 'Remove' button for product attributes
* Add default placeholder title 'Custom attribute' when user adds a new attribute
* Add changelog
* Add missing esc_html_e
* Try to fix PHPCS
* Add placeholder value for Attribute name input
* Add css and logic to make placeholder title have opacity and remove opacity class after user types the attribute name at the input
* Update placeholder value
* Fix wrong labels
I added e.g. Fabric or Brand to the wrong place.
* Add product variations section
* Add variations list
* Add util to get product stock status
* Add variation specific attribute type
* Add currency code to header column
* Fix up variations header width
* Add variations loading state
* Add changelog entries
* Convert spaces to tabs
* Fix status typo
* Fix up return type for stock status
* Add product form tabs to layout
* Move product sections to respective tabs
* Add tab styling
* Add changelog entry
* Scroll to top on tab change
* Update font weight on active or inactive tabs
* Add blank EOL
* Product import: Remove line breaks in keys
Remove line breaks in keys, to avoid mismatch mapping of keys.
* Fix syntax
* PHPCS
* Changelog.
Co-authored-by: barryhughes <3594411+barryhughes@users.noreply.github.com>
* Add exit page tracker logic and implement it for product pages
* Add changelog
* Fix lint errors and add comments
* Add ces_location prop
* Add mock to fix broken test
* Add CES exit page survey tests
* Fix a bug with React pages redirects and update actions
* Fix test
* Fix lint
* Add default inside location prop
* Remove exit prefix within action
* Address PR feedback and make sure its not triggered on save
* Update copy of exit feedback notice
* Add changelog
* Update name of param
* Fix lint error
* Use hasFinishedResolution vs isResolved in customerEffortScoreTracks
* Make set_order_props_from_data() protected
This enables 3rd parties that extend the order datastore and need to set their own data. For example, Subscriptions
* Add changelog entry
* return set_order_props_from_data to private visibility
* Make init_order_record and get_order_data_for_ids protected
Following feedback here: https://github.com/woocommerce/woocommerce/pull/35829#issuecomment-1340528244
* Update changelog entry
Co-authored-by: mattallan <matt.allan@automattic.com>
* Fix payment instruction location in on-hold email
* Update template version tags.
* Changelog.
* Update version tag to 7.3.0.
* Update version tag to 7.3.0.
Co-authored-by: barryhughes <3594411+barryhughes@users.noreply.github.com>
* Make linter happy by (very painfully) introducing Yoda conditions.
* Change how the COT related tools work combined with the COT feature.
- Enabling the feature will now automatically create the tables
if they don't exist already.
- In fact, enabling the feature is now the only way to create the tables.
- The "Delete tables" tool will be shown as disabled in the feature
is enabled.
* Add changelog file
* Fix code sniffer issues
Do not try to query for orders by type, if no order types are registered.
If DataSynchronizer::get_current_orders_pending_sync_count() is called very early in the request then order types may not yet have been registered. This can for example happen during plugin activation/installation.
* Add help tip to Product galery meta box
* Changelog
* Remove admin_post_thumbnail_html filter from product screen
* Add jQuery to append a tooltip after 'Set product image'
* Add dynamic upload size
* Add guard in case setPostThumbnail doesn't exist
Refactor jQuery code for simplicity
* Run phpcbf
* Fix php linting
* Run lint again
* Make both tooltips with jQuery
Refactor DOM manipulation code
Remove PHP implementation
* Change span tabIndex to 0 to allow focus on screen readers
* Move code to meta-boxes-product
* Add descriptive comment on jQuery code that adds tooltips
* Add @babel/plugin-proposal-class-properties to run storybook
* Add @babel/plugin-proposal-class-properties to webpack config and remove storybook env from babel config
* Add changelog
* Update plugin activation check
This is refactored to test the plugin state instead of checking the API call result.
This is because WordPress can return an error despite the plugin activating correctly. The `unexpected_output` error, in one such case, when WordPress detects stray output upon activation. To workaround this, the plugin is checked for its active status directly.
* Add tests
* Add changelog
* Fix lint issues
* Extract new component 'ProductForm', to reduce duplicated code between add-product-page and edit-product-page
* Add changelog
* Try to merge add-product-page and edit-product-page into a single product-page: running into some issues probably with the controller
* Revert "Try to merge add-product-page and edit-product-page into a single product-page: running into some issues probably with the controller"
This reverts commit bc30b67ef2.
* Fix REST API orders query when HPOS is used
The query wasn't working properly when 'search' or 'parent'
query string arguments were used and HPOS was enabled.
* Add changelog file
* PHPCS fixes.
Co-authored-by: barryhughes <3594411+barryhughes@users.noreply.github.com>
* Add ability to show CES modal through share Feedback button
* Make use of showCesModal in footer
* Update CES action for share feedback
* Update changes to support second CES question
* Add changelog
* Address some PR feedback
* Add product mvp ces footer
* Add changelog
* Reset action option name after CES action
* Make sure we make use of cesAction
* Add close button
* Fix formatting
* Fix css styling issues
* Add icon to success notice
* Add product mvp CES hook and modify logic a little bit
* Update the CES product action name
* Address PR feedback and fix styling for smaller screens
* Add second question to CES product footer and update options
* Add changelog
* Fix lint error
* Fix tests
Even if these are set to the same value (and so the quantity cannot be changed--which results in a readonly quantity selector) we must output them for compatibility with code (example: Composite Products) that expects them to always be present.
* Update wc-account-functions.php
Correct order of single/plural translation strings to prevent confusion with translations and translators.
* Changelog.
Co-authored-by: barryhughes <3594411+barryhughes@users.noreply.github.com>
* Fix Protected Directory Admin Notice
- make notice actually close when clicking "Dismiss"
- make unprotected directory detection smarter: not every /woocommerce_uploads/ page with content is a directory listing
* Unwind the change made to method `is_uploads_directory_protected()`.
Discussion here https://github.com/woocommerce/woocommerce/pull/33544/files#r910253861 relates. In essence, we felt it better to have more warnings prompting the user to evaluate if the directory is protected, than fewer warnings with an increased change of not flagging actual problems.
* Add changelog.
Co-authored-by: barryhughes <3594411+barryhughes@users.noreply.github.com>
* Add updated versions of sr-only and not-sr-only mixins
* Improve element stacking in modals on tablet and mobile
* Add comment suggestion
* Change sr-only for screen-reader-only which is more descriptive
* Record an event 'product_view_product_click' when the 'View Product' link is clicked after creating or updating a product
* Add product_view_product_dismiss tracks events (WIP, not currently working)
* Add changelog
* Fix whitespace in addEventListener and remove console.logs
* Change link tag id to be more specific and comply with CSS guidelines
Move HTML code out of translation function
* Run phpcs in class-wc-admin-post-types
* Add tinyMCE types to add global tinymce variable in typescript code
* Add additional data in getProductData
TODO: I'm not sure if it's possible, or if it makes sense, to include stock_quantity_update in the object
* Add code review suggestions, including:
* Create isElementVisible function to backfill jQuery implementation
* Fix wrong value for is_downloadable, is_virtual, manage_stock
* Fix wrong radix
* Update menu_order implementation
* Add missing ? to weight
* Add stock_quantity_update implementation which is not working as intended
Since the page reloads after product update, the initialStockValue is updated as well
* Remove stock_quantity_update property and adjust is_downloadable, is_virtual, and manage_stock for consistency
* Currency symbol is fixed on the left side of the price input field
* Currency symbol has a different color from the input field value (Gutenberg-700)
* Input value is aligned right
* On focus, we highlight the field's content so the user can quickly clear or overwrite the placeholder text
* On focus, the user can press the up and down arrow keys to increase or decrease the value by 1
* Add changelog
* Remove unnecesary stepUp function
* Add a blank space between the emoji and the message within a notice popup
* Apply comment suggestions
* Remove duplicated text in the snackbar message after publishing a product
* Add support for product attribute taxonomy template
* Add tests
* Add changelog
* Fix format
* Improve changelog
* Add current version to the template
* Add tests for product attribute
* Fix template version
* Fix linting errors
* Refactor tests
* Fix linting errors
* Improve test
* Add comments and fix test
* Fix linting errors
* Fix tests by creating product attribute
* Improve formatting and add return type
* Bump template version to the correct release
* Update product title in smaller viewports
* Move secondary product actions to menu group on mobile
* Hide settings menu on smaller viewports
* Add changelog entry
* Make sure the WooCommerce page hook is untranslated
This works around a WP core bug, and addresses compatibility issues where WC core or 3rd party code expect the pagename or screen ID for one of our submenu pages to remain fixed despite translations.
* Add changelog
* Make PHPCS happy
Fix attribute taxonomy sort order meta key for improved consistency.
* whoops - close array for order meta key update
* Changelog.
* Update phpcs annotation.
Co-authored-by: barryhughes <3594411+barryhughes@users.noreply.github.com>
Add $formatted_destination as an argument to the woocommerce_cart_no_shipping_available_html filter.
Developers should be able to access the $formatted_destination variable directly in order to return a new string to the filter including that address.
* Add docblock and changelog for woocommerce_cart_no_shipping_available_html tweak.
* Bump version tag for cart-shipping template.
Co-authored-by: barryhughes <3594411+barryhughes@users.noreply.github.com>
* Mark note as read when viewing
* Show unread note count
* Add ability to fetch read or unread notes
* Count unread notes on server side to avoid pagination limits
* Add changelog entry
* Add data changelog entry
* Add check for note actions before checking length
* Add changelog entry
* Mark note as read after 3s delay
* Consolidate country data
* update test data
* remove upper case files
* remove upper case files
* remove upper case files
* update country data tests
* countries states updates for local
* revert settings-crud.test
* Set initial values prop from reset form function as optional
* Fix unsaved modal propmt to not be shown during form submission
* Reset form on save draft and before navigation starts
* Add comments ssuggestions
* Add pre build script to delete assets
* Chain the script instead
* Add the cleanup dependency to turbo config
* Add assets cleanup for build zip command
* Add initial add new option
* Hook in create attribute modal to add attribute field
* Add unit tests for the create attribute modal
* Add extra test to attribute input field
* Add changelog
* Add custom attribute term input field and support for custom attributes
* Fix tets
* Add track for custom attribute creation
* Fix changes after merge conflict
* Revert one change
* Fix lint error
* Seperate out some logic and make use of null as empty object versus id: undefined
* Add isNewAttributeListItem helper function
* Make use of helper function for create new markup
* Add css class to change the input width based on the screen's width
* Changelog
* Move class from pricing-section.scss to product-page.scss and use breakpoint 960px mixin
* Move className from currencyInputProps to InputControl
* Improve changelog
* Move 'half-width-field' class to currencyInputProps instead of adding it manually for the two currency fields
* Add 'half-width-field' class to SKU and Shipping Class
Sent as a parameter to getInputProps and getSelectControlProps to avoid overwriting any additional className
* Update changelog
* Add experimental open menu when user click the select control input element
* Open categories menu list when the user click the category field
* Fix linter error
* Move open menu from click to focus event
* Fix linter errors
* Add icons
* Add classic editor url
* Remove welcome guide link and icon
* Add initial settings menu
* Fix up button styling
* Move product settings to its own folder
* Remove unnecessary registerPlugin call
* Use number type control for menu order field
* Add tests around product settings component
* Allow reviews by default on all new products
* Alphabetize product properties
* Add changelog entry
* Add data changelog entry
* Convert indentation to tabs
* Fix up scss linting errors
* Remove whitespace
Avoid direct use of $_POST from within the validate_checkout() method.
* Changelog.
* Address some of the undocumented hook errors flagged by our linting check.
This does not address all of the undocumented hooks (there are many in this file), just the ones flagged by the GitHub Actions code sniff check. This is an effort to unblock the PR, which we otherwise cannot merge at present.
* Add missing `@since` tags (satisfy linter).
Co-authored-by: barryhughes <3594411+barryhughes@users.noreply.github.com>
Make it easier to support many payment methods (within My Account > Payment Methods page).
* Update includes/class-wc-payment-tokens.php
Better backward-compatible by @jonathansadowski
Co-authored-by: jonathansadowski <jonathansadowski@users.noreply.github.com>
* Add docblock for new filter `woocommerce_get_customer_payment_tokens_limit`.
* Add changelog.
Co-authored-by: Yehuda Hassine <yehuda@myinbox.in>
Co-authored-by: jonathansadowski <jonathansadowski@users.noreply.github.com>
Co-authored-by: barryhughes <3594411+barryhughes@users.noreply.github.com>
Update the Azerbaijani manat symbol AZN
* Rebase, update currecy symbol (from mathematical pitchfork to manat).
* Add changelog.
* Use Azerbaijani manat symbol instead of similar mathematical character.
* Update data crud test for the AZN currency symbol.
* Update currency settings for API tests.
Co-authored-by: barryhughes <3594411+barryhughes@users.noreply.github.com>
* 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
* Fix up some issues after the rebase
* Some small fixes for the Category creation
* Fix up some styling issues around the add-new-item
* Add changelogs
* Remove unneeded export of toggle button props
* Fix create category error and tests in attribute field
* Fix some minor bugs and styling changes that came up during PR feedback
* Fix tests
* Make use of $gap variable for css
* Add product status badge
* Update status method to return keys
* Add tests around product status
* Add styling to badge
* Add changelog entry
* Change product status keys to enum
* Add enum return type to product status function
* Fix up lint errors
* Convert indentation to tabs
* Move shared product header components to separate file
* Fill header title with product name
* Create method to get product title
* Add tests around title
* Add changelog entry
* Remove unnecessary plugin registration
* Site Editor: Fix WooCommerce icons in the Site Editor
* Site Editor: Fix WooCommerce icons not loading in the site editor.
* Add additional FSE theme check
* Add scheduled sale fields to product form
* Close DateTimePickerControl's dropdown when blurring from input.
* Log when onChange is called for Controlled stories
* Handle when input changes occur but the end date is the same
* Fix DateTimePickerControl usage when uncontrolled
* Fix handling when blur happens before debounced onChange
* Add source param for subscription endpoint calls
- Adds an optional $source argument to the WC_Helper_API::url() method
- Get URL of page making WC_Helper::get-subscripitonts() request and add a
source arg to the WC_Helper_API::get() request made by that method
- Pass that source arg to the WC_Helper_API::url() methd from
WC_Helper_API::get()
* Add changelog file
* Use sripos instead of preg_match in WC_Helper::get_subscriptions()
- Update "source" argument name across methods to "query_string" to be
more generic
- Use separate variables to make it clear the URI of the requesting
page, and the value passed as the source query string are different
* Add @param declaration to function comment
* Address PHPCS issues
Co-authored-by: Jorge A. Torres <jorge.torres@automattic.com>
* updates to allow tests to run against both CI test env and JN
* update customer data file
* comment uddates
* baseURL update
* update settings data
* Update plugins/woocommerce/tests/api-core-tests/playwright.config.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/playwright.config.js
Co-authored-by: Greg <71906536+zhongruige@users.noreply.github.com>
* updates from code review
* remove erroneous space
* remove comments
* updates for Localhost, LocalWP and JN
Co-authored-by: Greg <71906536+zhongruige@users.noreply.github.com>
* Update class-woocommerce.php for 7.2
* Update stable tag in readme.txt
* Update version in woocommerce.php
* Update version in composer.json
* Update version in package.json
Add info on order datastore (and sync) to SSR
* Add changelog
* Make PHPCS happy
* Update plugins/woocommerce/includes/admin/views/html-admin-page-status-report.php
Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
* Remove unnecessary import
Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
Update and correct the symbol for Libyan Dinars.
* Update wc-core-functions.php
* Update settings.js
* Add changelog.
* Update API test `can view all currencies` re Libyan Dinar.
Co-authored-by: barryhughes <3594411+barryhughes@users.noreply.github.com>
* Fix business details tabs when Gutenberg is active
Fix business details tabs when Gutenberg is active
Fix business details tabs when Gutenberg is active
* Add changelog
* add use WP_Error
phpdoc was not using FQCN for WP_Error, however use is preferred to FQCN anyway
Fix: https://github.com/woocommerce/woocommerce/issues/35304
* Revert "add use WP_Error"
This reverts commit ff62deb10020689f96722e10c5c86669a1454125.
* use FQCN in PHPDoc when using FQCN in code
* add changelog
Add filter hook `handle_bulk_actions-woocommerce_page_wc-orders` to the HPOS admin list table.
This is a duplicate of core WP hook `handle_bulk_actions-<SCREEN_ID>` and allows for custom bulk actions to be handled in the context of the admin list table for HPOS orders.
* Add create attribute term modal
* Add back filter missed during rebase
* Add changelog
* Fix lint error
* Address some feedback from PR review
* Prevent first modal from closing if closing the second modal when clicking outside
* Fix double click toolbar behavior
* Fix initial block selection on editor load
* Add placeholder option to RichTextEditor
* Add image and video blocks
* Set toolbar height
* Allow inserter to be shown
* Allow media uploads in rich text editor
* Add changelog entries
* Fix media upload
* Check for existence of selected blocks before checking length
* Pass blocks to avoid race in detecting initially empty blocks
* Add sold individually inventory option
* Add backorder purchase options
* Add margin around collapsible content areas
* Add changelog entry
* Add tests around inventory section
* Fix up checkbox props after rebase
* Check for disabled track quantity toggle
* Update manage stock test
* Fix nested radio control label margin
Ensure the HPOS/COT order status correctly tracks the CPT order status (during manual order creation).
* Linting.
* Address coding standards (no need to prepare the query when there are no placeholders).
* Woops! Restore use of `$wpdb->prepare()`, add phpcs:ignore rule.
* Changes in the plugin-feature compatibility warnings:
- Show only active plugins in the "Incompatible with..." plugins view
- Show an empty page when the view is loaded and no Incompatible
plugins are active (instead of listing all the existing plugins)
* Add changelog file
* Also support syncing for HPOS with stats table.
* Add changelog.
* Fixup.
* More fixup.
* test commit by disabling importing admin test orders.
* Update get_items to work with HPOS.
* Modify tests to assert against invalid result.
* test commit for ci.
* Remove seperate test as its quite slow.
* Applied coding standards.
* Coding standards, part 2.
* Check order type is set before returning to prevent notice.
* Applied code standards.
* Remove type declaration since its not consistent with CPT datastore.
* Switch to a yoda condition (satisfy required linting check).
Co-authored-by: barryhughes <3594411+barryhughes@users.noreply.github.com>
* Add product description title to classic product editor
* Remove bottom margin as its already added by the parent element
* Add changelog
* Update css and name, also fix some lint errors
* Fix spacing
* Override filter_meta_data method, since it should be a no-op anyway.
* Add changelog.
* Not include address indexes from filtered data.
* Applied coding standards.
* Updated COT plugin used to set up the local environment with COT enabled.
* Enable HPOS in the e2e environment using env var (#35057)
* Updated COT plugin used to set up the local environment with COT enabled.
* Used env var to enable HPOS
* Disable HPOS for performance tests
* Updated permissions
* Set ENABLE_HPOS to 1
Co-authored-by: Alex López <alex.lopez@automattic.com>
Co-authored-by: Jamel Noel Reid <MrJnrman@users.noreply.github.com>