Commit Graph

597 Commits

Author SHA1 Message Date
Jeff Stieler 211c00935a Merge pull request woocommerce/woocommerce-admin#2224 from woocommerce/fix/2222-frequent-order-count-query-milestones
Order milestones: prevent order count queries from being issues on every request.
2019-05-14 07:36:26 -06:00
Joshua T Flowers b8bd689fd0 Import refunds on data sync (https://github.com/woocommerce/woocommerce-admin/pull/2205) 2019-05-14 18:37:09 +08:00
Jeff Stieler 6860773fb4 Refactor first two order milestones to behave the same as the others.
Prevents order count queries from being issues on every request.
2019-05-13 16:34:51 -06:00
Jeff Stieler 93085fe268 Add documentation on using the new page controller functions. 2019-05-13 15:14:18 -06:00
Jeff Stieler 8cab7c047e Add filters to page controller. 2019-05-13 15:14:17 -06:00
Jeff Stieler 742a1aa049 Move existing page connection to a separate file. 2019-05-13 15:14:17 -06:00
Jeff Stieler 0028fc0ffe Use WC_Emails class to dynamically connect email settings pages. 2019-05-13 15:14:17 -06:00
Jeff Stieler 635f9faca7 Restore hardcoded “WooCommerce” root breadcrumb logic and remove “full” path requirement. 2019-05-13 15:14:16 -06:00
Jeff Stieler 3dff00a9a0 Refactor connecting existing admin pages and breadcrumb generation. 2019-05-13 15:14:16 -06:00
Jeff Stieler 6b12d3e1b4 Refactor “is admin page” logic to use page controller. 2019-05-13 15:14:15 -06:00
Jeff Stieler 9fdf2cfb47 Refactor app entry page and dashboard page registration. 2019-05-13 14:30:26 -06:00
Jeff Stieler 7506201571 Refactor analytics page registration. 2019-05-13 14:19:26 -06:00
Jeff Stieler 19bfd01599 Add new page controller class, replace page registration function. 2019-05-13 14:19:26 -06:00
Ron Rennick 85e82f07f5 fix warning for string shipping tax meta value 2019-05-13 15:01:05 -03:00
Ron Rennick 33919a652d phpcs sniff fixes 2019-05-13 13:48:22 -03:00
Ron Rennick 28b10f2eb6 restrict customer import to customer role with filter 2019-05-13 13:47:16 -03:00
Joshua T Flowers fb91cd8788 Add import status endpoint and progress options (https://github.com/woocommerce/woocommerce-admin/pull/2189)
* Update import progress during batches

* Add import status route for querying import progress

* Update import totals before import start

* Move wc admin notes to separate action scheduler group

* Add import totals route to query customer and order totals

* Add wc helper queue job processing method

* Add import status and total tests

* Separate action type clearing for imports and notes

* Typecast action types as array in clear_pending_wcadmin_actions()
2019-05-13 10:30:07 +08:00
Joshua T Flowers c6a6e737c4 Add refund filtering to order reports (https://github.com/woocommerce/woocommerce-admin/pull/2179)
* Add customer functions to order and refund classes

* Extract shared order and refund methods to trait

* Add refund filter to advanced filters in orders report

* Filter refund types in orders data store

* Extract refunds subquery to parent report data store method

* Add refund subquery filtering to order stats data store

* Add tests around refund type filtering

* Change the default option for the refunds filter
2019-05-10 14:56:57 +08:00
Joshua T Flowers 3382fb7011 Record refunds separate from order entries (https://github.com/woocommerce/woocommerce-admin/pull/2083)
* Sync refunds on order sync

* Separate order and refund class extensions

* Add customer functions to order and refund classes

* Change products store to work with refund amounts

* Return early for refunds in coupon data store

* Allow refund processing in tax data store

* Remove unused refund amounts from tables and data stores

* Change order counts to parse out refund entries

* Include refunded orders in default queried statuses

* Only process order number filter on shop order post types

* Extract shared order and refund methods to trait

* Fix renamed schedule_single_order_import method

* Bump PHP and WP version requirements
2019-05-10 14:39:25 +08:00
Ron Rennick 41a341f690 Merge pull request woocommerce/woocommerce-admin#2190 from woocommerce/fix/2180
fix customer name logic on populating customer lookup data
2019-05-09 09:39:49 -03:00
Mike Jolley a3b90cdb9e Update get_count to use lookup table 2019-05-09 10:38:26 +01:00
Mike Jolley d7b81e40d4 Update count query for low stock 2019-05-09 10:28:28 +01:00
Joshua T Flowers 1df54fdae5 Check for page suffix to fix blank pages with WC Branding (https://github.com/woocommerce/woocommerce-admin/pull/2187) 2019-05-09 10:39:11 +08:00
Timmy Crawford d51845930a Dashboard: Rename class/feature to remove conflict with legacy dashboard widget (https://github.com/woocommerce/woocommerce-admin/pull/2138)
* Dashboard: Rename class/feature to remove conflict with legacy dashboard class

* Updates per feedback, and fixes.
2019-05-08 09:10:05 -07:00
Mike Jolley 196543ef7f Render stock status as 'low' on stock report 2019-05-08 15:25:46 +01:00
Mike Jolley d95e69532e Update stock report filtering to use correct low stock amounts and lookup table data for performance 2019-05-08 14:58:28 +01:00
Mike Jolley f85b25f34d Update stock and sku search query in API to use lookup table.
Lookup table was introduced in 3.6 and will improve performance for these 2 queries.
2019-05-08 14:05:35 +01:00
Ron Rennick 0f2788ed1c fix customer name logic on populating customer lookup data 2019-05-08 10:01:12 -03:00
Mike Jolley 684c526d1e Fix low stock report due to NULL _low_stock_amount
Empty meta values are not stored from WC 3.6+. _low_stock_amount could be NULL. This fixes the low stock queries.
2019-05-08 13:43:25 +01:00
Albert Juhé Lluveras cab0e38c30 Save section/block preferences in user data (https://github.com/woocommerce/woocommerce-admin/pull/2148)
* Save section/block preferences in user data

* Optimize updateSection code

* Remove no longer used prop

* Refactor dashboard blocks to make them extendable

* Check that defaultSection exists before merging

* Rename 'sectionsDefinion' to 'defaultSections'

* Add Dashboard README

* Update README with new props

* Update settings when moving/removing dashboard sections

* Add missing props to README example

* Move 'section.js' inside 'components' folder

* Fix README sentence
2019-05-07 09:21:34 +02:00
Albert Juhé Lluveras 46d3be23dd Add Historical Data Import Screen (https://github.com/woocommerce/woocommerce-admin/pull/2073)
* Add Historical Data Import Screen

* Fix date picker not being accessible

* Cleanup

* Fix period selector typo

Co-Authored-By: Aljullu <aljullu@gmail.com>

* Move state to props

* Add filter to status labels

* Get rid of 'step' state property

* Format 'importDate' as YYYY-MM-DD

* Minor improvements

* Hardcode control height

* Use dateValidationMessages when possible

* Update imported all data actions

* Update filter name
2019-05-07 09:18:48 +02:00
Jeff Stieler a36e3cd024 Merge pull request woocommerce/woocommerce-admin#2034 from woocommerce/add/1850-import-endpoint
Add import endpoint and controller
2019-05-01 13:29:00 -06:00
Jeff Stieler cda1645672 Review feedback changes.
Incorrect comment and unused function argument.
2019-05-01 08:30:27 -06:00
Joshua Flowers 0a229e3654 Add delete batch actions for orders and customers 2019-04-30 17:37:20 -06:00
Joshua Flowers a4d1256292 Add customer deletion method to customers data store 2019-04-30 17:37:20 -06:00
Joshua Flowers fe0dea6373 Add delete imports endpoint 2019-04-30 17:37:19 -06:00
Joshua Flowers cad94415c5 Add endpoint route to cancel all pending import actions 2019-04-30 10:17:08 -06:00
Jeff Stieler a3fdd72ba5 Merge pull request woocommerce/woocommerce-admin#1907 from woocommerce/fix/1615-order-number-filter
Support Sequential Order Numbers in Downloads Report order number filter
2019-04-30 10:10:39 -06:00
Jeff Stieler 3bfc53c9cf Reintroduce the customer lookup init to report regeneration.
With the new date range and “skip existing” logic.
2019-04-30 09:17:12 -06:00
Jeff Stieler e350cfc898 Remove strict comparison from “is valid customer” logic.
Needed for the function to work in scheduled actions.
2019-04-30 09:09:35 -06:00
Ron Rennick 4ceb3f3c2d add check for woocommerce submenu item array 2019-04-29 06:57:33 -03:00
Timmy Crawford 2aaf0ee4b5 Add check for wp_set_script_translations. (https://github.com/woocommerce/woocommerce-admin/pull/2117)
* Add check for wp_set_script_translations.

* Update admin alert to show correct required WooCommerce version.

* Few more 3.6 text changes.
2019-04-26 11:39:37 -07:00
Joshua T Flowers 53a4098de1 Fix missing leaderboard schema options (https://github.com/woocommerce/woocommerce-admin/pull/2059)
* Add missing schema properties

* Add missing leaderboard schema tests
2019-04-26 10:43:52 -07:00
Joshua T Flowers c17baa02cd Encode and decode persited query as JSON string in the leaderboards controller (https://github.com/woocommerce/woocommerce-admin/pull/2100)
* Encode and decode persited query as JSON string in leaderboards controller

* Update peristed query tests to use JSON string
2019-04-24 04:38:49 +08:00
Joshua T Flowers 8bc3d8622e Add order date filter to customers data store (https://github.com/woocommerce/woocommerce-admin/pull/2094)
* Add before and after params to customers controller

* Map before and after order params to order creation date filter

* Hook up customer date filter params in leaderboards controller
2019-04-23 10:01:36 +08:00
Jeff Stieler ba69a634f5 Document why the order number field should be a string. 2019-04-19 11:41:39 +02:00
Albert Juhé Lluveras 19500daad9 Add wcAdminAssetUrl property back (https://github.com/woocommerce/woocommerce-admin/pull/2075) 2019-04-18 10:38:42 +02:00
Joshua Flowers eecedfdba8 Set orders date to midnight before if days is set 2019-04-17 15:57:51 +08:00
Joshua Flowers 44e8c56d88 Run count query early to maybe skip order id query 2019-04-17 15:50:46 +08:00
Paul Sealock 9c8e0ff666 Merge pull request woocommerce/woocommerce-admin#2018 from woocommerce/try/extension-build-env
Try: Extension Examples
2019-04-17 15:12:42 +12:00
Ajay Ghaghretiya 4dddb62195 Fix-woocommerce/woocommerce-admin#1982 (https://github.com/woocommerce/woocommerce-admin/pull/2019)
* Fix-woocommerce/woocommerce-admin#1982

* Fix-woocommerce/woocommerce-admin#1982 #Tabs replaced with spaces

* woocommerce/woocommerce-admin#1982

* Fix-woocommerce/woocommerce-admin#1982 Resolved Inline comments must end in full-stops, exclamation marks, or question marks.

* update with tabs 

fixes formatting

* update woocommerce-admin.php

tab formatting fixes.

* Update woocommerce-admin.php

Update

Co-Authored-By: Mr-AjayM <32254909+Mr-AjayM@users.noreply.github.com>

* Update woocommerce-admin.php

remove leading /

Co-Authored-By: Mr-AjayM <32254909+Mr-AjayM@users.noreply.github.com>
2019-04-16 10:11:34 +02:00
Albert Juhé Lluveras d38b888a2e Check if welcome message notice exists before creating it (https://github.com/woocommerce/woocommerce-admin/pull/2063) 2019-04-16 09:31:50 +02:00
Albert Juhé Lluveras dab7cf7dff Respect manual offsets in default before/after params (https://github.com/woocommerce/woocommerce-admin/pull/2042) 2019-04-15 19:28:19 +02:00
ronakganatra9 efb6bba9bd woocommerce/woocommerce-admin#1981 Fix/1981 welcome note added (https://github.com/woocommerce/woocommerce-admin/pull/2005)
* Added new admin note on plugin install. Fix-1981

* fix phpcs errors

* cbf change

* changes in phpcs error.

* Update includes/notes/class-wc-admin-notes-welcome-message.php

Co-Authored-By: ronakganatra9 <ronakganatra9@gmail.com>

* Changes implemented as per suggestion.

* suggestions apply of condition check and note name change.

* phpcs changes.

* mistake solved.
2019-04-15 09:34:27 +02:00
Jeff Stieler ef0fd73f2c Merge pull request woocommerce/woocommerce-admin#1998 from woocommerce/add/247-stock-panel
Hook up Stock panel
2019-04-12 09:19:21 -06:00
Joshua Flowers fcf0994276 Fix missing batch action arguments 2019-04-12 16:50:43 +08:00
Joshua Flowers f213f5cb66 Make customer name empty string by default instead of null 2019-04-12 16:50:43 +08:00
Joshua Flowers 0a42757628 Process customer during order update instead of pre-processing all 2019-04-12 16:50:42 +08:00
Joshua Flowers 780c9da3d2 Hook up regenerate UI setting to new import endpoint 2019-04-12 16:50:42 +08:00
Joshua Flowers 1f016b5418 Add days and skip options to regenerate reports function 2019-04-12 16:50:42 +08:00
Joshua Flowers 4180b48346 Add reports import controller and endpoint 2019-04-12 16:50:42 +08:00
Justin Shreve 7fc70157c9 WC_Admin_Loader/PHP Refactor + Method to publish core ready features (https://github.com/woocommerce/woocommerce-admin/pull/1863)
* Try: Setup plugin to publish core library on npm

* Documentation clean up.

* Handle PR Feedback: Fix notices from happening in WC Core from API usage, fix sidebar dashboard ordering in menu, remove preload function check since we are supporting WP 5+, add a filter for preloading data and move usage to respective feature code, move features to a specific folder for bundiling, fix script translations.

* Fix code comment on analytics preload

* Continue refactoring code, and make it possible to launch 'embedded' features via the process as well.

* Fix note hook

* Fix note load order

* Address PR feedback: Fix class name, load leaderboard endpoint

* Remove example code prior to merge
2019-04-11 14:31:31 -04:00
Joshua T Flowers eb0b137020 Hook up leaderboards endpoint to dashboard (https://github.com/woocommerce/woocommerce-admin/pull/2004)
* Add allowed leaderboards endpoint to prefetch list

* Hook up leadboards endpoint to dashboard

* Skip data fetch for leaderboard if per page is less than 1

* Add tests to check for rendered html display
2019-04-11 10:53:05 +08:00
Jeff Stieler 4b2ac14994 Merge pull request woocommerce/woocommerce-admin#2015 from woocommerce/notes-queue-group
add WCA queue group to the unsnooze notes scheduled action
2019-04-10 10:21:39 -06:00
Justin Shreve 4727417746 Add a mobile app note (https://github.com/woocommerce/woocommerce-admin/pull/2008) 2019-04-10 11:49:02 -04:00
Albert Juhé Lluveras 5ae9ee65b0 PHP Lint fixes (https://github.com/woocommerce/woocommerce-admin/pull/2023) 2019-04-10 10:49:00 +02:00
Joshua T Flowers e31be343e2 Make customer name extendable (https://github.com/woocommerce/woocommerce-admin/pull/1976)
* Make customer name extendable

* Update get_customer_name to favor user profile information

* Update customer name on profile update

* Add tests around customer name getting and setting

* Prefix customer name filter with woocommerce_reports_
2019-04-09 11:39:39 +08:00
Joshua T Flowers f682fe76be Add leaderboard controller and endpoint (https://github.com/woocommerce/woocommerce-admin/pull/1995)
* Add leaderboard controller and endpoint

* Add existing leaderboard stats to leaderboard endpoint

* Add persisted query to leaderboard params

* Add leaderboard endpoint tests

* Check if extended_info params are set before assigning

* Change number param input format to mixed inside wc_admin_number_format
2019-04-09 11:34:56 +08:00
Jeff Stieler 2ec3e9843a Merge pull request woocommerce/woocommerce-admin#1872 from woocommerce/add/1831-order-milestone-notifications
Add order milestone notifications.
2019-04-08 16:04:07 -06:00
Jeff Stieler f734f01598 Clear recurring order milestones event on plugin deactivation. 2019-04-08 13:10:39 -06:00
Ron Rennick 870f7ddfcf add WCA queue group to the unsnooze notes scheduled action 2019-04-08 16:04:56 -03:00
Joshua T Flowers 753780bf7b Onboarding: Add levels REST API (https://github.com/woocommerce/woocommerce-admin/pull/1938)
* Add levels rest controller

* Add default levels

* Add onboarding level API tests

* Drop all since tags

* Make pre-response levels array associative for easier formatting

* Fix level tests for associative array
2019-04-05 10:35:30 +08:00
Ron Rennick 14d0d24762 phpcs lint fixes for /data-stores/ folder 2019-04-03 16:19:43 -03:00
Jeff Stieler 9bcbda0f98 Add expected (missing) properties to product variation API response.
Parent product ID, name, and product type.
2019-04-03 12:35:18 -06:00
Joshua T Flowers 0c5c1c3db4 Remove coupon_total from order stats table (https://github.com/woocommerce/woocommerce-admin/pull/1975)
* Remove coupons_total from order stats table

* Replace discount amount with coupon objects in stat tests
2019-04-03 09:37:17 +08:00
Ron Rennick c061bfd925 Merge pull request woocommerce/woocommerce-admin#1977 from woocommerce/fix/1783
lookup product title in order meta if product has been deleted
2019-04-02 16:13:47 -03:00
Ron Rennick 1d0e78e626 code alignment for linter 2019-04-02 15:20:23 -03:00
Jeff Stieler 18a2dd01cb Add variations to low stock query. 2019-04-02 11:37:24 -06:00
Jeff Stieler 6f2c11270b Clear cache when checking order count for the first two milestones. 2019-04-02 08:35:28 -06:00
Jeff Stieler e6e905919d Fix conditional for hooking the first two milestones action. 2019-04-02 08:34:22 -06:00
Ron Rennick 3a8ddbe3aa lookup product title in order meta if product has been deleted 2019-04-02 09:24:52 -03:00
Joshua T Flowers b03362da68 Cast order totals as floats when calculating net total (https://github.com/woocommerce/woocommerce-admin/pull/1945) 2019-04-02 13:43:12 +08:00
Jeff Stieler 632e4fd09d Add filter for order milestone statuses. 2019-04-01 16:37:55 -06:00
Jeff Stieler b9e02d0b61 Change 100+ order milestone message and CTA. 2019-04-01 16:37:54 -06:00
Jeff Stieler f610223708 Check for new order milestones every hour.
Only show one notification at a time.
2019-04-01 16:37:54 -06:00
Jeff Stieler 0893198f37 Add more orders count milestone notifications.
Also avoid notifications for thresholds passed before the plugin was activated.
2019-04-01 16:37:53 -06:00
Jeff Stieler e5a4a45ae5 Add milestone note for the store’s first 10 orders. 2019-04-01 16:37:53 -06:00
Jeff Stieler a31d0114cb Add first order milestone notification. 2019-04-01 16:37:53 -06:00
Jeff Stieler 57957633f4 Fix WC_Admin_Note default content data.
Arrays get serialized differently and object is required for successful retrieval.
2019-04-01 16:32:38 -06:00
Ron Rennick f730a8ec5d Only check for unsnooze note scheduled action in admin_init 2019-04-01 11:31:28 -03:00
Albert Juhé Lluveras 17141cd4d8 Update Variations controller filter names (https://github.com/woocommerce/woocommerce-admin/pull/1949) 2019-04-01 10:09:53 +02:00
Albert Juhé Lluveras 458f3ed065 Fix SKU sorting in the Variations report when a comparison is active (https://github.com/woocommerce/woocommerce-admin/pull/1952)
* make is sortable true.

* Variations endpoint: Fix sorting by SKU when there is an active comparison

* Cleanup

* Extract FROM parameter logic to 'get_from_sql_params'

* Remove unnecessary 'get_order_by_sql_params' from Products and Variations data stores
2019-04-01 10:09:45 +02:00
Joshua T Flowers 9c3faea12f Refactor notes controller and add ordering params (https://github.com/woocommerce/woocommerce-admin/pull/1878)
* Separate notes controller request args and add collection params

* Fix page param var

* Fix collection params sanitization

* Allow array of note types to be queried

* Add order and orderby collection params to notes controller

* Allow sorting by order and orderby params in notes data store

* Make sure notes are ordered by date and unread matches inbox note types

* Allow status or type params to use an array of items

* Add tests for notes ordering

* Remove unnecessary query arg assignment in the notes data store

* Update get_notes_count to use array for status and type
2019-04-01 10:53:34 +08:00
Joshua T Flowers 5324f223b6 Check for existence of orders before adding historical data note (https://github.com/woocommerce/woocommerce-admin/pull/1943)
* Check for existence of orders before adding historical data note

* Don't add historical data note on version upgrade
2019-04-01 10:25:53 +08:00
Joshua T Flowers 42ddfc0108 Add coupons count to data store and hook up to summary numbers in orders report (https://github.com/woocommerce/woocommerce-admin/pull/1912)
* Change coupons sum to distinct coupon count in REST API

* Hook up unique coupon count to orders summary numbers

* Add coupons count to order segmenting

* Add coupons count to expected stats in order test and revenue tests
2019-04-01 10:16:57 +08:00
ronakganatra9 3cddc714c6 issue fix woocommerce/woocommerce-admin#1801 SKU filter issue fixed. (https://github.com/woocommerce/woocommerce-admin/pull/1837)
* issue fix woocommerce/woocommerce-admin#1801 SKU filter issue fixed.

* make is sortable true.

* phpcs error fix.

* Fix PHPCS errors and warnings.

* Fix PHPCS errors and warnings.

* Update client/analytics/report/products/table-variations.js

Co-Authored-By: ronakganatra9 <ronakganatra9@gmail.com>

* Update includes/data-stores/class-wc-admin-reports-variations-data-store.php

Co-Authored-By: ronakganatra9 <ronakganatra9@gmail.com>

* changed postmeta.meta_value to meta_value
2019-03-31 20:53:48 +02:00
Joshua T Flowers 6ff9d0673a Add low product stock indicator (https://github.com/woocommerce/woocommerce-admin/pull/1866)
* Move product low stock count to controller param instead of data store

* Add totalCount to items API

* Extract unread indicators to separate file and add unread stock

* Trim initial search variable in wp_query

* Parse low stock option as an absolute integer

* Fix low stock meta comparison with product specific low stock amount

* Make group by query function static

* Check for empty strings and null values for product low_stock_amount
2019-03-29 10:45:19 +08:00
Paul Sealock 3dd99108fa Customers API: fix exact match params 2019-03-29 11:40:37 +13:00
Paul Sealock 0c4e4717d9 Merge pull request woocommerce/woocommerce-admin#1936 from woocommerce/fix/rebuild-inifinite-loop
Sync: Avoid infinite loop when REPLACE-ing SQL rows
2019-03-29 09:36:39 +13:00
Paul Sealock f9ab21e745 Sync: Avoid infinite loop when REPLACE-ing SQL rows 2019-03-28 16:19:11 +13:00