Commit Graph

212 Commits

Author SHA1 Message Date
Peter Fabian 0d95552157 Added segmentby to schema, query arguments and allows parameters in the controller for taxes/stats. 2019-01-30 12:16:37 +01:00
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
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 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 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 483c199fbf tests working 2019-01-29 10:53:56 +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
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
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
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
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 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
Peter Fabian f2634ca5c8 Added support for segmenting to coupons/stats. 2019-01-18 17:11:46 +01: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 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
Peter Fabian 1d79714295 Added segmenting to products/stats. 2019-01-18 11:41:15 +01: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
Jeff Stieler 763cc972a7 Regenerate all reports from rebuild stats endpoint. 2019-01-16 09:45:04 -07: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
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
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
Peter Fabian 7308aa415b Schema updates. 2019-01-11 15:22:19 +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
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 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 6e369bd145 Handle *_between parameters in Customers Report endpoint controller. 2019-01-08 17:41:48 -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 dd87522a5e Customers report endpoint: only include customer link if they’re a registered user. 2019-01-08 10:29:39 -07:00
Jeff Stieler 97e6f795e9 Fix copy-pasta in customers report REST controller. 2019-01-08 10:29:38 -07:00
Jeff Stieler 0c919add5d Fix query params in customers report controller. 2019-01-08 10:29:37 -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
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
Justin Shreve e3e9ccb6a4 Add `reports/downloads/stats` REST API Endpoint (https://github.com/woocommerce/woocommerce-admin/pull/1142)
* First pass at downloads REST API

* Add reports/downloads/stats endpoint.

* Add tests

* Update cache key
2019-01-03 13:00:48 -05:00
Peter Fabian 1e39bc0756 Merge branch 'master' into fix/1035
# Conflicts:
#	includes/wc-admin-order-functions.php
2019-01-02 14:08:23 +01:00
Joshua T Flowers 3f388028ac Sort default category response by category ID (https://github.com/woocommerce/woocommerce-admin/pull/1201) 2018-12-28 09:50:58 -08:00
Joshua T Flowers e0596ea249 Add 404 response to REST response for invalid note ID (https://github.com/woocommerce/woocommerce-admin/pull/1194) 2018-12-28 09:51:22 +08:00
Joshua T Flowers dcaa35c7bf Add product SKU to products report (https://github.com/woocommerce/woocommerce-admin/pull/1161)
* Add product SKU to products report

* Add tests for SKU data
2018-12-25 11:02:06 +08:00
Justin Shreve 579113910d Add remaining filters to the downloads report (https://github.com/woocommerce/woocommerce-admin/pull/1141)
* Add order number, username, and IP address filters to the downloads report.

* Adds tests
2018-12-21 16:40:41 -08:00
Justin Shreve 49a0f0f6d2 Add `reports/downloads` REST API endpoint. (https://github.com/woocommerce/woocommerce-admin/pull/1122)
* First pass at downloads REST API

* Handle PR feedback
2018-12-21 14:57:46 -08:00
Joshua T Flowers 56577101c4 Add customer numeric filters (https://github.com/woocommerce/woocommerce-admin/pull/1116)
* Add customer numeric filters

* Add between params to customers controller

* Escape strings for translation and change inputs to currency

* Add Currency shorthand filter
2018-12-21 12:07:54 +08:00
Peter Fabian 999c7fe8ca Updated REST API controller for segmenting, added schema changes missed before. 2018-12-20 12:35:45 +01:00
Peter Fabian dff8b63271 Merge pull request woocommerce/woocommerce-admin#1010 from woocommerce/fix/845
Added /reports/coupons and /reports/coupons/stats endpoints
2018-12-19 13:55:28 +01:00
Peter Fabian 4802736a0e Switched from using coupon code filter to coupon id filter by query parameter. 2018-12-19 13:37:54 +01:00
Joshua T Flowers 08d3e2c38d Change product_gross_revenue to product_net_revenue (https://github.com/woocommerce/woocommerce-admin/pull/1105)
* Change product_gross_revenue to product_net_revenue

* Change product_gross_revenue to product_net_revenue in category data store

* Change to net_revenue in frontend category report
2018-12-19 08:56:27 +08:00
Paul Sealock 15bbbe739d Hook up Categories table to endpoint 2018-12-19 08:36:42 +13:00
Peter Fabian 6c456657e8 Changed coupon_gross_discount to amount. 2018-12-18 12:01:42 +08:00
Peter Fabian f0b97a42b0 Changed data type in schema for dates to date-time. 2018-12-18 12:01:41 +08:00
Peter Fabian 3535f52d78 Removed interval parameter for coupons endpoint. 2018-12-18 12:01:39 +08:00
Peter Fabian a346f13beb Added extended info. 2018-12-18 12:01:38 +08:00
Peter Fabian 5eee869a74 Added small fixes to set up coupon endpoints. 2018-12-18 12:01:38 +08:00
Peter Fabian 1630cb9c6f Removed unsupported parameter from coupons endpoint. 2018-12-18 12:01:18 +08:00
Joshua T Flowers 9486ab7896 Update/taxes endpoint hookup/941 (https://github.com/woocommerce/woocommerce-admin/pull/1008)
* Hook up taxes to endpoint

* Hook up tax stats endpoint

* Add default tax stat totals for empty results

* Create subtotals from intervals in API

* Change orders to orders_count to keep consistent naming
2018-12-18 10:26:46 +08:00
Justin Shreve e42ad6956b Add customer email filter (https://github.com/woocommerce/woocommerce-admin/pull/1092)
* Add customer email filter

* Handle PR feedback: Fix up if statement and add extra info to validation comment
2018-12-17 11:20:11 -05:00
Claudio Sanches 80f1b2f256 [REST API] Stock endpoint (https://github.com/woocommerce/woocommerce-admin/pull/974)
* New reports stock endpoint

* Register new endpoint

* Unit tests

* Included "name" into stock results

* Fixed sku type

* Improve stock _links returning properly links for variations and parent products

* Fixed docblock

* Sort stock by stock_quantity by default

* Fixed orderby

* Ignore sticky posts

* Fixed variable names
2018-12-14 07:43:39 -08:00
Justin Shreve 20e202080a Add Live Data to Reviews Panel (https://github.com/woocommerce/woocommerce-admin/pull/1055)
* Add Live Data to Reviews Panel
Adds the ability to embed the product in a product review response

* Clean up code needed to embed some product fields.

* Add API response tests
2018-12-12 08:35:56 -05:00
Allen Snook de105648be Activity Panel: Inbox: Filter update and error notes out of the inbox (https://github.com/woocommerce/woocommerce-admin/pull/893)
* Filter update and error notes out of the inbox

* Remove redundant trim().

* Fix test for admin notes API type parameter.
2018-12-11 09:00:57 +08:00
Joshua T Flowers 04d3ce6eb1 Add taxes endpoint and data store (https://github.com/woocommerce/woocommerce-admin/pull/1000)
* Add taxes endpoint and data store

* Add sorting options and normalize orderby param

* Add report taxes unit tests

* Add tax rate to response

* Add country, state, priority, and name to response

* Fix tax codes query param

* Add class comment

* Add missing  to record query

* Add comment about ambiguous column
2018-12-11 08:58:05 +08:00
Joshua T Flowers 557cec57cb Add tax stats endpoint (https://github.com/woocommerce/woocommerce-admin/pull/1019) 2018-12-11 08:55:05 +08:00
Paul Sealock 93a7472e54 REST API: Add stock info to products and variations 2018-12-11 07:19:46 +13:00
Peter Fabian 1c8459244a Merge branch 'master' into fix/749
# Conflicts:
#	includes/data-stores/class-wc-admin-reports-products-data-store.php
2018-12-04 12:07:43 +01:00
Paul Sealock bf0e025b05 REST API: isolate extened info in /reports/products 2018-12-04 13:01:36 +13:00
Peter Fabian 1acb9827e7 Merge branch 'master' into fix/749
# Conflicts:
#	includes/data-stores/class-wc-admin-reports-products-data-store.php
2018-12-03 16:21:04 +01:00
Peter Fabian 6e68247701 Merge pull request woocommerce/woocommerce-admin#953 from woocommerce/fix/740
Added support for ordering by product name in products endpoint.
2018-12-03 11:56:28 +01:00
Paul Sealock 164a67144b try/variations-endpoint 2018-12-03 11:49:37 +13:00
Peter Fabian 8b80de9bc2 Added support for ordering by product name in products endpoint. 2018-11-28 15:14:34 +01:00
Peter Fabian 99e2c463c7 Added parameter mapping for products/stats endpoint. 2018-11-28 11:04:18 +01:00
Peter Fabian e6cca3c083 Replaced code_includes/_excludes with coupon_* as agreed. 2018-11-28 10:53:11 +01:00
Peter Fabian a765a6df97 Added tests for advanced filters of orders report. 2018-11-27 21:39:14 +01:00
Peter Fabian f9a46423e0 Added get_order_statuses to REST controllers where it's required. 2018-11-27 16:39:11 +01:00
Peter Fabian 26debd77c3 WIP on advanced filters.
Plus fixing bugs:
- fixed tests
- fixed schema definition to reflect response data
- split WHERE SQL clause into time constraints and rest
2018-11-16 17:51:33 +01:00
Peter Fabian 9d86e01f4e Updated REST controller with new parameters. 2018-11-15 19:01:22 +01:00
Peter Fabian 11d6f2e93a Updated query parameters according to spec. 2018-11-13 16:24:57 +01:00
Peter Fabian bcf21687d3 Updated parameters in the REST controller. 2018-11-01 12:37:49 +01:00
Jonathan Belcher 360c4c7083 Fix automattically fixable php lint warnings (https://github.com/woocommerce/woocommerce-admin/pull/720) 2018-10-29 12:19:07 -04:00
Allen Snook e7ba47e958 Go ahead and 1) handle the variety of queries that can be used
as action button links and 2) enable the button (tracking will
come next). Also had to tweak CSS for activity panel item buttons
a little
2018-10-24 18:13:44 -07:00
Allen Snook 2147b23c4d Correctly define admin notes schema 2018-10-22 13:15:44 -07:00
Jonathan Belcher ecb3013fd3 Uses PHPBCF to autofix warnings and errors (https://github.com/woocommerce/woocommerce-admin/pull/611) 2018-10-22 12:20:14 -04:00
Joshua T Flowers 88058b2bf4 Add default report data if empty product data is returned (https://github.com/woocommerce/woocommerce-admin/pull/581)
* Add default report data if empty product data is returned

* Remove unused argument ''

* Remove filter params
2018-10-22 11:51:24 -04:00
Allen Snook 3155d5ec24 Merge pull request woocommerce/woocommerce-admin#507 from woocommerce/add/admin-notices-rest-api
Activity Panel: Inbox: Add REST API (GETters only)
2018-10-19 08:04:46 -07:00
Allen Snook 2a94177f71 Fix per_page default handling, json encoding options, schema help 2018-10-16 12:49:01 -07:00
Allen Snook d450ea6545 Strip slashes from titles, content and action (button) labels 2018-10-16 12:49:01 -07:00
Allen Snook 80ace9c9f3 Add publicly consumable schema info 2018-10-16 12:49:01 -07:00
Allen Snook 054fbb4ee3 Accept page and per page params in REST query, return total count of notes in header 2018-10-16 12:49:01 -07:00
Allen Snook 68b799f796 Correctly prepare dates in the response 2018-10-16 12:49:01 -07:00
Allen Snook 3b988d954c Correct copypasta in comments 2018-10-16 12:49:01 -07:00
Allen Snook 6dc4564feb Add single and multiple note GETters 2018-10-16 12:49:01 -07:00
Claudio Sanches c7ba8bd2c3 Fixed textdomain 2018-09-28 12:34:33 -03:00
Peter Fabian 0a669544d6 Added code from feature/20777, pending tests. 2018-09-18 13:32:25 +02:00
Peter Fabian aaef322e00 Added code from feature/20778, tests pending. 2018-09-18 13:27:34 +02:00
Peter Fabian a16933143f Added code from feature/20781, tests pending. 2018-09-18 13:20:42 +02:00
Peter Fabian b556d55ca6 - Removed duplicate class.
- Overridden REST API endpoints via filters.
- Updated data store class prefixes.
- Removed debugging echo.
2018-09-18 12:24:43 +02:00
Peter Fabian 9ac635fd42 Updated prefixes for wc-admin plugin. 2018-09-17 21:13:19 +02:00
Peter Fabian d2ac6cdbe1 Added reporting REST API extensions to wc-admin. 2018-09-17 16:32:03 +02:00