* Refactor `MerchantEmailNotifications`
* Rename `NotificationEmail`
* Add changelog
* Add folder `Notes` to `Internal`
* Moved folder and the namespace was renamed
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
The table creation and filling was happening in a data migration, but
data migrations only run when WooCommerce is upgraded, not on a
clean install. Also, the option for using the lookup table
wasn't being set after a clean install (when the table has been created
and is empty since there are no products yet).
As part of the fix the table is added to the list of WooCommerce
core tables, and thus it's covered by the "Verify base database tables"
tool.
* Add psr-4 for the internal classes -- this is a temp. changes. We should remove it once we completely merge to the core
* Register class aliases
* Move WcPayPromotion classes to the internal
* Ignore namespace PHP CS issue
* Make features/WcPayPromotion internal
* Added src-internal directory for Automattic\WooCommerce\Internal\Admin namespace
* Moved src/Features/WcPayPromotion to src-internal/Admin/WcPayPromotion
* Add phpcs rules for src-internal
* Remove phpcs:ignoreFile
* Update letter case to make it PSR4 compatible
* Fix letter cases
* Move the alias array into the function
* Rename WcPayPromotion to WCPayPromotion (letter case update)
* Include src-internal
* Update letter case
* Move src/Features/RemoteFreeExtensions to src-internal/Admin/RemoteFreeExtensions (https://github.com/woocommerce/woocommerce-admin/pull/8311)
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
Two new tools are added in the Status - Tools section:
- "Abort the table regeneration" - this one shows up if a regeneration
process is in progress. Running it will remove the "regeneration
in progress" option and set the "regeneration aborted" flag, it also
removes any pending regeneration step scheduled action.
- "Resume the table regeneration" - this one resumes the regeneration
process by setting the "regeneration in progress" option, removing
the "regeneration aborted" option, and scheduling a new regeneration
step action.
* Add hook reference README
* update hook reference
* better
* changelog
* add pr number
* remove example
* add desc
* add stats
* jsdoc REPORTS_FILTER
* Category configs
* configs
* data
* dashboard
* dashboard charts
* save
* save
* save
* done with filters
* Add scope to slotFill docs
* data
* add all slotfills
* data
* Fix error when scope is not present, and make use of typedef imports
* Move chart and filter jsdoc definitions to the reports index file
* Update hook reference data.json
* Make use of import for filter typedef and address some typos
Co-authored-by: Lourens Schep <lourensschep@gmail.com>
* Add tracks events for dashboard setup widget load and click
* Add status widget tracks
* Use data attributes to track current and total steps
* Add newline at EOF
* Remove errant console logs
- Rename DBUtils to DatabaseUtils, and register it in the DI container
(instead of having it just contain static methods)
- The tool for the custom orders tables has now two shapes:
"create tables" and "delete tables" (so no regeneration, migration...)
- Not yet used constants and methods from DataSynchronizer removed
- Added missing method comments
* Fix payments extensions displayed below the offline payments options
Add spaces back
* Add changelog
* Remove the snapshot test and update payment gateway render test
* Make sorting compare function as a helper function
* Add business-details step complete track
* Add changelog
* Update tab name and treat each tab as an individual step when trickering tracks
* Add comment
* Fix linting
* Remove unnecessary css selector
* Update goToNextStep param to make it less confusing
* Update jsdoc param
* Retrieve variation name from woocommerce_order_items for deleted products
* Remove test code
* Refactor to use wc_order_product_lookup table
* Identation fix
* Remove link if the variation/product has been deleted
* Add changelog
* Remove (deleted) suffix
* Add (Deleted) suffix in frontend
* First draft of CouponPageMoved::has_(unactioned|dismissed)_note() method changes to avoid get_notes().
* Add static function get_note_by_name( $note_name ) to Automattic\WooCommerce\Admin\Notes\Notes class.
* Use Notes::get_note_by_name() in Notes::get_note_status().
* Use new Notes::get_note_by_name() in CouponPageMoved::has_unactioned_note().
* Use new Notes::get_note_by_name() in CouponPageMoved::has_dismissed_note().
* Add changelog for 7986/8202.
These are intended to improve the performance of the table querying
when there's a lot of products and attributes, see:
https://github.com/woocommerce/woocommerce/issues/31688
The indices will be created during the database migration to v6.3,
regardless of whether the lookup table already existed at that point
or not.
* Add payment_setup track for WooCommerce Payments
* Add WooCommerce Reset Plugin to E2E environment
* Add resetWoComerceState util
* Add state reset before obw test
* Refactor resetWooCommerceState
resetWooCommerceState now makes the HTTP request locally instead of from inside the browser context.
* Update reset functionality
* Add custom settings reset function for onboarding
* Update reset functionality
* Add action-scheduler run helper function
* Fix add section test
* Add plugin removal helper functions
* Fix lint errors
* Fix broken e2e tests
* Add changelog
* Remove unused imports
* Add comment for extra timeout
* Add helper function to wait until button stops moving, incase of animations
* Fix lint error
* Add variable for string used in multiple places
Co-authored-by: Adrian Duffell <9312929+adrianduffell@users.noreply.github.com>
* Support woocommerce_explat_request_args filter to modify ExPlat request args
* Add ExPlat test
* Add ExPlat test for PHP
* Add changelog
* Add doc for the filter
* Fix syntax
* Fix country/region selection not preserved in store details task
* Update store-adress test cases
* Add changelog
* Check alphabets regx for isStateAbbreviation
* Update comments
* Use unknown type for locale
* Add Disable reason
* Override overflow rule for label in select controls in OBW store address inputs.
* Changelog for 7893/8186.
* Rather than specifically override the overflow for store addresss country/region, remove the specific rule that was causing the issue.
* Increase line-height on SelectControl label.
* Restore overflow: hidden rule for profile wizard control label.
* Update changelog for 7893/8186.
* Add package changelog entry for 7893/8186.
* Move plugin installation method to plugin helper
* Add hook to for note addition on install error to JP/WCS note
* Add install scheduler
* Add async request parameter
* Fix up scheduled action errors
* Add route to get installation status
* Add activation endpoints and helper async methods
* Fix errors in plugin activation
* Make job ID null by default
* Add async plugin tests
* Fix install activation error errant method
* Return error codes from API
* Us AS to retrieve jobs instead of transients
* Get plugin status data from AS actions
* Use job ID instead of action ID for scheduling activation
* Add generic activation and installation status endpoints
* Add changelog entry
* Hide store setup widget if user cannot manage woocommerce
* Use task list API to retrieve tasks
* Fix up URL and URL fragments from tasks
* Remove URL assertion on external API response
* Simplify task count and completed count test
* Update tests around widget visibility
* Update step number to be completed count +1
Recently a new admin notice has been added to warn users about the
upcoming PHP 7.2 requirement starting in Woo 6.5. For new installs
this was appearing together with the "recommended PHP 7.2" notice.
This commit removes the "recommended" notice if the new "required"
notice is already being displayed (unless the site is also using
an outdated WordPress version, which is also covered by the
"recommended" notice).
* Replace mysql image with mariadb
This fixes the missing architecture error raised by docker compose
* Update readme.txt
* Add changelog
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
- checkmarks in the stepper component go missing if the first checkmark is hidden
- happens because of html id collision between the checkmarks
- added some randomness to the mask ids
* Use __() to display a generic error message on sample item import rather than passing through the server message because it probably has tags.
* Add changelog for 4314/8173.
* Add support for __unstableHTML option to Snackbar.
* Use __unstableHTML option to display server-side error messages as they come in.
* Update changelog description for 4314/8173.
* Add payment_setup track for WooCommerce Payments
* Add timing props to tracks in onboarding when installing extensions
* Update extension key logic
* Add changelog
* Add tests for extension installation data for tracks
* Add util function for plugin slug parsing
* Only install and activate plugins that are not already active
After a regeneration of the product attributes lookup table finishes
successfully the table usage will be automatically enabled, except
if the regeneration was aborted via the deletion of the
woocommerce_attribute_lookup_regeneration_in_progress option.
* Combine all the .woocommerce-task-dashboard__container .woocommerce-task-card rules in one block.
* Move the .woocommerce-task-card__section-controls text-align center rule up in specificity so it overrides the rule in experimental-list.
Do we need the experimental-list package still?
* Changelog for 7174/8168.
* Expand button to container width and center text rather than centering the entire button in the ellipsis menu.
* Move ellipsis menu button style to _global so it applies, um, globally.
* Update changelog description for 7174/8186.
* Move ellipsis-menu popover button style to package from _global.
* Add components package changelog for Dismiss button in Unreleased section.
- Add the src/Internal/DataStores/Orders, with the appropriate
class files.
- Add an entry in the tools page to initiate the (re)generation
of the table data (does nothing for now).
- Add a new data store class (empty for now).
* Reduce padding around plugin list titles for marketing tools page.
* Changelog for 8164/8171.
* Update plugin list title padding
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Updated frontend email validation to use @wordpress/url
- added testing for StoreDetails
- changed basic email validation to use @wordpress/url isEmail
* Support i18n texts for report chart
* Add changelogs
* Add d3-time-format to date pkg devDependencies
* Fix date php format and add tests
* Add date changelog
* Fix date test
* Escape week of string for php formatter
* Add defaultDateRange argument to getAllowedIntervalsForQuery function for default period value
* Fix incorrect date options when the "Default Date Range" is set
* Add changelog
This commit reverts the deprecation if `is_ajax` that occurred in #31113. It leaves beind the changes to use the native function `wp_doing_ajax` instead.
Add a new filter: woocommerce_attribute_lookup_regeneration_step_size,
it allows to choose how many products will be processed on each
step when the product attributes lookup table is being regenerated,
the default is the previous fixed value, 10.
Also when the regeneration is manually aborted (via deleting the
woocommerce_attribute_lookup_regeneration_in_progress option), the
products - advanced settings section will still allow to enable the
usage of the table, but a warning will be shown because the table
will be in an inconsistent state.
* Fix bin/install-wp-tests.sh for wc >= 6.0.0
* Fix php unit test "test_deleted_coupons" for wc >= 6.1.0
* Update WC_Tests_Reports_Coupons test_populate_and_query test
Fix test
* If applied, this commit will format Line items price in order api
When buying three products at price is 17.17. request /wp-json/wc/v3/orders api will get line_items prices is 17.169999999999998, this is because floating point numbers have limited precision.
* use wc_format_decimal function format line item price on order api
* Use locale labels for store info
* Get address validation errors based on locale
* Fix validation rules based on locale
* Fix up store address in location task step
* Add changelog entry
* Should accept a boolean value for is_visible property with an extension, and only evaluate a set of rules
* Adding changelog
* Moving fix to RuleEvaluator so it applies to other rulesets
* OBW: Move newsletter signup checkbox inside the same Card as the rest of the Store Details form inputs.
* Add changelog entry for 8033/8148.
* Fix changelog format for 8033/8148.
Per the code comment, we were already explicitly assuming draft posts
are "pending". That's fine and shouldn't block us from setting new posts
to auto-draft.
For some operations in the API, like calculating taxes or shipping, it's
helpful to be able to have an order saved in the database. Having an
order object with an ID lets us perform other API actions on that order.
However, we also don't necessarily want these to show up on certain
screens.
Here we adopt the auto-draft status from core WordPress as a way to save
an order as a discrete object while signalling that it's not ready to
action yet.
Suggestions:
* auto-draft might not make sense given that it's used in core. We might
want to use something like `draft` instead.
* We may want to track this separate set of statuses (trash, auto-draft)
in a more official way, so we don't have to copy/paste around the
codebase.
Oops. We can't call $this->prepare_objects_query() unconditionally inside
prepare_objects_query(). This was my fault 🙃b43af2ae16
To explicitly reference the parent implementation, we use `parent::`
* Move WC Pay welcome page from wc-calypso-bridge (https://github.com/woocommerce/woocommerce-admin/pull/8083)
* Add wc-pay-welcome-screen flags
* Add wc pay welcome page from wc calpyso bridge
* Add changelog
* Rename var to pageViewTimestamp to prevent confusion
* Remove unused code
* Make sure hasViewedWelcomePage is a boolean value
* Simplify storeViewWelcome
* Add payments remind me later note (https://github.com/woocommerce/woocommerce-admin/pull/8085)
* Add payments remind me later note
Fix wcpay path
* Add changelogs
* Update src/Notes/PaymentsRemindMeLater.php
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Fix possibly_add_note syntax error
Update Events.php
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Replace flag icon with component and svg background to png (https://github.com/woocommerce/woocommerce-admin/pull/8101)
* Activate promo note after WC Pay is activated (https://github.com/woocommerce/woocommerce-admin/pull/8104)
* Activate promo after wcpay is a\ctivated
* Add changelogs
* Add experimental to promo API path and limit the promo names
* Use ExPlat to render the WC Pay menu conditionally (https://github.com/woocommerce/woocommerce-admin/pull/8115)
* Check ExPlat to render the menu conditionally
* Update the experiment name
* Fix letter case to follow feature class naming convention
* Enable wc-pay-welcome-page feature in core config (https://github.com/woocommerce/woocommerce-admin/pull/8124)
* Use wc_calypso_bridge_payments_dismissed option name to respect the previously saved setting from wp.com
* Missed wc_calypso_bridge_payments_dismissed rename
* Use the existing code to prevent duplication
* Fix warning (https://github.com/woocommerce/woocommerce-admin/pull/8141)
* Change experiment to come after checks (https://github.com/woocommerce/woocommerce-admin/pull/8142)
* Change track path to (https://github.com/woocommerce/woocommerce-admin/pull/8143)
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Replace deprecated wc-admin-settings package
Co-authored-by: Moon <moon.kyong@automattic.com>
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* 2022 theme stylings for product and shop pages.
* Add support for variable products and gallery.
* Add margin to reset button.
* Add support grouped product.
* Disable breadcrumb and add notice styling child.
* Reduce heading size on title page.
* Reduce font-size for content in tabs.
* Fixes for PR 31536 (#31611)
* Set max width to 1000px for shop and products.
* Display breadcrumbs on product pages.
* Remove admin styles.
* Fix result count and ordering control alignment.
* Fix onsale alignment on single product pages.
Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>
Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>
* Avoid unnecessary customer ID retrieval.
* Ignore order count when validating customers.
WC_Customer::get_order_count causes a full table scan without cache.
* Don't get customer names from their last order.
WC_Customer::get_last_order has to scan all _customer_user meta rows.
* Add changelog entry.
* Fix changelog.
* Cache customer ID in Order override classes.
* Check all user roles.
* Added the status field to the GET Coupon(s) API endpoint
* Updated existing unit test for reading coupons from the db
* Updated tests for version 2&3 when fetching coupons
* Update plugins/woocommerce/includes/data-stores/class-wc-coupon-data-store-cpt.php
Co-authored-by: Josh Betz <j@joshbetz.com>
* Update plugins/woocommerce/includes/rest-api/Controllers/Version2/class-wc-rest-coupons-v2-controller.php
Co-authored-by: Josh Betz <j@joshbetz.com>
* Update plugins/woocommerce/includes/rest-api/Controllers/Version2/class-wc-rest-coupons-v2-controller.php
Co-authored-by: Josh Betz <j@joshbetz.com>
* Updated unit test for getters and setters
* Fix indentation
* Fix indentation.
Co-authored-by: Josh Betz <j@joshbetz.com>
Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>