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
Jeff Stieler
a75a33c32f
Handle match parameter in customers report data store.
...
Note: before/after and min/max ranges are always ‘AND’.
2019-01-08 10:29:38 -07:00
Jeff Stieler
97e6f795e9
Fix copy-pasta in customers report REST controller.
2019-01-08 10:29:38 -07:00
Jeff Stieler
a180566c2f
Set default parameters for customers report query.
2019-01-08 10:29:37 -07:00
Jeff Stieler
0c919add5d
Fix query params in customers report controller.
2019-01-08 10:29:37 -07:00
Jeff Stieler
6e5fef2f7b
Include customers report files.
2019-01-08 10:29:37 -07:00
Jeff Stieler
746120e254
Change customer report lookup table columns to match API parameters.
2019-01-08 10:29:36 -07:00
Jeff Stieler
9670719fc6
Add customers report query endpoint implementation.
2019-01-08 10:29:36 -07:00
Jeff Stieler
b9f0d9fe5f
Update customers report endpoint item schema to match (visual) table designs.
2019-01-08 10:29:35 -07:00
Jeff Stieler
56beada220
Update customers report endpoint parameters to match new lookup table filters.
2019-01-08 10:29:35 -07:00
Jeff Stieler
a2154daa4c
Register customer report lookup table with core WC.
2019-01-08 10:29:35 -07:00
Jeff Stieler
281c06a5d4
Add username column to customer report lookup table.
2019-01-08 10:29:34 -07:00
Jeff Stieler
9131932910
First pass at initializing the customer lookup table with existing registered customer data.
2019-01-08 10:29:34 -07:00
Jeff Stieler
a5cf136037
Add customer report lookup table creation to initialization query.
2019-01-08 10:29:33 -07:00
Albert Juhé Lluveras
41b933e714
Add link to file in Downloads table ( https://github.com/woocommerce/woocommerce-admin/pull/1253 )
...
* Add link to file in Downloads table
* Fix wrong param name for 'ip_address'
2019-01-08 17:51:19 +01:00
Jeff Stieler
d2ca354bd5
Merge pull request woocommerce/woocommerce-admin#1099 from woocommerce/fix/advanced-filters-legend-text
...
Rework advanced filters screen reader text generation
2019-01-08 08:45:13 -07:00
Justin Shreve
f37b9319e1
Download Report API: Add path to response, fix ordering, and fix schema typo ( https://github.com/woocommerce/woocommerce-admin/pull/1248 )
...
* Add download_path to download report endpoint and fix schema typo
* Fix ordering and add tests
2019-01-08 09:51:28 -05:00
Albert Juhé Lluveras
03e17d372b
Add new props to chart component ( https://github.com/woocommerce/woocommerce-admin/pull/1247 )
...
* Add different props to chart component that were inferred from 'mode'
* Add new chart props to packages CHANGELOG
2019-01-08 10:21:47 +01:00
Joshua T Flowers
ef6d7ec4cb
Add leaderboard section ( https://github.com/woocommerce/woocommerce-admin/pull/1234 )
...
* Add leaderboard section to dashboard
* Add rows per table user preference
* Pass in rowsPerTable to leaderboards to adjust total rows
* Add styling for rows select dropdown
* Set default for total rows if tableQuery is undefined
* Remove double localization on leaderboard labels
* Simplify toggle logic for hidden leaderboards
* Move updateCurrentUserData outside of setState callback
2019-01-08 15:20:01 +08:00
Joshua T Flowers
9fef5d4f5d
Add dashboard chart links to reports ( https://github.com/woocommerce/woocommerce-admin/pull/1236 )
...
* Add dashboard chart links to reports
* Remove extra css background property from screen reader text
* Remove elements from previous click handler attempt
* Concat translation strings with sprintf
* Change chart hover interactions
* Move i18n to external dependencies
* Make legend buttons match background on hover
2019-01-08 14:48:39 +08:00
Joshua T Flowers
82200895dd
Defer chart drawing until chart component has rendered ( https://github.com/woocommerce/woocommerce-admin/pull/1244 )
2019-01-08 10:10:29 +08:00
Joshua T Flowers
d9e7e1b952
Remove unused show_product_categories_in_rest function ( https://github.com/woocommerce/woocommerce-admin/pull/1235 )
2019-01-08 09:53:02 +08:00
Joshua T Flowers
e067da06be
Add dashboard chart user preferences ( https://github.com/woocommerce/woocommerce-admin/pull/1225 )
...
* Add user preferences for shown dashboard charts
* Add user preferences for dashboard chart type
* Check if user preferences are set before assigning to state
* Move API update methods out of callbacks and use xor
2019-01-08 09:49:11 +08:00
Joshua T Flowers
f3346e9298
Add the order status column to lookup table ( https://github.com/woocommerce/woocommerce-admin/pull/1211 )
...
* Add the order status column to lookup table
* Fix order status filter for order stats
* Fix normalize order status and make static function
2019-01-08 09:16:10 +08:00
Albert Juhé Lluveras
6ca0c628b2
Connect Downloads report to REST API ( https://github.com/woocommerce/woocommerce-admin/pull/1238 )
...
* Connect downloads chart and table to REST API
* Display date picker in Downloads report
* Fix missing value for 'days' in Downloads table summary
* Fix download_count being a string instead of a number
* Minor date packages comment fixes
* Fix filters in Downloads report
* Add back empty line
* JSDoc comments style fixes
* Fix username filter not working
* Fix days counter off by 1
* Fix alignment issue
2019-01-07 12:54:42 +01:00
Albert Juhé Lluveras
3a90c07e76
Fix date issues introduced in woocommerce/woocommerce-admin#1203 ( https://github.com/woocommerce/woocommerce-admin/pull/1229 )
...
* Revert "Show today charts up to the current hour (https://github.com/woocommerce/woocommerce-admin/pull/1203 )"
This reverts commit 029ff9cc9c
.
* Add current hour to timestamp of queries ending in today
* Fix getCurrentDates not returning moment objects as specified in the docs but returning string dates
* Set appendTimestamp( ..., 'now') seconds to 00
* Add test for appendTimestamp( ..., 'now' )
* Don't accept string dates in 'appendTimestamp'
* Fix 'moment' dependency deprecation warning
2019-01-07 11:41:46 +01:00