Commit Graph

3766 Commits

Author SHA1 Message Date
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
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