* Add PayFast payment gateway option for sites in South Africa
* Fix PayFast extension in the whitelist
* Configure PayFast from within the task list
* Triggering hook
* Show PayFast payment method at the bottom of the options
* When configuring the PayFast extension set the store currency to ZAR
* Remove withSelect from compose function
* Only do one call to update the settings
* Try: Moving Customers to main Woo Menu (https://github.com/woocommerce/woocommerce-admin/pull/3632)
* Only add onboarding settings on wc-admin pages when task list should be shown. (https://github.com/woocommerce/woocommerce-admin/pull/3722)
* Use cron for unsnoozing admin notes (https://github.com/woocommerce/woocommerce-admin/pull/3662)
* Use wp-cron for admin note snoozing.
* Remove "unsnooze" scheduled action.
* Use correct version.
* Avoid using deprecated method for unscheduling actions.
* Onboarding: Fix toggle tracking events (https://github.com/woocommerce/woocommerce-admin/pull/3645)
* Fix errant wcadmin prefix on event name
* Track the onboarding toggle on the option in case enable_onboarding isn't used
* Move toggle actions to separate function
* Move onboarding actions
* Move onboarding filters
* Move help tab updates to add_toggle_actions
* Only run onboarding actions when enabled
* Onboarding: Add tracks events when profiler steps are completed (https://github.com/woocommerce/woocommerce-admin/pull/3726)
* Add tracks for store profiler step completion
* Record event when profiler is completed
* Ensure continue setup loads the onboarding profiler (https://github.com/woocommerce/woocommerce-admin/pull/3646)
* 'All that include' option removed when input field is empty (https://github.com/woocommerce/woocommerce-admin/pull/3700)
* 'All that include' option removed when input field is empty
Added a control to check that when the input field 'Search by customer name' is empty, the 'All that include' option is not appearing.
* Const name improved
The constant name hasValues was changed to optionsHaveValues (more descriptive)
* Fix select text alignment (https://github.com/woocommerce/woocommerce-admin/pull/3723)
Co-authored-by: Timmy Crawford <timmyc@users.noreply.github.com>
Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
Co-authored-by: Fernando <ultimoround@gmail.com>
Co-authored-by: edmundcwm <edmundcwm@gmail.com>
* Make analytics tables use the site's date format setting
* Use getSetting instead of the wcSettings global
* Use configured date format in coupons analytics table
* Use default date format as fallback in analytics
* Rename downloads table class name
* Added link to "go shopping" button
Onboarding - added a link to the shop page in the "go shopping" button
* Now using core's helper method
* Added esc_url function to shop_url
* woocommerce_get_page_id was replaced by wc_get_page_id
* Mark profiler as complete if previous onboarding install has been handled
* Load features before WC updated hooks
* Add todo note about updating core install check
* Mark payments task complete when payment configured
* Only mark complete when all payments configured
* Only mark payments complete if all payments configured
* Allow installed themes to be installed and activated
* Filter themes on client-side by WC support and currently active
* Run transient deletion hook during REST requests
* Delete transient on theme switch for non-admin requests
* Don't truncate table data on uninstall if WooCommerce Admin is in core.
* DROP tables on uninstall (like core does).
* Migrate wc_ prefix options to woocommerce_.
This allows core WC to clean up when uninstalled.
* Migrate wc_ prefixed user meta fields to woocommerce_.
This allows core WC to clean up when uninstalled.
* Fix use of date().
* Update comment describing the option value filter.
* Add note to complete profiler
* Add note actions
* Update note to actioned when profiler is marked complete
* Update note to actioned client-side when completing profiler
* Add an array of installed plugins to wcSettings
* Don't include already installed plugins in cart items
* Move cart modal component
* Add purchase task and modal to task list
* Rename ambiguous task getter method
* Remove modal purchase later prop
* Show completed product purchase task item after purchase
* Don't show cart modal if all items previously purchased
* Add theme name to theme activation response
* Install and activate theme on choose in profiler
* Only auto install free themes and not currently active themes
* Move getPriceValue to dashboard utils
* Don't add free themes to the cart
* Add API endpoint to install themes
* Add API endpoint to activate a theme
* Add an array of allowed themes and sanitize slugs
* Limit allowed themes to already installed or free themes
* Add theme installation tests
* Add tests for theme activation
* Add onboarding theme installation and activation tests
* Remove unused argument in onboarding plugins API
* Add purchase modal to confirm intent before cart redirect
* Handle PR feedback: Fix comment on getProductIdsForCart, move cart modal to open on theme page (which rewrites the mark completed functionality), fix CSS display, Add busy stsate to redirect to cart button
* Fix some minor naming issues and add a busy state on thee later link
* Add filter to conditionally disable report caching.
* Disable caching for Orders Stats unit tests.
Fixes the display of the last query when tests fail.
* Add currency extension
* use wcSettings
* save
* get revenue working
* all reports
* remove error log
* better rename
* add column
* persist queries
* go back to individual hooks
* comments
* address feedback
* Relabel Net Revenue to Net Sales, revert previous refund work on Gross revenue and rename to total sales. Update the orer of all the things
* Add gross sales calculation to revenue stats endpoint.
* Restore coupon_total when updating order stats.
* Wire up gross sales to revenue report.
* Fix revenue report refunds calculation when there are no refunds.
* update net sales labels and cases in order, product and category tables
* Subtract refunded shipping and taxes from gross sales.
* pluses to minuses to fix the gross revenue and refund totals when refunding
* Add gross_sales to revenue stats orderby enum.
* Change refund labels to Returns
* Remove usage of defunct coupon_total column.
* Store refunded amount in stats table.
* Rename "gross_total" column to "total_sales".
* Net total for refund orders can be used instead of a new column.
* Rename gross_revenue to total_sales.
* Coalesce coupons total in order stats query.
SUM()ing all nulls gives null, not zero.
* Use segmentation selections to backfill missing data.
Fo when report columns and segmentation columns don't match.
* Remove errant gross_sales from expected interval test data.
* Fix gross sales tests for revenue/stats.
* Move missing segment fills back to their original locations.
* Fix remaining tests failing because of gross sales.
* Fix db upgrade function rename of gross_total column.
* Fix linter errors.
* Create GH tag release process
Add core to the release
no need to re-run docs
simplify build command
add gh release script
fix errant comment
fix errant comment
force add feature-config.php
gitattributes
moar attributes
add language files
* Make sure initalization via Core is working
* Add on option to toggle on the new onboarding experience
* Add an option to toggle off the new onboarding experience
* Update todo comment to remove option on merge to core
* Add tax rates filter to orders report
* Add tax rate filters to orders data store
* Add tax rate query filters to order stats data store
* Add tax rate orders link to taxes table
* Use core/notices for product creation notices
* Only show task list return notice on first save of taxes
* Update tax completion notice
* Check if tax task is complete before loading script
* Base Report data store utility functions - 1
Standardizing the data store classes will be easier if the base class contains simple utility functions
that can replace logic implemented in multiple data stores.
- set_db_table_name() assigns a WP DB table name class variable for the data store
- get_db_table_name() retrieves the WP DB table name
- prepend_table_name() prepends a field in a query fragment with the data store table name
* add context, clause handling, and filters to reports data store
* add generated SQL clauses to class properties
* reduce id getter logic to single function with filter, add phpdocs to new filters
* update table_name to private string for use in constructor
* extract SQL query clause handling to its own class
- Will allow for use in subquery processing without creating a get_data stub
- Swap parameter order in add_sql_clause for readability
- Add support for clearing multple clauses in one call
* add context var to SqlQuery class
* implement SqlQuery in Categories data store
* implement subquery in categories data store
* coupons data stores, more underlying refactor
- fix warnings
- make filtered id functions static
- add limit parameter handling
- update coupons data store
- update coupon stats data store
* refactor coupon stats data store
* refactor customers and customer stats data stores
* add context to subqueries
* add missed prepend table name call
* refactor downloads data store, fix some warnings
* fix warnings, add separator parameter to filtered IDs
* refactor taxes and tax stats data stores
* refactor variations data store
* refactor product and product stats data stores
* make table_name static throughout for compat with static hook functions
* refactor order and order stats datastores
- use consistent visibility on initialize_queries()
- update db_table_name logic to use static keyword instead of self
* fix missed whitespace
* fix segmenting query, add SqlQuery join clause
* DRY data store constructors, class properties
* prefix table name when not yet assigned
* fix unit tests, interpolations, WPDB delete calls
* DRY get_object_where_filter()
* remove redundant table prefix from unit test init
* fix refactored SQL queries
* restore product paging
* remove unused query param arrays
* add first pass on data docs readme
* remove debug code, errant SQL spacing
* refactor out outer_from query element
* merge wheres, joins before filtering
* move all report column definitions to assign_report_columns
* fix data readme markdown
* small code formating fixes from review
* remove static from query/datastore context
* missed self:: in previous, add comments, small code moves
* rename get_statement() to get_query_statement()
* remove temporary query references
* static reference, remove reference parameter, fix coupon compare
* add todo reminders
* use correct query parameter in coupon data stores
* Leave wc-admin install timestamp intact once set.
* Add inbox note for opting in to usage tracking.
* Remove markup from translated string.
* Allow tracking opt in note to be dismissed.
* Remove whitespace.
* Switch templates for sites with more than 4 products
* Update homepage template depending on number of products, and add industry images to templates.
* Slight refactor of the update post template logic
* Mark stripe as enabled by default in supported countries, and link completed task to payment settings
* Update stripe supported code to pull from server side list
* Remove dependence on core method
* exclude wc-auto-draft orders from import
* round amounts for tax inclusive pricing
* differentiate between product and overall revenue
* use correct total when importing product line item
* update product revenue labels to "net sales"
* Move inbox note actions to a bespoke component.
* Set busy state on action buttons on click.
* Allow for Note actions to be deleted.
* Update FB extension note after installation is complete.
* Link actions don't get busy treatment.
* Re-fetch note actions after updating.
Get new action IDs from the database.
* Add tracking to inbox note views. (https://github.com/woocommerce/woocommerce-admin/pull/3096)
* Move inbox note content to its own component.
* Send a tracks event when inbox notes are in the viewport.
Uses react-visibility-sensor.
* Match event data to `inbox_action_click`.
* Add "exportable" report interface for defining CSV export values.
* Define export values for Orders Report.
* Define export values for Products Report.
* Define export values for Categories Report.
* Define export values for Coupons Report.
* Allow commas and double quotes in CSV exported values.
* Fix in-browser export formatting of orders report products.
* Align server-side orders report export formatting with in-browser.
* Cover comma and double quote escaping in CSV export package tests.
* Define export values for Customers Report.
* Embed response links when requesting data for CSV exports.
* Define export values for Downloads Report.
* Move reusable report export functions to a trait.
* Define export values for Stock Report.
* Define export values for Taxes Report.
* Define export values for Variations Report.
* Define export values for Revenue Report.
* Always pass export row data through the filter.
* Fix formatting in test case for CSV coupon export.
* Quote escape CSV headers in client-side export.
Escape values with spaces as well.
* Check if inventory is managed at the product level before using the stock status/quantity.
* Prevent CSV injection in csv-export package.
* Add redirect_url as rest param to jetpack connection
* Add query param to jetpack connection URL in wc-api
* Add redirect URL to connection and plugin steps
* Add per-version DB upgrade routine.
Update order stats index length as well.
* Use globally namespaced methods for DB updates.
* Avoid creating duplicate DB update actions.
* Move TableCard actions from packaged component to ReportTable.
* Build an IE stylesheet for the main app.
* Remove defunct TableCard download test.
* Update components changelog.
* Fix pagination.
Pull query from table data instead of ReportTable props.
* Initiate report export from download button (https://github.com/woocommerce/woocommerce-admin/pull/2951)
* Add report export operations to API spec.
* Initiate a report export job when there is more than one page of report data.
* Add report download "type" to Tracks event.
* Ensure WC_Emails class is hooked in before sending report download emails.
* Set email parameter for background CSV download requests.
* Look table class and installer
* New table + stats
* Working reports/initial population
* Remove test
* Refactor, remove depth
* Unused table
* Update todo
* Add docblocks and reorder get_insert_sql params for consistency
* Adjust css braces
* clear hook on deactivation
* PSR-4 category lookup
* linting CSS closing brace last char on line
* initialize category lookup table in unit tests
* missed linting fixes
* revert move of run_all_pending call
* use consistent reference for term_relationships in queries
* Refactor report datastore cache key generation.
* Add transient-backed Cache class for Report DataStores.
* Bump reports cache version when data changes.
* Rollover cache version number after a limit and expire report transients every day.
* Use caching strategy like WC core.
Store cache version in value, not in key. Increase expiration to 1 week.
* integrate with new asset data registration (php side)
- includes back-compatibility.
* update js configuration and implement settings alias
- this aliases `@woocommerce/wc-admin-settings` to the settings api exposed via blocks (either the blocks plugin or core) and all the settings provided via the server.
- Adds fallback for back-compat if `wc.wcSettings` is not available in the environment (fallsback to `wcSettings`).
* initial pass to update all wcSettings direct usage to the new api
- this is just an initial pass, more can be done in separate pulls.
* missed one spot for adding new filter implementation
* fix incorrect jest config
* Avoid unnecessary assignment and directly return.
* Remove unnecessary defaults
* Fix inline comment text case.
Co-Authored-By: Albert Juhé Lluveras <contact@albertjuhe.com>
* Remove unnecessary inline comment.
* use @todo instead of TODO
Co-Authored-By: Albert Juhé Lluveras <contact@albertjuhe.com>
* fix incorrect reference in webpack config.
* add missing import and slightly delay dependency injection for scripts
* update get-setting and set-setting callbacks
* disable lint rule for console.error on dev doc builds
* Add help tab for task list toggling
* Redirect after resetting profiler to remove get params
* Onboarding - add quick testing links for Calypso flows
* Handle PR feedback
* Handle previously installed plugins during the onboarding wizard
* Allow the activate endpoint to activate multiple plugins at once, avoiding a race condition.
* Handle PR feedback
* Add the ability to fetch active plugins via wc-api