Commit Graph

7900 Commits

Author SHA1 Message Date
Jeff Stieler 9cfe89bbb6 Remove WC_REST_Settings_Options_Controller dependency on WC_REST_Settings_API_Controller. 2016-07-19 10:41:22 -07:00
Jeff Stieler b31818e695 Remove WC_REST_Settings_Controller dependency on WC_REST_Settings_API_Controller. 2016-07-19 10:41:22 -07:00
Jeff Stieler 6f36179fe6 Rename WC_Rest_Settings_Groups_Controller to WC_Rest_Settings_Controller. 2016-07-19 10:41:22 -07:00
Jeff Stieler f56a79c74b Rename WC_Rest_Settings_Controller to WC_Rest_Settings_Options_Controller. 2016-07-19 10:41:22 -07:00
Jeff Stieler 8b0416c4b2 When saving settings, only allow values found in “options” for “select” type fields. 2016-07-19 10:41:22 -07:00
Jeff Stieler 1fc539992c Break “legacy” setting to “new” conversion into it’s own method. 2016-07-19 10:41:22 -07:00
Jeff Stieler 1cde743121 Reuse WC Admin Setting’s save_fields() instead of duplicating code for sanitizing saved values. 2016-07-19 10:41:22 -07:00
Jeff Stieler 832df9ab3e Use WC Admin Settings’s get_option() in REST Settings controller instead of duplicating code. 2016-07-19 10:41:22 -07:00
Jeff Stieler 586bf5d842 Take in options data to be saved as an optional argument, defaulting to $_POST.
This allows for reuse of the options field saving mechanism.
2016-07-19 10:41:22 -07:00
Jeff Stieler 8939af0d0f Add _links to returned settings groups. 2016-07-19 10:41:22 -07:00
Jeff Stieler 7209369eab Don’t register legacy settings without IDs. 2016-07-19 10:41:22 -07:00
Jeff Stieler 0b940badeb Handle select options in setting sanitization function. 2016-07-19 10:41:22 -07:00
Jeff Stieler 49b1c188c7 Move bulk settings updating to the Settings controller, following existing batch endpoint patterns. 2016-07-19 10:41:22 -07:00
Jeff Stieler c9636bff39 Add _links to /settings/<group> and /settings/<group>/<setting> responses. 2016-07-19 10:41:22 -07:00
Jeff Stieler 0ddb8e777a Move settings group endpoint to Settings controller and only return settings-schema’d items. 2016-07-19 10:41:22 -07:00
Jeff Stieler aff1c82de2 Add Settings controller getter method for all group settings. 2016-07-19 10:41:22 -07:00
Jeff Stieler 092bfcb196 Match parent signature of prepare_item_for_response(), add getter method for settings. 2016-07-19 10:41:22 -07:00
Claudio Sanches cd01e71c3f Small tweaks to make it follow the REST API standards 2016-07-19 10:41:22 -07:00
Justin Shreve 5cb823f6c6 edit_item should be update_item 2016-07-19 10:41:22 -07:00
Justin Shreve 2580c39708 Rename update_ functions to edit_item, and get_groups/get_settings to get_item and get_items per feedback. Also move the namespace into each class. 2016-07-19 10:41:22 -07:00
Justin Shreve 170e2a1346 Split settings and groups controllers into two separate files. 2016-07-19 10:41:22 -07:00
Justin Shreve 5d0e15fdae Rename classic settings file to legacy settings 2016-07-19 10:41:22 -07:00
Justin Shreve e814dcc2f4 Rename classic -> legacy 2016-07-19 10:41:22 -07:00
Justin Shreve 8c211b87ef Fix how classic groups/settings are registered so that they are always avaiable when calling filters. 2016-07-19 10:41:22 -07:00
Justin Shreve 6bb546e11c Wrap up settings api 2016-07-19 10:41:22 -07:00
Justin Shreve 05a2644066 Wrap up settings endpoints for updating, finish tests. 2016-07-19 10:41:22 -07:00
Justin Shreve fa5425109e Refactor down to two concepts - settings groups and settings. Fix up tests, and start working on returning actual settings and their values. 2016-07-19 10:41:22 -07:00
Justin Shreve f425a3735a Add a test for settings groups, make sure any bad keys/values are filtered out, update docs. 2016-07-19 10:41:22 -07:00
Justin Shreve 785e43a207 Add group info to the single locations endpoint & update our docs 2016-07-19 10:41:22 -07:00
Justin Shreve 06e787a26d Misc cleanup. 2016-07-19 10:41:22 -07:00
Justin Shreve 6c2be482ca Add a permissions check to the locations endpoints and fill out the tests for them. 2016-07-19 10:41:22 -07:00
Justin Shreve eb4291f699 More setting location tests. 2016-07-19 10:41:22 -07:00
Justin Shreve 9369d55ff4 Add the ability to get data on a single location. 2016-07-19 10:41:22 -07:00
Justin Shreve c6b0debe26 Make /settings/locations work properly. Add skeleton for tests and add register_routes test. 2016-07-19 10:41:22 -07:00
Justin Shreve fc076eb57e Initial /settings API controller and /settings/locations route. Loads the WP-API and registers our namespace temporarily until WP-API is loaded by WC core. 2016-07-19 10:41:22 -07:00
Claudio Sanches 2b6cbc7629 Sanitize image metadata 2016-07-19 14:24:11 -03:00
Claudio Sanches 4ed8d46867 [REST API] Make easy to update order line items #11450 2016-07-19 14:11:44 -03:00
Mike Jolley f69c36729d Merge pull request #11475 from helgatheviking/filter_cart_id
add woocommerce_cart_id filter
2016-07-19 17:47:23 +02:00
Mike Jolley 664597b5c8 Tweak zone text
Closes #11472
2016-07-19 16:45:10 +01:00
Mike Jolley e5634c6946 Do not sanitize passwords
Closes #11473
@claudiosmweb
2016-07-19 16:43:15 +01:00
Kathy Darling cfafff192d add woocommerce_cart_id filter 2016-07-19 10:20:08 -05:00
Mike Jolley bf93f747c2 Handle range conversion during update
Closes #11403
2016-07-19 16:16:32 +01:00
Claudio Sanches 35c5a29cc2 Always remove commas while processing flat rate costs, closes #11346 2016-07-19 11:52:29 -03:00
Mike Jolley 84e883657c Merge pull request #11412 from jlad26/master
Fix layered nav links on product attribute archives
2016-07-19 15:20:47 +02:00
Mike Jolley f9c6764ecd Merge branch 'pr/11431' 2016-07-19 14:10:02 +01:00
Mike Jolley d79f21a501 Better search handling 2016-07-19 14:09:56 +01:00
Mike Jolley d326930d89 Helper to generate search sql 2016-07-19 14:09:31 +01:00
corsonr c2eb7f50ca display error if prefix longer than 20 2016-07-19 14:47:36 +02:00
Claudio Sanches aa367efdf0 Fixed a typo 2016-07-19 09:37:42 -03:00
Claudio Sanches 8d5f0d5c11 Merge pull request #11471 from woothemes/fix-free-shipping
Fix free shipping
2016-07-19 09:36:12 -03:00
Claudio Sanches 70bf9bfcd6 Fixed show/hide free amount in modals 2016-07-19 09:33:56 -03:00
Mike Jolley aab6f86652 Merge pull request #11465 from stratosvetsos/fix-grouped-addtocart-message
closes #11448
2016-07-19 14:17:11 +02:00
corsonr eab45222a4 fixed parse error 2016-07-19 14:13:31 +02:00
corsonr c385e57fbe added esc_html() and conditional statement 2016-07-19 14:11:09 +02:00
Claudio Sanches 19713f8bc7 Improved free shipping method and fixed missing filters 2016-07-19 09:05:25 -03:00
Mike Jolley 0a4f2725de Merge pull request #11449 from rodrigoprimo/improve-wp-count-comments
Cache the result of WC_Comments::wp_count_comments() in a transient
2016-07-19 14:00:34 +02:00
Mike Jolley 183fb46c4d Merge pull request #11447 from jamesckemp/patch-3
Add shortcode name param to shortcode_atts functions
2016-07-19 13:42:48 +02:00
Claudio Sanches a8becb24ba Check if product exists to avoid fatal errors on emails order schema markup, closes #11459 2016-07-19 08:21:06 -03:00
Claudio Sanches 14eeee15ee Welcome to docs.woocommerce.com 2016-07-19 07:30:31 -03:00
corsonr 06e8c7e6de Add database prefix to status report 2016-07-19 09:12:06 +02:00
Stratos Vetsos f4f3b5e364 closes #11448 2016-07-18 20:52:26 +03:00
Rodrigo Primo 7318235f58 Cache the result of WC_Comments::wp_count_comments() in a transient
The query to count comments inside WC_Comments::wp_count_comments() is super slow when the site has a significant number of comments (for example, this query takes about 5s to run on WooCommerce.com with 70k comments) and this is a problem specially considering that this method is called on every admin page.

This commit changes WC_Comments::wp_count_comments() to store the comments count in a transient. With this change, the method will run the query to count comments only if the number of comments or their statuses had changed. Before this commit, WC_Comments::wp_count_comments() would run the database query every time a admin page was requested.
2016-07-15 15:01:21 +02:00
James Kemp f39e338ca2 Add shortcode name param to shortcode_atts functions
Adding this allows plugin/theme authors to easily add additional attributes to the shortcodes using the "shortcode_atts_$shortcode" filter. Please consider!
2016-07-15 08:49:44 +01:00
Mike Jolley 53511e36ec Use permission id to revoke access to downloads to prevent removing wrong rows.
Fixes #11423 @claudiosmweb
2016-07-14 15:54:28 +02:00
Claudio Sanches 09ac79e7e1 Minify files 2016-07-14 15:48:11 +02:00
Claudio Sanches 5016d38941 Merge pull request #11433 from danielhuesken/master
API: Add missing schema and output to visible field in products rest api
2016-07-14 15:34:28 +02:00
Mike Jolley 23c853dc3b When duplicating product variations, set title, name, and guid.
Fixes #11311 @claudiosmweb
2016-07-14 14:54:39 +02:00
Claudio Sanches d7aea130b0 Fixed unformated reviews
cc @mikejolley
2016-07-14 13:52:04 +02:00
Daniel Hüsken 602bd1f0cc API: Add missing schema and output to visible field in products rest api 2016-07-14 08:41:02 +02:00
Leon Francis Shelhamer a9e7c67230 fix search results layered nav counts issue 2016-07-13 21:44:00 -04:00
Leon Francis Shelhamer 20c4a8bf77 Show shipping method titles in Add shipping method modal
The modal was calling shipping method titles with $method->title this resulted in blank select options. I replaced it with $method->method_title to fix this.
2016-07-13 21:16:59 -04:00
Claudio Sanches 6faeb89dd5 [REST API] Fixed variable images and downloads, closes #11420 2016-07-13 10:30:00 +02:00
jlad26 ce0485a97c Fix layered nav links on product attribute archives
If the option 'Enable archives' is selected for a product attribute, then the layered nav widget can also be used to filter that archive.
However the widget then doesn't work correctly in 'List' and 'OR' mode for that archive (although it works fine on the main shop page).

Example:
The attribute "product-type" is created and archives are enabled. It has values like "Courses", "One-to-one-tuition", "Equipment rental" and so on. Another product attribute "teaching-level" is created which uses values of "Beginner", "Intermediate" and "Advanced".
When the archive http://www.domain.com/pa_product-type/courses/ is visited the correct products are displayed. A layered nav widget is added in 'List' and 'OR' mode for the attribute 'teaching-level'. Clicking on any of "Beginner", "Intermediate" and "Advanced" will work fine the first time as the links are correctly generated in the form http://www.domain.com/pa_product-type/courses/?filter_teaching-level=advanced&query_type_teaching-level=or. (Advanced used for the example). However once one has been clicked, the links generated are now incorrect - they are in the form http://www.domain.com/?taxonomy=pa_teaching-level&term=advanced&filter_teaching-level=advanced%2Cbeginner&query_type_teaching-level=or.

Using get_queried_object instead of get_query_var fixes the problem.
2016-07-12 11:46:16 +01:00
Claudio Sanches 7b6bd21810 Updated PayPal credentials docs URL, closes #11406 2016-07-12 09:33:45 +02:00
Claudio Sanches 7778583340 Fixed wrong number of decimal precision, closes #11368 2016-07-11 17:26:54 +02:00
Claudio Sanches 7d9d091767 Fixed mixed tabs and spaces 2016-07-11 16:56:35 +02:00
Claudio Sanches ec1c30283f Make easy to remove meta query items, closes #11339 2016-07-11 15:48:47 +02:00
Claudio Sanches 4c380aaa8d [REST API] Fixed webhook secret format 2016-07-11 15:26:46 +02:00
Dwain Maralack 34810062eb use strict comparison for in array check because index of zero 0 == anystring will be true, which results in an error notice 2016-07-08 14:30:38 +02:00
Claudio Sanches 32f980518d Merge pull request #11323 from danielvonmitschke/class-wc-ajax-filter-hooks
Added two filter hooks in WC_AJAX class
2016-07-07 17:06:25 -03:00
Claudio Sanches 1ff19a31b1 [REST API] Fixed wrong error message when try update a product using the same name, closes #11373 2016-07-06 23:23:53 -03:00
Claudio Sanches 2ed2b6d4c6 Merge pull request #11366 from tivnet/patch-5
Typo in WC_Email_Customer_New_Account
2016-07-05 21:17:12 -03:00
Claudio Sanches eb4dfc46f1 Renove spaces and dashs from zipcode while making numeric, closes #11359 2016-07-05 21:15:22 -03:00
Claudio Sanches c59a5c0c31 Say hello to woocommerce.com 2016-07-05 19:52:16 -03:00
Gregory Karpinsky 7814acb96e Typo in WC_Email_Customer_New_Account 2016-07-05 18:48:40 -04:00
Claudio Sanches 475cc036e5 Return full URL when using wc_get_account_endpoint_url() function, closes #11365 2016-07-05 19:09:03 -03:00
Claudio Sanches 268d0b2241 Merge pull request #11362 from joshuadwire/master
Include child prices in grouped_price_html filter
2016-07-05 18:25:11 -03:00
Sven Wagener d5a414d0e3 Instance ID have to be checked, because on using settings and instace settings together every time the instance settings will be fetched. 2016-07-05 21:03:18 +02:00
Joshua Dwire 2c42a81089 Include child prices in grouped_price_html filter 2016-07-05 09:44:26 -04:00
Paul Kilmurray 75379a6025 fix typo
#11349
2016-07-05 11:44:22 +08:00
Claudio Sanches 6fafe2c531 Fixed how calculate shipping tax rates when using more than one tax class
Closes #11349

cc @mikejolley
2016-07-04 17:52:53 -03:00
Claudio Sanches 8d23577683 Fixed the load of the WC_Email_Customer_On_Hold_Order class, closes #11348 2016-07-04 17:37:16 -03:00
Claudio Sanches 8f62c322dd [REST API] Fixed check for product types, closes #11341 2016-07-04 17:24:39 -03:00
Claudio Sanches 0fe6be1eec [REST API] Delete variations when deletes a variable product, closes #11345 2016-07-04 16:42:07 -03:00
Patrick Rauland efee5d9b9b updating rating admin footer text to remove references to WooThemes 2016-07-04 11:33:24 -06:00
Claudio Sanches 7c8fc856e4 Merge branch 'master' of github.com:woothemes/woocommerce 2016-07-03 20:41:13 -03:00
Claudio Sanches 6ffd059680 Allow filter variation stock quantity, closes #11340 2016-07-03 20:40:59 -03:00
Herb Miller fd3637c008 Correct short description for my_account 2016-07-02 13:52:18 +01:00
Mike Jolley 99e1e215bb Tooltips 2016-07-01 12:06:31 +01:00
Mike Jolley c495552301 Same for variations 2016-07-01 12:01:37 +01:00
Mike Jolley 6422669c95 Base is_in_stock purely on stock status and not stock levels 2016-07-01 11:59:52 +01:00
danielvonmitschke 857647cc06 Added '$_product' argument to 'woocommerce_restock_refunded_item' hook
currently the hook is only using $_product->id but it might be useful
not to only know the product but also the explicit variation that was
refunded.
2016-07-01 12:53:08 +02:00
danielvonmitschke abce9cc8b6 Added a filter hook for the wc_ajax endpoint url
This might come in handy for some custom ajax implementations
2016-07-01 12:51:37 +02:00
Claudio Sanches 81690c4dee Fixed duplicated semicolon 2016-06-30 18:25:39 -03:00
Claudio Sanches ef41395ae9 [2.6] [REST API] Added support for WP REST API with custom URL prefix 2016-06-30 18:23:21 -03:00
Claudio Sanches 69b976e3a9 [REST API] Remove the term if something fails while creating, closes #11303 2016-06-30 15:24:23 -03:00
Claudio Sanches 08f95481e0 Normalize the "Read more" button text, closes #11319 2016-06-30 15:16:26 -03:00
Claudio Sanches 57ac24ace8 Merge pull request #11318 from kristinaplauche/jquery-minify
11317
2016-06-30 15:05:02 -03:00
Kristina Plauche 4913539977 11318 update
Applied update suggested by Claudio
2016-06-30 14:02:16 -04:00
Claudio Sanches 3592bb61ba Fixed payment-methods exclusion from accout menu items 2016-06-30 14:38:34 -03:00
Kristina Plauche 2f99cb7211 11317
Makes jquery-ui minify
2016-06-30 13:06:42 -04:00
Claudio Sanches 18b1b8c238 Disable empty my account endpoints, closes #11274 2016-06-30 13:58:10 -03:00
Claudio Sanches 529fa3eb58 [REST API] Improve how handle product and variations images #11310 2016-06-30 13:03:52 -03:00
kongper 132c848b38 Closes woothemes/woocommerce#11309 2016-06-30 14:38:41 +02:00
Mike Jolley a942cfade8 Make sure page ID is > 0
Closes #11305
2016-06-30 12:23:41 +01:00
Mike Jolley 930cc3fbd3 Use notice type
Closes #11307
2016-06-30 12:10:27 +01:00
Mike Jolley f7bfb39c77 Merge pull request #11291 from rodrigoprimo/improve-wc-orders-count-performance
Improve wc_orders_count() performance by running a query to count only posts of the given status
2016-06-30 09:34:17 +01:00
Mike Jolley 53e75f3d4d Merge pull request #11300 from rspublishing/update-class-wc-meta-box-coupon-data.php
Updates class-wc-meta-box-coupon-data.php
2016-06-30 09:32:40 +01:00
Mike Jolley 361ab507d2 Cast class to array
Closes #11294
2016-06-30 08:47:06 +01:00
Mike Jolley 02f8e12ed5 Remove h1 and legacy icon, switch to nav element
Closes #11296
2016-06-30 08:39:04 +01:00
rspublishing 63c0445957 Replacing link 2016-06-30 09:25:39 +02:00
rspublishing 1a0f5ae723 Updates the includes/admin/meta-boxes/class-wc-meta-box-coupon-data.php file 2016-06-30 09:16:52 +02:00
Claudio Sanches 411585e8c8 Updated the default sorting of product_category shortcode, closes #11295 2016-06-30 04:16:22 -03:00
Claudio Sanches f8377fd55b Removed dead variable 2016-06-30 02:21:11 -03:00
Rodrigo Primo 3c485fc2a1 Use WC_Cache_Helper::get_cache_prefix() to generate the cache key for wc_orders_count() 2016-06-29 16:19:47 -03:00
Rodrigo Primo 1a394fbe02 Improve wc_orders_count() performance by running a query to count only posts of the given status
The function wc_orders_count() is called on every admin page. WooCommerce core uses it to count only orders with the status 'processing' and typically a site has only a few of those orders. But since wc_orders_count() calls internally wp_post_count() this means that MySQL will have to count the number of orders of all status. Thus, in a site with a significant number of orders, this query can be slow.

This commit changes wc_orders_count() function to query directly the database to get the number of orders for a given status instead of using wp_post_count(). On a WooCommerce installation I manage, the old query takes about 2 seconds to run and the new query takes 0.002 seconds.
2016-06-29 15:04:59 -03:00
Mike Jolley a9918043b9 Only show available on backorder if notifying customer 2016-06-29 15:51:20 +01:00
Mike Jolley 92c670acde Fix - woocommerce_local_pickup_methods comparison by stripping instance IDs before the check.
@claudiosmweb Seems that local_pickup in zones did not get base tax
applied due to method id mismatch.
2016-06-29 15:23:42 +01:00
Mike Jolley 697b24e262 Merge pull request #11285 from frozzare/pr/woocommerce_quantity_input
Set min and max value to empty string if not set
2016-06-29 14:03:32 +01:00
Fredrik Forsmo 755ede10a3 Set min and max value to empty string if not set 2016-06-29 13:13:11 +02:00
Mike Jolley 9a77620cc4 Split download permission query from order retrieval to reduce overhead.
Closes #11274 @claudiosmweb
2016-06-29 12:06:03 +01:00
Mike Jolley 01a2acabdc Should be empty check
#11283
2016-06-29 10:44:27 +01:00
Mike Jolley 0780d94d0b Merge pull request #11283 from frozzare/patch-1
Add isset to `home` args to fix PHP Notice
2016-06-29 10:43:43 +01:00
Mike Jolley ccd6389ecc Merge pull request #11244 from woothemes/password-reset-flow
Password resets with cookies
2016-06-29 10:43:24 +01:00
Fredrik Forsmo fd7b910afa Add isset to `home` args to fix PHP Notice
Fixes #11282
2016-06-29 09:27:28 +02:00
Shohei Tanaka 2ce84d0854 add JP (Japan) postcode format
match the postcode validation for Japan
2016-06-29 06:54:59 +09:00
Claudio Sanches 96626ac6fb Merge pull request #11275 from helgatheviking/master
fix link to Shipping zones from deprecated free shipping method
2016-06-28 15:28:12 -03:00
Claudio Sanches 7701d4ce99 Merge pull request #11277 from coderkevin/fix/checkout-section-urls
Fix checkout gateway section urls (#11273)
2016-06-28 15:18:32 -03:00
Kevin Killingsworth 89fda4204e Fix checkout gateway section urls (#11273)
Fixes issue #11273

Changes from class name to gateway id for section name.
2016-06-28 12:48:03 -05:00
Claudio Sanches ff50570b5c [REST API] Check if tax subtotal exists before to prevent errors, closes #11270 2016-06-28 14:44:01 -03:00
Kathy Darling f5cb48c76f fix link to Shipping zones from deprecated free shipping method 2016-06-28 10:31:26 -05:00
Mike Jolley 007bf780d1 Merge pull request #11272 from lordgiotto/master
Added $notice as second argument of "woocommerce_demo_store" filter
2016-06-28 16:26:19 +01:00
Lorenzo 449b3a949d Added $notice as second argument of "woocommerce_demo_store" filter 2016-06-28 16:26:26 +02:00
Mike Jolley adf0c2152e Fix - Don't sync ratings right away; meta won't exist in some cases. 2016-06-28 15:24:37 +01:00
Claudio Sanches 53552f8028 Require create webhook secret in the REST API 2016-06-27 21:55:54 -03:00
Claudio Sanches c7579c5f0b [REST API] Add "number" property to orders endpoint, closes #11250 2016-06-27 21:53:08 -03:00
Claudio Sanches cde356b259 Merge pull request #11261 from woothemes/fix-11245
Product coupon validation logic
2016-06-27 21:11:33 -03:00
Mike Jolley 2bbb1453fb External product SKU 2016-06-27 16:04:49 +01:00
Mike Jolley 48bba78cae Only apply new logic to product coupons 2016-06-27 15:58:08 +01:00
Mike Jolley 01b48e699a Fix exclude_product_ids prop 2016-06-27 15:02:58 +01:00