Commit Graph

1699 Commits

Author SHA1 Message Date
Albert Juhé Lluveras 08dfea7cff Add Taxes REST controller override (https://github.com/woocommerce/woocommerce-admin/pull/1407) 2019-01-30 10:43:30 +01:00
Justin Shreve 53a6e49874 Finish cleaning up client/store. (https://github.com/woocommerce/woocommerce-admin/pull/1403) 2019-01-30 02:22:10 -05:00
Timmy Crawford 88ea613627 Build: Updates from latest npm publish (https://github.com/woocommerce/woocommerce-admin/pull/1409)
* remove unreleased tags from changelogs

* chore(release): publish

 - @woocommerce/components@1.4.1
 - @woocommerce/csv-export@1.0.3
 - @woocommerce/currency@1.1.0
 - @woocommerce/date@1.0.6
 - @woocommerce/navigation@1.1.1
 - @woocommerce/number@1.0.1
2019-01-29 15:37:25 -08:00
Claudio Sanches d1fef77ed0 Added unit tests for order deletation 2019-01-29 20:21:09 -02:00
Paul Sealock 4854933485 Merge pull request woocommerce/woocommerce-admin#1404 from woocommerce/fix/customers-date-between-args
Customers Report: REST API: Fix between argument handling
2019-01-30 10:32:54 +13:00
Paul Sealock f71bfa95f4 Merge pull request woocommerce/woocommerce-admin#1406 from woocommerce/fix/customers-order-count-filter
Customers Report: fix order count filter
2019-01-30 10:32:29 +13:00
Kelly Dwan dfd15f959a Components package: Add emoji-flags dependency (https://github.com/woocommerce/woocommerce-admin/pull/1411)
* Add emoji-flags to the components package.json

* Update the changelog
2019-01-29 16:19:00 -05:00
Claudio Sanches b0b506b397 Introduced new methods to clean up data when an order is deleted 2019-01-29 19:13:06 -02:00
Claudio Sanches 766fdeeada Remove extra validation 2019-01-29 18:50:44 -02:00
Claudio Sanches 272203b879 Introduced new woocommerce_reports_orders_stats_data_deleted hook 2019-01-29 18:50:15 -02:00
Peter Fabian 6efef57cba Factored out order-related product-level calculations to WC_Admin_Order and plugged it into the WC framework. 2019-01-29 19:57:04 +01:00
Timmy Crawford 10c6016d4c Update usage of lib/number to @woocommerce/number (https://github.com/woocommerce/woocommerce-admin/pull/1400)
* Remove usage of lib/number

* Remove formatNumber usage when currency is used.

* Add wc-number as a dependency of wc-currency.

* Add locutus as a dev dependency.

* Add number to test helper.
2019-01-29 08:48:46 -08:00
Peter Fabian e56009cfdc Updated todo format to be in line with the rest of WooCommerce. 2019-01-29 13:29:50 +01:00
Peter Fabian a3ae15d58e Removed obsolete comment. 2019-01-29 12:52:20 +01:00
Peter Fabian bee26375f9 Validate limit clause and set empty default if there is no limit. 2019-01-29 12:18:30 +01:00
Peter Fabian c2eaf6d71c Replaced REST exception with a custom exception and handle it in REST controllers. 2019-01-29 12:13:52 +01:00
Peter Fabian e4e09b4c39 Merge branch 'master' into fix/1035 2019-01-29 10:01:41 +01:00
Paul Sealock 3379491c91 Customers Report: fix order count filter 2019-01-29 13:35:27 +13:00
Timmy Crawford e136036ef9 Build: Create new number package (https://github.com/woocommerce/woocommerce-admin/pull/1399)
* Create new number package

* Updates per feedback.

* Update README.
2019-01-28 15:34:56 -08:00
Paul Sealock 765a007491 tweeek 2019-01-29 12:08:44 +13:00
Paul Sealock e6b42631f3 formatting 2019-01-29 11:48:40 +13:00
Paul Sealock 41bec03880 tweeks 2019-01-29 11:28:58 +13:00
Paul Sealock 370a747c2b add registered 2019-01-29 11:05:27 +13:00
Paul Sealock 3e16a37be0 add tests 2019-01-29 11:01:25 +13:00
Paul Sealock 483c199fbf tests working 2019-01-29 10:53:56 +13:00
Paul Sealock c6d1ce98c0 rest_validate_between_date_arg 2019-01-29 10:45:49 +13:00
Paul Sealock 2f022ffdba dry interval.php 2019-01-29 10:23:44 +13:00
Paul Sealock 3d0890a704 basic working 2019-01-29 09:21:11 +13:00
Paul Sealock bca0785e64 Customers Report: support between args for dates 2019-01-29 08:58:07 +13:00
Kevin Killingsworth 833345dfee Remove 'wc-admin' client/store implementation (https://github.com/woocommerce/woocommerce-admin/pull/1344)
This has been replaced by the `wc-api` store, under client/wc-api
2019-01-28 14:18:21 -05:00
Jeff Stieler 7592dae4bb Merge pull request woocommerce/woocommerce-admin#1385 from woocommerce/add/customers-report-table-summary
Add table summary to Customers Report
2019-01-28 09:59:52 -07:00
Jeff Stieler 2703a0da4c Merge pull request woocommerce/woocommerce-admin#1370 from woocommerce/fix/942-phpunit-gutenberg-dependency
Conditionally include Gutenberg plugin in test suite
2019-01-28 09:59:13 -07:00
Peter Fabian 71dc581f53 Merge pull request woocommerce/woocommerce-admin#1394 from woocommerce/fix/1393
Added zero-filling for intervals for taxes/stats endpoint
2019-01-28 13:09:02 +01:00
Albert Juhé Lluveras 066daa4b6a Add Top Coupons Block (https://github.com/woocommerce/woocommerce-admin/pull/1397)
* Add Top Coupons Block

* Order coupons by orders_count by default

* Fix wrong variable name
2019-01-25 18:59:53 +01:00
Joshua T Flowers 9c9ff13c2b Allow customer date_last_active to be null (https://github.com/woocommerce/woocommerce-admin/pull/1377)
* Allow customer date_last_active to be null

* Only show last active in customers report table if set
2019-01-25 09:37:50 -08:00
Timmy Crawford 40602efd89 Components; Fix SummaryNumber example (https://github.com/woocommerce/woocommerce-admin/pull/1392) 2019-01-25 09:17:09 -08:00
Peter Fabian 05aedb2a63 Added tests for ASC ordering. 2019-01-25 17:40:33 +01:00
Peter Fabian b87ca4f6aa Added filling in zeros for interval not having records in the database. 2019-01-25 14:54:14 +01:00
Peter Fabian c8c9cd4943 Updated error message to point to the correct report. 2019-01-25 13:30:27 +01:00
Peter Fabian 4c8a95cb89 Added fetching of db intervals for later use in zero-filling. 2019-01-25 13:29:59 +01:00
Peter Fabian 1c09b6836d Adjusted default return value when page is out of range. 2019-01-25 13:14:41 +01:00
Paul Sealock 050438a11c Add emoji flags 2019-01-25 13:17:08 +13:00
David Levin 74fcff642c Merge pull request woocommerce/woocommerce-admin#1382 from woocommerce/update/total-spend-label
Customer report: Update lifetime spend label and re-order columns + default sorting
2019-01-24 09:04:40 -08:00
Peter Fabian d75c963bb1 Merge branch 'master' into fix/1012-2 2019-01-24 11:18:23 +01:00
Albert Juhé Lluveras 95c21e0cc3 Move 'getLabels' functions into lib/async-requests (https://github.com/woocommerce/woocommerce-admin/pull/1379)
* Move labels loading logic into a lib

* Avoid making API calls when displaying Order labels

* Move lib/labels into lib/async-requests

* Rename 'getCustomerLabel' to 'getCustomerLabels'
2019-01-24 10:35:27 +01:00
Joshua T Flowers 81b6f0f61b Use tableQuery sorting when url query is not present (https://github.com/woocommerce/woocommerce-admin/pull/1378) 2019-01-24 09:36:11 +08:00
Joshua T Flowers 23f807c0a4 Add regex expression option to autocompleters (https://github.com/woocommerce/woocommerce-admin/pull/1380) 2019-01-24 09:35:47 +08:00
Jeff Stieler 8207bd7649 Add tests for customers report stats endpoint. 2019-01-23 17:48:22 -07:00
Jeff Stieler 6a215ceca9 Exclude customers with no orders from average orders count calculation. 2019-01-23 17:47:44 -07:00
Jeff Stieler 4cfa082d0f Load gutenberg from test plugins directory if required. 2019-01-23 16:59:10 -07:00
Peter Fabian c96b291a6c Added a bit of test for interval=hour order_by=date desc. 2019-01-23 22:13:00 +01:00
Peter Fabian 64f1418f22 Merge branch 'master' into fix/1012-2 2019-01-23 21:40:09 +01:00
Peter Fabian 5b46862584 Merge pull request woocommerce/woocommerce-admin#1371 from woocommerce/fix/1316-1
First attempt to fix tests failing around end of hour
2019-01-23 21:34:16 +01:00
Peter Fabian d61a4dd5bd Updated tests to be more stable around hour end. 2019-01-25 00:06:59 +01:00
David Levin 4c18267408 update orderby in index 2019-01-23 10:08:27 -08:00
David Levin e7a20b4216 update column lifetime spend column label, and re-order columns 2019-01-23 09:51:12 -08:00
Peter Fabian 33f1240987 Fix to remove extra intervals correctly. 2019-01-23 17:18:39 +01:00
Peter Fabian eff341d832 Made the interval sorting stable (second level sort by time_interval).
This is required so that intervals are sorted in the same way each time when going through pages of results.
2019-01-23 16:58:03 +01:00
Peter Fabian 71a9be299a Updated tests to pass before implementing the updated new/returning customer definition.
Context: https://github.com/woocommerce/wc-admin/issues/558#issuecomment-447782060
2019-01-23 13:29:40 +01:00
Peter Fabian 83a0d96f68 Added segmenting to response for revenue/stats test. 2019-01-23 10:37:09 +01:00
Peter Fabian e432a17f1e Added segmenting to response for products/stats test. 2019-01-23 10:36:50 +01:00
Peter Fabian f190c1bad1 Fixed copy-paste bug for testing subtotals in REST response. 2019-01-23 10:36:27 +01:00
Peter Fabian bcb7513f34 Added segmenting to response for coupons/stats test.
Fixed copy-paste error in test for subtotals.
2019-01-23 10:35:48 +01:00
Peter Fabian bc42e6d985 Fixed bug introduced during refactoring. 2019-01-23 10:34:55 +01:00
Peter Fabian fed94cbd0c Added segmenting to response for coupons/stats test.
Changed return type for currency.
2019-01-23 10:34:07 +01:00
Peter Fabian 507ee13825 Merge branch 'master' into fix/1035
# Conflicts:
#	client/analytics/report/customers/table.js
#	includes/api/class-wc-admin-rest-reports-orders-stats-controller.php
#	tests/reports/class-wc-tests-reports-orders-stats.php
2019-01-23 10:13:55 +01:00
Paul Sealock 3521e8d485 Merge pull request woocommerce/woocommerce-admin#1329 from woocommerce/fix/reduce-margin-small-views
Reports: Reduce Margins on Small Viewports
2019-01-23 14:38:48 +13:00
Peter Fabian 012e14c589 Corrected time-calculation of last interval. 2019-01-22 19:50:35 +01:00
Jeff Stieler 0ef976f964 Increase default wc-api timeout to 1 minute.
Large datasets may cause responses to take longer than 5 seconds.
2019-01-22 11:22:28 -07:00
Jeff Stieler 2d4aea1971 Only install/activate Gutenberg plugin if WP version under test is earlier than 5.0. 2019-01-22 10:44:00 -07:00
Peter Fabian 8a9a2c0673 Fixed interval arithmetic for hours and days. 2019-01-22 17:49:02 +01:00
David Levin e9bb73f23d Update order of summary numbers on taxes report (https://github.com/woocommerce/woocommerce-admin/pull/1356) 2019-01-22 07:49:17 -08:00
Paul Sealock 48f6777ea3 side margins 2019-01-22 13:24:01 +13:00
Paul Sealock 258c298e91 400 2019-01-22 13:11:06 +13:00
Paul Sealock 0e01c98851 Reports: Reduce Margins on Small Viewports 2019-01-22 12:29:32 +13:00
Paul Sealock a52fab85de Merge pull request woocommerce/woocommerce-admin#1332 from woocommerce/fix/summary-number-close-on-mobile
SummaryNumbers: close on click for mobile
2019-01-22 12:09:07 +13:00
Paul Sealock 35b3579632 Orders Report: Point table links to wc-admin reports with persisted query 2019-01-22 11:32:33 +13:00
Paul Sealock c7b705fb08 SummaryNumbers: close on click for mobile 2019-01-22 11:31:37 +13:00
Paul Sealock d09c68660b Merge pull request woocommerce/woocommerce-admin#1328 from woocommerce/fix/Filters-only-complete-ranges
Advanced Filters: Ranges: Allow update only on complete selection
2019-01-22 11:21:10 +13:00
Justin Shreve fdddca1186 Merge pull request woocommerce/woocommerce-admin#1366 from woocommerce/fix/schema-typo
Fix performance-indicators/allowed schema.
2019-01-21 15:54:15 -05:00
Albert Juhé Lluveras 834901bc84 Fill full plot area in bar charts (https://github.com/woocommerce/woocommerce-admin/pull/1365)
* Fill full plot area in bar charts

* Refactor chart scales tests
2019-01-21 20:58:38 +01:00
Albert Juhé Lluveras f2ac9f2bb2 Center points in single-date charts (https://github.com/woocommerce/woocommerce-admin/pull/1360)
* Center single point charts

* Don't render lines if there is only one date

* Remove xOffset from 'params'

* Improve variable naming
2019-01-21 20:30:21 +01:00
Albert Juhé Lluveras 37d6fa0b60 CSS Lint fixes (https://github.com/woocommerce/woocommerce-admin/pull/1367) 2019-01-21 19:09:16 +01:00
Justin Shreve 1f8caf106e Fix performance-indicators/allowed schema. 2019-01-21 12:28:32 -05:00
Joshua T Flowers 3ac97e00c4 Add single category filter to products report (https://github.com/woocommerce/woocommerce-admin/pull/1350)
* Add namespace v4 for WC product/categories endpoint

* Update categories wc-api to use v4 namespace constant

* Add single product category filter to product categories report

* Add link to filtered product report from category report

* Use persistedQuery for category links

* Check if category is defined before displaying category link

* Remove selectedTags when filter does not match queried filter
2019-01-22 01:12:00 +08:00
Joshua T Flowers 4869401ec4 REST API: Allow sorting by stock_status in stocks endpoint (https://github.com/woocommerce/woocommerce-admin/pull/1335)
* REST API: Allow sorting by stock_status in stocks endpoint

* Set stock_status as default orderby

* Sort by both stock status and quantity in meta query

* Use stock_status sort order by default in Stock table (https://github.com/woocommerce/woocommerce-admin/pull/1340)

* Reverse stock quantity order when sorting by stock status
2019-01-22 01:11:20 +08:00
Jeff Stieler 4a6f2652b6 Hook customers report table summary up to stats endpoint. 2019-01-21 08:46:21 -07:00
Paul Sealock 7856a58b49 Advanced Filters: Ranges: Allow update only on complete selection 2019-01-21 09:54:31 +13:00
Albert Juhé Lluveras c9df5861a8 Remove leading zero from chart dates (https://github.com/woocommerce/woocommerce-admin/pull/1353) 2019-01-19 12:38:17 +01:00
Jeff Stieler 07cbaae2a5 Add customers report stats endpoint. 2019-01-18 20:29:50 -07:00
Justin Shreve 2f60837ba5 Add performance indicators to dashboard (https://github.com/woocommerce/woocommerce-admin/pull/1343)
* Add label and generated report URL to the performance indicator response.

* Hook up performance indicators to the REST API

* Handle PR feedback

* Fix setting default values
2019-01-18 14:22:11 -05:00
Justin Shreve 286f5a7ae1 Update list of allowed stats 2019-01-18 15:11:38 -05:00
Justin Shreve 7c418a4a45 Add v4 of the data/countries filter so that the country autocompleter work and a notice goes away. (https://github.com/woocommerce/woocommerce-admin/pull/1354) 2019-01-18 14:17:12 -05:00
Justin Shreve b8d25c3073 Fix setting default values 2019-01-18 12:11:49 -05:00
Peter Fabian f2634ca5c8 Added support for segmenting to coupons/stats. 2019-01-18 17:11:46 +01:00
Justin Shreve bd54541ca0 Handle PR feedback 2019-01-18 08:52:10 -05:00
Justin Shreve 01b96ebea5 Hook up performance indicators to the REST API 2019-01-18 08:19:19 -05:00
Justin Shreve 96fc10747f Add label and generated report URL to the performance indicator response. 2019-01-18 08:16:52 -05:00
Peter Fabian e8f264c346 Moved common code to parent class. 2019-01-18 14:08:34 +01:00
Peter Fabian ea2f5ca5d9 Fixed number of parameters for product lookup update. 2019-01-18 13:07:19 +01:00
Peter Fabian caea199852 Updated revenue/stats REST controller to include segmentation options/fields. 2019-01-18 13:06:40 +01:00
Peter Fabian 128f52fdc8 Restrict products/stats only to supported segmentby options. 2019-01-18 12:28:12 +01:00
Joshua T Flowers 25e7192ecb Move search icon inside input wrapper (https://github.com/woocommerce/woocommerce-admin/pull/1351) 2019-01-18 18:51:47 +08:00
Peter Fabian 1d79714295 Added segmenting to products/stats. 2019-01-18 11:41:15 +01:00
Joshua T Flowers fb8c4dd92f Add single category filter to categories report (https://github.com/woocommerce/woocommerce-admin/pull/1336)
* Add single category filter to categories report

* Change categories leaderboard link to signle category link

* Remove todo comment regarding the single_category filter

* Update category links to categories report in products table
2019-01-18 15:46:12 +08:00
Joshua T Flowers e0853b5408 Add country code as keyword for countries search (https://github.com/woocommerce/woocommerce-admin/pull/1337)
* Add country name to tooltip and screen reader text

* Add country code to autocompleter keywords
2019-01-18 11:13:07 +08:00
Joshua T Flowers 6b29ec01a7 Add autocompleter input type and fix load options (https://github.com/woocommerce/woocommerce-admin/pull/1334)
* Allow inputType option for autocompleters

* Return early if optionsData is undefined in loadOptions

* Remove number spinners for autocomplete number inputs
2019-01-18 10:53:38 +08:00
Joshua T Flowers 7cdbbf87e8 Update all wc-admin endpoints to v4 (https://github.com/woocommerce/woocommerce-admin/pull/1298)
* Update all wc-admin endpoints to v4

* Add namespace for products and customers controllers

* Include product quantity in orders data store

* Add coupons to extended data in the orders data store

* Format order statuses response from database

* Hook up orders table to orders endpoint

* Add namespace to data endpoint controller

* Add namespaces to remaining extended controllers

* Use NAMESPACE var in place of wc/v4

* Update product links in orders table to products reports

* Add coupons rest controller override

* Format coupon code in response

Co-Authored-By: joshuatf <joshuatf@gmail.com>
2019-01-18 10:52:58 +08:00
Joshua T Flowers 11ddae699a Add helpText to coupon compare button (https://github.com/woocommerce/woocommerce-admin/pull/1333) 2019-01-18 10:22:51 +08:00
Jeff Stieler 4407e05bc4 Merge pull request woocommerce/woocommerce-admin#1342 from woocommerce/fix/1090-currency-settings-formatting
Honor WooCommerce Settings When Formatting Currency/Price
2019-01-17 17:06:13 -07:00
Jeff Stieler ec2efaf560 Update affected package CHANGELOGs. 2019-01-17 16:38:43 -07:00
Jeff Stieler 560606df17 Update comment about formatCurrency() currency symbol parameter fallback logic. 2019-01-17 16:30:27 -07:00
Jeff Stieler 4fabbee20f numberFormat(): add test for new non-number precision value logic. 2019-01-17 16:28:00 -07:00
Jeff Stieler 2ad5922f1f Simplify precision preservation logic in numberFormat().
Props @Aljullu.
2019-01-17 16:25:44 -07:00
Albert Juhé Lluveras 059cd0ef0d Set default order to 'desc' in time tables (https://github.com/woocommerce/woocommerce-admin/pull/1341) 2019-01-17 22:14:12 +01:00
Albert Juhé Lluveras 5dcea1af6f Remove wc-api customers (https://github.com/woocommerce/woocommerce-admin/pull/1338) 2019-01-17 19:07:21 +01:00
Paul Sealock 836cccafb8 Merge pull request woocommerce/woocommerce-admin#1327 from woocommerce/fix/filter-width-wide-screens
Filters: make 1/4 width for wiiiiiiide screens
2019-01-18 07:01:17 +13:00
Paul Sealock 3ba676ac57 Merge pull request woocommerce/woocommerce-admin#1305 from woocommerce/fix/date-query-formats
Advanced Filters: append time stamp to dates for API query
2019-01-18 07:00:40 +13:00
Timmy Crawford 508c48042c chore(release): publish (https://github.com/woocommerce/woocommerce-admin/pull/1326)
- @woocommerce/components@1.4.0
 - @woocommerce/csv-export@1.0.2
 - @woocommerce/date@1.0.5
2019-01-17 09:11:49 -08:00
Jeff Stieler 7a0243e6d7 Use store currency settings to initialize D3 format. 2019-01-17 10:08:15 -07:00
Jeff Stieler 25e81de952 Decode HTML entities in currency symbol and price format for use on the frontend.
The only alternative is to `dangerouslySetInnerHTML` everywhere.
2019-01-17 09:21:03 -07:00
Peter Fabian 25bb5e06df Factor out the segmentation code so that it's more reusable and clutters orders/stats data store less. 2019-01-17 12:14:24 +01:00
Albert Juhé Lluveras 4d2ee738d0 Set eslint react version to 'detect' (https://github.com/woocommerce/woocommerce-admin/pull/1300) 2019-01-17 10:25:08 +01:00
Albert Juhé Lluveras 0cda85b997 Add missing thousands separator in charts Y-axis (https://github.com/woocommerce/woocommerce-admin/pull/1312) 2019-01-17 10:18:28 +01:00
Jeff Stieler 6ed8ea117a Refactor formatCurrency() to use store settings for formatting rather than store locale. 2019-01-17 00:04:57 -07:00
Jeff Stieler ddae6d3955 Add currency symbol to orders endpoint response. 2019-01-17 00:01:09 -07:00
Joshua T Flowers da22cbdc9d Update returning customer data to use customer ID (https://github.com/woocommerce/woocommerce-admin/pull/1180)
* Change check for returning customers to check customer_id

* Count distinct returning and new customers in totals

* Fix priority action misplacement and order date timestamp

* Change expected num returning/new customers to fix failing tests

Previously these included references to number of returning vs new orders.  Update to refer to the newly updated customer count.

* Use new get_customer_id_by_user_id() to get customer ID

* Fix 0 returning customers expectation

* Move returning customer function to order stats data store

* Sync order stats on order delete

* Change date compare for is_returning_customer

* Add test case for returning customer order

* Add references to  instead of 2
2019-01-17 10:47:30 +08:00
Jeff Stieler 858ec82e8c Rework numberFormat() to maintain decimal precision by default. 2019-01-16 18:41:15 -07:00
Paul Sealock d214e229ae refactor timeStampFilterDates 2019-01-17 13:57:11 +13:00
Paul Sealock af98c7dd91 better tests 2019-01-17 13:35:20 +13:00
Jeff Stieler 4bf7a79a84 Add price format, decimal separator, and thousand separator to currency settings object. 2019-01-16 17:32:48 -07:00
Jeff Stieler 78e1be139f Refactor numberFormat() to use the store settings for precision, decimal separator, and thousand separator. 2019-01-16 17:32:12 -07:00
Paul Sealock 41c30c7506 Filters: make 1/4 width for wiiiiiiide screens 2019-01-17 12:21:45 +13:00
Paul Sealock c866d1e1e2 Customers Report: remove extended data call 2019-01-17 10:10:23 +13:00
Paul Sealock aaceb781fd tests 2019-01-17 09:37:43 +13:00
Paul Sealock b3d7e96a00 jsDoc 2019-01-17 09:08:04 +13:00
Paul Sealock 4cd803466a updateFilter 2019-01-17 08:57:41 +13:00
Jeff Stieler 149ee08f4b Include all users in customer lookup table generation. 2019-01-16 10:20:11 -07:00
Jeff Stieler c0e6a097fd Fix orders report test. 2019-01-16 09:45:52 -07:00
Jeff Stieler 11cb74cccd Fix variable name nitpick. 2019-01-16 09:45:52 -07:00
Jeff Stieler a2f94c11ba Add coupons and taxes lookup table generation to reports rebuild. 2019-01-16 09:45:51 -07:00
Jeff Stieler 84732137bc Bail out of creating batches for customers and orders if there are none. 2019-01-16 09:45:51 -07:00
Jeff Stieler ffe11650a8 Remove now-defunct order stats background process. 2019-01-16 09:45:50 -07:00
Jeff Stieler 763cc972a7 Regenerate all reports from rebuild stats endpoint. 2019-01-16 09:45:04 -07:00
Jeff Stieler 5c6174066e Add tests for report regeneration batch queuing methods. 2019-01-16 09:45:04 -07:00
Jeff Stieler 1a5af7094d Add WC_Action_Queue test helper class.
The test helper allows inspection of the action queue.
2019-01-16 09:45:04 -07:00
Jeff Stieler 4786938bdf Fix customers report tests. 2019-01-16 09:45:03 -07:00
Jeff Stieler 6eca20c5fd Reports regenerate: add mechanism to queue an action after another completes - use to queue orders lookup init after customers lookup. 2019-01-16 09:45:03 -07:00
Jeff Stieler 4740f93985 Reports regenerate: use queue to update order stats and products lookup table. 2019-01-16 09:45:02 -07:00
Jeff Stieler 3b9a4ef4a1 Report regeneration: allow batch sizes to differ between actions. 2019-01-16 09:45:02 -07:00
Jeff Stieler fabc1dc70b Reports regenerate: use queue to update customers lookup table. 2019-01-16 09:45:02 -07:00
Jeff Stieler c361119a0d Report table generation: add method for enqueuing a large number of batch jobs with a limited batch size. 2019-01-16 09:45:01 -07:00
Timmy Crawford d45f31c389 Update packages docs (https://github.com/woocommerce/woocommerce-admin/pull/1324) 2019-01-16 08:39:37 -08:00
Timmy Crawford 0cb75629de Release v0.5.0 (https://github.com/woocommerce/woocommerce-admin/pull/1319)
* Release 0.5.0

* Updates from release build.
2019-01-16 08:24:45 -08:00
renovate[bot] e6dd023fc8 Update dependency recast to v0.16.2 (https://github.com/woocommerce/woocommerce-admin/pull/1318) 2019-01-16 13:13:44 +01:00
renovate[bot] f3c61d4121 Update dependency eslint-plugin-jest to v22.1.3 (https://github.com/woocommerce/woocommerce-admin/pull/1317) 2019-01-16 13:01:02 +01:00
renovate[bot] 65c2a01213 Update dependency dompurify to v1.0.9 (https://github.com/woocommerce/woocommerce-admin/pull/1315) 2019-01-16 12:58:54 +01:00
renovate[bot] 78cfaec287 Update dependency core-js to v2.6.2 (https://github.com/woocommerce/woocommerce-admin/pull/1314) 2019-01-16 12:57:08 +01:00
renovate[bot] f8c6d949e4 Pin dependency node-watch to 0.6.0 (https://github.com/woocommerce/woocommerce-admin/pull/1313) 2019-01-16 12:55:13 +01:00
Peter Fabian 05c7670090 Merge branch 'master' into fix/1035
# Conflicts:
#	includes/class-wc-admin-reports-interval.php
#	includes/data-stores/class-wc-admin-reports-data-store.php
#	includes/data-stores/class-wc-admin-reports-products-data-store.php
2019-01-16 12:51:23 +01:00
Joshua T Flowers 33a7cfa1b0 Store all order statuses (https://github.com/woocommerce/woocommerce-admin/pull/1285)
* Store all orders regardless of status in wc_order_stats

* Only query select statuses if status_is or status_is_not is not set

* Fix order stats example query

* Filter category store by default order statuses

* Add table_name to interval functions to avoid ambiguity

* Filter coupon store by default order statuses

* Fix interval stats by adding table_name to interval function

* Filter products store by default order statuses

* Remove unused order_status in coupons data store

* Store products with any order status

* Fix ambiguous order by call in products data store

* Apply status filter after other filters to avoid logical OR matching

* Store all coupon data regardless of order status

* Filter taxes by default order statuses

* Filter customer stats by default order status

* Filter default order statuses in variations data store

* Use excluded statuses to filter reports by default

* DRY up default excluded statuses query

* Fix up new orders data store after rebase
2019-01-16 10:23:00 +08:00
Albert Juhé Lluveras 1001dd0601 Fix watch package files in Linux (https://github.com/woocommerce/woocommerce-admin/pull/1301) 2019-01-15 19:40:13 +01:00
Albert Juhé Lluveras de4309d61e Remove `barfocus` elements from charts (https://github.com/woocommerce/woocommerce-admin/pull/1311)
* Remove barfocus elements from charts

* Render background color behind bars

* Rename barmouse to barfocus
2019-01-15 19:40:02 +01:00
renovate[bot] a5cfc072c2 Pin dependency mini-css-extract-plugin to 0.5.0 (https://github.com/woocommerce/woocommerce-admin/pull/1309) 2019-01-15 12:09:07 +01:00
Albert Juhé Lluveras 8b341f0981 Replace 'extract-text-webpack-plugin' with 'mini-css-extract-plugin' (https://github.com/woocommerce/woocommerce-admin/pull/1299) 2019-01-15 11:55:54 +01:00
Peter Fabian 29f07f8c57 Re-enable temporarily disabled tests. 2019-01-15 11:51:43 +01:00
Peter Fabian 5ba443fca8 Updated data store used in test to reflect the rename of class. 2019-01-15 11:50:53 +01:00
Peter Fabian c324157483 Merge branch 'master' into fix/1035
# Conflicts:
#	includes/data-stores/class-wc-admin-reports-orders-data-store.php
#	includes/data-stores/class-wc-admin-reports-orders-stats-data-store.php
2019-01-15 11:39:39 +01:00
Peter Fabian 2fc9de0bb0 Preparation for merge of a moved file. 2019-01-15 11:36:56 +01:00
Peter Fabian f84efa3a58 Added test for segmenting /orders/stats by product. 2019-01-15 11:16:31 +01:00
Peter Fabian d067c2148d Added sorting of segments so that they have predictable order. 2019-01-15 11:13:43 +01:00
Peter Fabian ea2d5bfe35 Removed double refund subtracting. 2019-01-15 11:11:58 +01:00
Peter Fabian 93b331243b Corrected JSON response in case no fields are selected in $query_params. 2019-01-15 11:11:14 +01:00
Peter Fabian b593163dff Added more general function for sorting array of arrays based on subarray's key. 2019-01-15 11:08:23 +01:00
Paul Sealock 7b11e40981 timeStampFilterDates 2019-01-15 15:40:12 +13:00
Joshua T Flowers ee19308254 Add initial state hydration for user data (https://github.com/woocommerce/woocommerce-admin/pull/1297)
* Hydrate initial state through localized script

* Parse user meta for default rows as integer

* Change eslint ignore to undef only

* Add currentUserData to wcSettings
2019-01-15 10:24:06 +08:00
Joshua T Flowers 4b3df7732b Add showMenu prop to TableCard to hide ellipsis menu (https://github.com/woocommerce/woocommerce-admin/pull/1296)
* Add showMenu prop to TableCard to hide ellipsis menu

* Fix proptype description
2019-01-15 10:13:15 +08:00
Paul Sealock 01cf0eba2f specify before on construct 2019-01-15 15:01:38 +13:00
Joshua T Flowers 14f8f08edf Add v4 orders endpoint (https://github.com/woocommerce/woocommerce-admin/pull/1246)
* Rename orders controllers and data store to order stats

* Add orders data store and controller

* Add coupon, product, and status filters

* Add customer type query filter

* Add extended info for products and categories

* Bump API namespace to v4

* Add missing schema properties

* Set default customer_type and extended_info params

* Add orders endpoint tests

* Only use one JOIN if both excluded and included queries are used

* Optimize query calls to get product and category data

* Split product and category fetch and limit to product_cat taxonomy
2019-01-15 09:53:02 +08:00
Paul Sealock 66b76f5b8f replaceFilter 2019-01-15 13:47:07 +13:00
Paul Sealock 7556b45eab Advanced Filters: Dates, fix query formats 2019-01-15 13:02:24 +13:00
Paul Sealock 1fa45e4364 Merge pull request woocommerce/woocommerce-admin#1146 from woocommerce/add/date-filter-calendar
Advanced Filters: Add DatePicker
2019-01-15 09:43:10 +13:00
Paul Sealock 64d52b0d2f Merge pull request woocommerce/woocommerce-admin#1233 from woocommerce/fix/devDocs-filePath
Fix/dev docs file path
2019-01-15 09:42:24 +13:00
Justin Shreve a3ccfd300e Fix date formatting in safari by switching to moment (https://github.com/woocommerce/woocommerce-admin/pull/1290) 2019-01-14 11:29:46 -05:00
Peter Fabian 13ec8e2851 FOrmula for shipping distribution among line items updated to reflect qty, so that sum of shipping per line item equals total shipping amount. 2019-01-14 16:10:13 +01:00
renovate[bot] 81b28d7b19 Update dependency eslint-plugin-react to v7.12.3 (https://github.com/woocommerce/woocommerce-admin/pull/1261) 2019-01-14 12:52:16 +01:00
renovate[bot] af91eacacb Lock file maintenance (https://github.com/woocommerce/woocommerce-admin/pull/1242) 2019-01-14 12:08:06 +01:00
renovate[bot] 2cd434c676 Update dependency chalk to v2.4.2 (https://github.com/woocommerce/woocommerce-admin/pull/1258) 2019-01-14 11:47:28 +01:00
renovate[bot] 0f25d33fcc Update dependency babel-loader to v8.0.5 (https://github.com/woocommerce/woocommerce-admin/pull/1257) 2019-01-14 11:45:23 +01:00
renovate[bot] 0bdbf3b724 Update dependency eslint to v5.12.0 (https://github.com/woocommerce/woocommerce-admin/pull/1259) 2019-01-14 11:42:51 +01:00
renovate[bot] 8ff156fb8d Update dependency autoprefixer to v9.4.5 (https://github.com/woocommerce/woocommerce-admin/pull/1256) 2019-01-14 11:31:18 +01:00
renovate[bot] b19b8b8687 Update dependency lerna to v3.10.5 (https://github.com/woocommerce/woocommerce-admin/pull/1262) 2019-01-14 11:26:35 +01:00
Albert Juhé Lluveras f009506a45 Makes table dates accessible (https://github.com/woocommerce/woocommerce-admin/pull/1274)
* Create 'Date' component to render accessible dates

* Add tests
2019-01-14 10:54:44 +01:00
Paul Sealock be76392a0c devDocs: update path for prop docs 2019-01-14 15:07:28 +13:00
Paul Sealock 7525e2347a Add calendar to date advanced filter 2019-01-14 13:22:39 +13:00
Albert Juhé Lluveras 328a49127a Remove decimals from Y-axis (https://github.com/woocommerce/woocommerce-admin/pull/1288)
* Remove decimals from Y-axis

* Add CHANGELOG message
2019-01-11 19:18:31 +01:00
Albert Juhé Lluveras ad457cc123 Avoid duplicated Y-axis values (https://github.com/woocommerce/woocommerce-admin/pull/1289)
* Avoid duplicated yGrids

* Add tests

* Rename 'roundedValue' to 'value' to better reflect its contents

* Add CHANGELOG message
2019-01-11 19:16:29 +01:00
Albert Juhé Lluveras 753ec498ba Update activity button focus styles (https://github.com/woocommerce/woocommerce-admin/pull/1287)
* Update activity button focus styles

* Set overflow to 'auto' instead of 'scroll' in activity panels
2019-01-11 18:45:06 +01:00
Peter Fabian 20090a90e4 Added segments property to revenue test. 2019-01-11 18:39:57 +01:00
Peter Fabian 562e21ff54 Replace time interval keys with numeric ones to format REST response correctly. 2019-01-11 18:20:43 +01:00
Timmy Crawford 7d89799194 Remove hour from default clause in getAllowedIntervalsForQuery when period is empty (https://github.com/woocommerce/woocommerce-admin/pull/1279) 2019-01-11 07:51:24 -08:00
Justin Shreve 764845a6c0 Add top categories block (https://github.com/woocommerce/woocommerce-admin/pull/1276)
* Add Top Categories Block

* Update category and product blocks with correct links.

* Handle PR feedback/design cleanup
2019-01-11 10:11:10 -05:00
Peter Fabian 8059251656 Updated type for products field in response. 2019-01-11 15:29:03 +01:00
Peter Fabian ab4eb674e2 Added segments fields to expected response in tests. 2019-01-11 15:28:28 +01:00
Peter Fabian bc68976fb7 Updated schema tests to reflect latest changes. 2019-01-11 15:27:24 +01:00
Peter Fabian 26925872ec Corrected return types so that no segmented queries work fine. 2019-01-11 15:25:17 +01:00
Peter Fabian ebe76c2d43 Added missing parameter to new data stores. 2019-01-11 15:23:13 +01:00
Peter Fabian 7308aa415b Schema updates. 2019-01-11 15:22:19 +01:00
Albert Juhé Lluveras 9d1edd6a56 Make d3chart component stateless (https://github.com/woocommerce/woocommerce-admin/pull/1273)
* Make d3chart component stateless

* Move back 'drawChart' to d3chart/chart.js

* Add getColor method changelog comment

* Reorder chart constructor methods binding
2019-01-11 12:24:10 +01:00
Peter Fabian 5edc60d30b Added refund_total also to intervals (to be able to calculate net_total correctly). 2019-01-11 11:32:59 +01:00
Peter Fabian ff6b4ffb26 Added refund_total to unique orders table to be able to calculate net_total correctly. 2019-01-11 11:31:21 +01:00
Peter Fabian d14426cbc1 Corrected type of parameter in the docblock. 2019-01-11 11:30:43 +01:00
Peter Fabian 69f63f48d2 Ain't Nobody Got Time for That. 2019-01-11 11:25:49 +01:00
Peter Fabian 250c0910a1 Merge branch 'master' into fix/1035 2019-01-11 11:16:01 +01:00
Peter Fabian 411ff59788 WIP on orders/stats segmenting. 2019-01-11 11:11:23 +01:00
Joshua T Flowers e68f751298 Change category gross stats to net (https://github.com/woocommerce/woocommerce-admin/pull/1283) 2019-01-11 17:56:58 +08:00
Jeff Stieler 3efebb37e1 Merge pull request woocommerce/woocommerce-admin#1267 from woocommerce/update/numeric-filter-array-value
Numeric filter: generate a true array value for “between” rule
2019-01-10 19:31:15 -07:00
Jeff Stieler adf8bbeb23 Merge pull request woocommerce/woocommerce-admin#1260 from woocommerce/fix/1239-handle-between-rest-api-param
Handle *_between params in Reports controllers
2019-01-10 10:52:08 -07:00
Justin Shreve 350e296d2c Allow sorting by title and SKU to report tables (https://github.com/woocommerce/woocommerce-admin/pull/1266) 2019-01-10 12:10:31 -05:00
Jeff Stieler 571ee1fee0 Merge pull request woocommerce/woocommerce-admin#1271 from woocommerce/update/customer-report-real-endpoint
Hook up customers report table to real data.
2019-01-10 08:16:13 -07:00
Albert Juhé Lluveras 279bc142bb Fix chart blocks not being responsive (https://github.com/woocommerce/woocommerce-admin/pull/1265) 2019-01-10 10:55:15 +01:00
Jeff Stieler c223977dbd Hook up customers report table to real data. 2019-01-09 17:45:24 -07:00
Jeff Stieler c565b9cb40 Numeric filter: generate a true array value for “between” rule instead of a comma-delimited string. 2019-01-09 14:23:49 -07:00
Jeff Stieler 2246a1e075 Expect array value for _between params.
Add param validation method and normalize to min/max based by comparing values.
2019-01-09 14:19:37 -07:00
Justin Shreve d46ce1df7a Add store performance indicator endpoint (https://github.com/woocommerce/woocommerce-admin/pull/1255)
* Add store performance REST API endpoint

* Clean up validation, add list of allowed stats to OPTIONS endpoint, and rename endpoint to performance-indicators

* Add tests

* Add additional filters to make extending the performance indiciators area easier.

* Add docblocks for filters
2019-01-09 16:08:39 -05:00
Jeff Stieler 43517940fb Merge pull request woocommerce/woocommerce-admin#1144 from woocommerce/add/916-customers-report-endpoint
Add `/reports/customers` endpoint
2019-01-08 19:04:17 -07:00
Jeff Stieler 06763cc3a5 Don’t cast date values to strings in customers report data store since they’re allowed to be null.
NULL column values resulted in NOW() in the response.
2019-01-08 18:49:49 -07:00
Jeff Stieler 6e369bd145 Handle *_between parameters in Customers Report endpoint controller. 2019-01-08 17:41:48 -07:00
Jeff Stieler b15a4bc804 Add utility method to normalize numeric “between” parameters in REST API requests. 2019-01-08 17:41:24 -07:00
Joshua T Flowers 80fe765657 Use a date instead of hour for single dates in report tables (https://github.com/woocommerce/woocommerce-admin/pull/1208)
* Use a date instead of hour for single dates in report tables

* Add hour to allowed list when day difference is less than 1

* Prioritize hour format over day and set day as default for tables

* Add default intervals for report tables

* Use explicit date format in report tables

* Add constant for default table format

* Restore allowed intervals for >1 && <7 days
2019-01-09 08:24:49 +08:00
Joshua T Flowers bdb9525afe Add dashboard chart interval preferences (https://github.com/woocommerce/woocommerce-admin/pull/1230)
* Add user interval preferences for dashboard charts

* Add interval selector styling
2019-01-09 08:12:39 +08:00
Jeff Stieler d9fd8568df Customers report: perform a LEFT JOIN on the order stats table to include customers that have not yet placed an order. 2019-01-08 10:47:19 -07:00
Jeff Stieler 46b503dd54 Update customers report lookup table when customers/users are updated. 2019-01-08 10:33:17 -07:00
Jeff Stieler 154482acc9 Derive orders_count, total_spend, avg_order_value, and date_late_order for customer reports from the order stats report table. 2019-01-08 10:33:17 -07:00
Jeff Stieler 8105ddb38a Add new guest customers to lookup when syncing the order stats report table. 2019-01-08 10:33:16 -07:00
Jeff Stieler 1a90840e97 Add customer_id to order stats report table to reference with customer lookup. 2019-01-08 10:30:16 -07:00
Jeff Stieler d42e04cd59 Short circuit registered customer data update when the given ID is bad. 2019-01-08 10:29:44 -07:00
Jeff Stieler a1317f2152 Customer lookup table: allow registration date to be null (for guests). 2019-01-08 10:29:43 -07:00
Jeff Stieler c337944cf6 Backfill guests into customer report lookup table using order data and billing email. 2019-01-08 10:29:43 -07:00
Jeff Stieler d000d3e42a Add cases using ‘name’ and a date parameter to customers report endpoint tests. 2019-01-08 10:29:42 -07:00
Jeff Stieler fa3379e62f Customer report data store: fix handling of ‘name’ parameter in WHERE clause. 2019-01-08 10:29:42 -07:00
Jeff Stieler 714c1ee030 Customer report data store: fix comparison operator for date param “after” where clause. 2019-01-08 10:29:42 -07:00
Jeff Stieler 737331dd3b Add missing _gmt date fields to customers report response items. 2019-01-08 10:29:41 -07:00
Jeff Stieler 1a4b890660 Add unit tests for customers report endpoint. 2019-01-08 10:29:41 -07:00
Jeff Stieler 04a30e668b Customer report data store: fix SQL when where clauses are empty. 2019-01-08 10:29:40 -07:00
Jeff Stieler 1832450fd1 Update customer lookup table when orders (with registered customers) are created, updated, or refunded. 2019-01-08 10:29:40 -07:00
Jeff Stieler 2ea61e9a86 Move registered customer lookup update logic into data store class. 2019-01-08 10:29:40 -07:00
Jeff Stieler d0e2c5162f Place a UNIQUE constraint on the user_id key for the customer report lookup table. 2019-01-08 10:29:39 -07:00
Jeff Stieler dd87522a5e Customers report endpoint: only include customer link if they’re a registered user. 2019-01-08 10:29:39 -07:00
Jeff Stieler fc20d2bb1b Remove unnecessary subquery from customer reports data store records count query. 2019-01-08 10:29:38 -07:00