Commit Graph

224 Commits

Author SHA1 Message Date
Joshua T Flowers deeeacd3a5 Include out of stock products in low_in_stock product filter (https://github.com/woocommerce/woocommerce-admin/pull/3310) 2019-11-28 13:41:58 +08:00
Justin Shreve 50cc3edaed Update onboarding filters with a consistent prefix (https://github.com/woocommerce/woocommerce-admin/pull/3295)
* Update onboarding filters with a consistent prefix

* Rename woocommerce_onboarding_payments to match the other task list options
2019-11-25 11:15:22 -05:00
David Levin 52cb35f4de Correcting and clarifying analytics terms and calculations (https://github.com/woocommerce/woocommerce-admin/pull/3104)
* 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.
2019-11-22 10:06:14 -05:00
Justin Shreve 631ffe240f Onboarding - Add extra plugin debug to plugin installation (https://github.com/woocommerce/woocommerce-admin/pull/3272)
* Add extra plugin debug to plugin installation

* Add additional debug
2019-11-21 10:22:49 -05:00
Ron Rennick 915953e1a6 use a filter to set default locale (https://github.com/woocommerce/woocommerce-admin/pull/3273) 2019-11-19 13:49:18 -04:00
Ron Rennick 2b8b1e4c1c rename DS get_* to add_* where function does not return values (https://github.com/woocommerce/woocommerce-admin/pull/3275)
* rename DS get_* to add_* where function does not return values

* phpcs fixes on coupons, products data stores
2019-11-19 13:48:35 -04:00
Ron Rennick 241fad75cc PHPCS fixes for onboarding files (https://github.com/woocommerce/woocommerce-admin/pull/3269) 2019-11-18 11:17:48 -04:00
Ron Rennick 634a4edc13 return a value from create pages API call (https://github.com/woocommerce/woocommerce-admin/pull/3261) 2019-11-18 08:37:16 -04:00
Ron Rennick 4987b7a1a7 add REST routes for customers, handler for single customer (https://github.com/woocommerce/woocommerce-admin/pull/3174)
* add REST routes for customers, handler for single customer

* use customer id vs user_id, add collection link
2019-11-14 11:25:29 -04:00
Joshua T Flowers 87edceabf3 Fix header error in homepage template (https://github.com/woocommerce/woocommerce-admin/pull/3231) 2019-11-14 13:05:28 +08:00
Joshua T Flowers 000d666096 Add tax filtering to orders data (https://github.com/woocommerce/woocommerce-admin/pull/3197)
* 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
2019-11-13 11:22:06 +08:00
Ron Rennick fe3f819ee8 add order status filter to tax stats queries (https://github.com/woocommerce/woocommerce-admin/pull/3158) 2019-11-12 16:54:55 -04:00
Ron Rennick b2b1934eea remove deleted products, coupons from stats when order edited (https://github.com/woocommerce/woocommerce-admin/pull/3103)
* remove deleted products, couponsfrom stats when order edited

* sync with datastore refactor
2019-11-12 15:07:14 -04:00
Justin Shreve d29f93999a Update the Jetpack WooCommerce onboarding parameter, so that we can split test the new UI against the existing setup wizard flow. (https://github.com/woocommerce/woocommerce-admin/pull/3207) 2019-11-12 13:24:27 -05:00
Ron Rennick f78c143f3b Move in-house rest endpoints to private namespace (https://github.com/woocommerce/woocommerce-admin/pull/3204)
* move in-house rest endpoints to private namespace

* PHPCS sniff fixes
2019-11-12 14:15:55 -04:00
Ron Rennick 8ad869e643 move stock stats suny functions to ReportsSync (https://github.com/woocommerce/woocommerce-admin/pull/3186) 2019-11-12 11:34:07 -04:00
Justin Shreve 5b80e321ba Enable onboarding in the plugin build for those who have opted-in (https://github.com/woocommerce/woocommerce-admin/pull/3184)
* Enable onboarding in the plugin build for those who have opted-in

* Update constant andd option value
2019-11-07 13:31:02 -05:00
Jeff Stieler 27cf52c31c Fix PHP linter errors. (https://github.com/woocommerce/woocommerce-admin/pull/3188) 2019-11-07 11:18:05 -07:00
Ron Rennick afed4fba36 Data store refactor (https://github.com/woocommerce/woocommerce-admin/pull/2961)
* 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
2019-11-07 10:28:37 -07:00
Justin Shreve 4a59cb9b09 Create store pages during onboarding (https://github.com/woocommerce/woocommerce-admin/pull/3159) 2019-11-04 10:50:37 -05:00
Justin Shreve d04b8a0fc1 Add images to homepage template and a new layout for sites with more than 4 products (https://github.com/woocommerce/woocommerce-admin/pull/3140)
* 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
2019-11-01 08:49:04 -04:00
Ron Rennick c3c790591f Address revenue discrepancies (https://github.com/woocommerce/woocommerce-admin/pull/3095)
* 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"
2019-10-25 09:29:09 -03:00
Jeff Stieler 1ac8577fc2 Match server-side CSV export format to client-side (https://github.com/woocommerce/woocommerce-admin/pull/2987)
* 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.
2019-10-24 09:41:16 -07:00
Joshua T Flowers 38c9e38e28 Add no product option to product count dropdown (https://github.com/woocommerce/woocommerce-admin/pull/3092) 2019-10-24 07:33:10 +08:00
Justin Shreve e9f4d45274 Install business extensions on the business details page (https://github.com/woocommerce/woocommerce-admin/pull/3084)
* Install Facebook & MailChimp plugins on the business details page

* Handle PR feedback: Add missing plugin name constants, and improve plugin component error handling
2019-10-23 11:17:38 -04:00
Justin Shreve 8fe0f93c03 Add the ability to create custom plugin builds (https://github.com/woocommerce/woocommerce-admin/pull/3044)
* Add the ability to create custom plugin builds

* Use $_ENV instead of $_SERVER inside the generate-feature-config CLI script.
2019-10-17 14:00:20 -04:00
Justin Shreve e31e115e93 Update proceed without Jetpack/WCS to go to store details step (https://github.com/woocommerce/woocommerce-admin/pull/3040)
* Update proceed without Jetpack/WCS to go to store details step

* Adjust how we track the start/plugins step
2019-10-17 10:57:29 -04:00
Joshua T Flowers 181c02bbc8 Onboarding: Add redirect URL option to jetpack connection URL (https://github.com/woocommerce/woocommerce-admin/pull/3052)
* 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
2019-10-17 06:00:47 +08:00
Justin Shreve 5ee318064a Remove the Onboarding Levels API (https://github.com/woocommerce/woocommerce-admin/pull/3041) 2019-10-15 10:46:12 -04:00
Ron Rennick 0d664fdd87 use category lookup id instead of term taxonomy id (https://github.com/woocommerce/woocommerce-admin/pull/3027) 2019-10-10 14:15:25 -03:00
Justin Shreve d8132942f3 Change usage tracking prompt to modal (https://github.com/woocommerce/woocommerce-admin/pull/2968)
* Move tracking usage question to modal

* Fix PHPCS errors

* Adjust button alignment, update PHPCS version.

* Fix options check

* Handle PR feedback
2019-10-10 10:05:13 -04:00
Joshua T Flowers 37fbdaf5c0 Add options REST API permission checks (https://github.com/woocommerce/woocommerce-admin/pull/3004) 2019-10-09 06:39:40 +08:00
Justin Shreve 30a31c8fdf Fix onboarding linter errors (https://github.com/woocommerce/woocommerce-admin/pull/3000) 2019-10-03 15:53:10 -04:00
Justin Shreve c2a340da55 Add Stripe, PayPal, Klarna, and Square Connection Flows to the Payments Task (https://github.com/woocommerce/woocommerce-admin/pull/2897)
* Add payment method configuration

* Add stripe connection code

* Finish stripe connection logic

* Add PayPal Connection Flows

* Handle PR feedback: Enable methods when configuring via manual mode, update error modal to just rely on the errorMessage state, add TOS link and acceptance to the profile wizard, update optionsIsRequesting usage, and update docblocks.

* Update TOS message / display

* Add missing success messages on manual save

* Add Square & Klarna to Payments Task (https://github.com/woocommerce/woocommerce-admin/pull/2960)

* Add Square to payments task

* Add logos to payment task

* Add Klarna configuration, and fix assetUrl usage
2019-10-03 12:03:29 -04:00
Mike Jolley edcfc161fa Category Lookup Table - Fix Category Segments (https://github.com/woocommerce/woocommerce-admin/pull/2253)
* 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
2019-10-02 12:35:37 +13:00
Jeff Stieler ac9f3f4680 Use version number for cache invalidation (https://github.com/woocommerce/woocommerce-admin/pull/2970)
* 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.
2019-10-01 09:36:05 -07:00
Kʜᴀɴ 202fde95b5 Simplified intervals_missing method of TimeInterval (https://github.com/woocommerce/woocommerce-admin/pull/2919) 2019-10-01 10:15:41 +13:00
Kʜᴀɴ 1673e3f01f Simplified intervals_missing method of DataStore class (https://github.com/woocommerce/woocommerce-admin/pull/2920)
* Simplified intervals_missing method of DataStore class

* Fixed a little typo
2019-10-01 10:14:12 +13:00
Jeff Stieler 485af8576f Add ability to receive an emailed download link to report export endpoint. (https://github.com/woocommerce/woocommerce-admin/pull/2899)
* Add ability to receive an emailed download link to report export endpoint.

* Use WC_Email to send report download links.
2019-09-26 13:38:32 -07:00
Jeff Stieler d2b02db128 Merge pull request woocommerce/woocommerce-admin#2898 from woocommerce/cleanup/end-of-class-files
indent cleanup, remove blank line before class closing brace
2019-09-19 11:10:30 -07:00
Joshua T Flowers f095466442 Onboarding: Add create homepage logic to "Customize Appearance" step (https://github.com/woocommerce/woocommerce-admin/pull/2889) 2019-09-06 22:18:44 +08:00
Joshua T Flowers 52c295b820 Onboarding: Add "Import products" step (https://github.com/woocommerce/woocommerce-admin/pull/2868) 2019-09-06 10:06:29 +08:00
Ron Rennick d186ec7dc3 indent cleanup, remove blank line before class closing brace 2019-09-05 16:49:06 -03:00
Jeff Stieler ef313fcc6c Merge pull request woocommerce/woocommerce-admin#2881 from cojennin/fix/customer-analytics-date
Fix: persist date_last_active for customer reports 👏 @cojennin
2019-09-04 09:25:39 -07:00
Jeff Stieler 2546a3faec Merge pull request woocommerce/woocommerce-admin#2832 from woocommerce/fix/2702-queue-customer-updates
Queue customer lookup updates.
2019-09-04 08:49:40 -07:00
Jeff Stieler b6c34109f0 Look for `title` properties when using JSON schema for indicator labels.
Fix the dashboard labels at the same time.
2019-09-04 07:49:37 -07:00
Connor Jennings f660f22c5e Fix: persist date_last_active 2019-09-04 09:44:05 -04:00
Justin Shreve d8a0364c61 Onboarding - add quick testing links for Calypso flows (https://github.com/woocommerce/woocommerce-admin/pull/2863)
* 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
2019-09-03 09:42:00 -04:00
Joshua T Flowers 7bce0b710f Onboarding: Add "Customize Appearance" task (https://github.com/woocommerce/woocommerce-admin/pull/2857)
* Add initial Customize Appearance task

* Add options wc endpoint

* Add wc-api specs to manage options
2019-09-02 11:45:56 +08:00
Justin Shreve fe585aa2ee Onboarding - Profile Wizard: Update plugin installation step to deal with previously installed plugins (https://github.com/woocommerce/woocommerce-admin/pull/2825)
* 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
2019-08-23 08:56:57 -04:00
Jeff Stieler 0659049629 Hook up customer updates in the sync class. 2019-08-21 09:00:00 -07:00
Jeff Stieler bfefb2d647 Ignore refunded amounts when calculating gross total. 2019-08-20 11:41:28 -07:00
Jeff Stieler 8a19d586af Include a segment label for the variation parent when segmenting a single product report by variations. 2019-08-19 10:47:09 -07:00
Jeff Stieler 150feee517 Base variation report endpoint extended info off of the parent product if variation ID is 0. 2019-08-17 10:23:24 -07:00
Jeff Stieler 60ff4fc067 Include "variation = 0" orders in variation report data.
This catches simple products with sales that have been converted to variable.
2019-08-17 10:21:33 -07:00
Jeff Stieler bece81b757 Add inbox notice promoting the Facebook extension. 2019-08-14 19:32:59 -07:00
Ron Rennick 0d45811e73 fix warnings in chart segmenting 2019-08-14 12:50:11 -03:00
Jeff Stieler d3c1d34a60 Fix category report comparison chart render. (https://github.com/woocommerce/woocommerce-admin/pull/2710)
* Restrict product stats category comparison queries, fix LIMIT clause, and avoid adding dates outside of the initial interval query to response.
2019-08-14 08:02:06 -07:00
Jeff Stieler 37e849221b Fix namespace on helper class usage. 2019-08-12 15:27:12 -07:00
Jeff Stieler 953427bea5 Remove defunct filename prefix from remaining files.
Excluding the note classes for third party compatibility.
2019-08-12 15:06:36 -07:00
Jeff Stieler 9bc54b3344 Remove defunct filename prefix from API init class. 2019-08-12 15:03:24 -07:00
Jeff Stieler 4356eef13d Remove defunct filename prefix from feature classes. 2019-08-12 15:03:23 -07:00
Jeff Stieler c73325c312 PSR-4ify the loader class. 2019-08-12 15:03:22 -07:00
Jeff Stieler 13878db9ac PSR-4ify the feature plugin and install classes. 2019-08-12 15:03:21 -07:00
Jeff Stieler 7dd4d2b791 PSR-4ify the reports time interval class. 2019-08-12 15:03:21 -07:00
Jeff Stieler a61d292c67 PSR-4ify the report parameter exception class. 2019-08-12 15:03:20 -07:00
Jeff Stieler 88f6fd9d06 PSR-4ify report query classes. 2019-08-12 15:03:19 -07:00
Jeff Stieler 8f61462328 PSR-4ify the report stats segmenter classes. 2019-08-12 15:03:18 -07:00
Jeff Stieler 3e9ef793a7 PSR-4ify the reports data store interface class. 2019-08-12 15:03:17 -07:00
Jeff Stieler b7912bc579 PSR4-ify the Reports data store classes. 2019-08-12 15:03:17 -07:00
Jeff Stieler a67d577ad2 PSR-4ify all Report Controller classes. 2019-08-12 15:03:16 -07:00
Jeff Stieler b71d8c23c8 PSR4-ify core API subclasses. 2019-08-12 15:03:15 -07:00
Jeff Stieler fe3dc0dd7c Reorganize API classes. 2019-08-12 15:03:14 -07:00
Jeff Stieler 9d2757f1b2 PSR4-ify the API init class and Notes controllers. 2019-08-12 15:03:13 -07:00