Commit Graph

112 Commits

Author SHA1 Message Date
Jonathan Sadowski 661aa38b6b REST API: Update date_query usage in CRUS controller to be consistent, and generate an array of queries 2021-05-14 13:26:30 -05:00
Néstor Soriano d2da61ac53
Merge pull request #28132 from TimBHowe/update/fix-28111 2021-05-12 08:42:34 +02:00
Tim Howe f179ff6741 Added dates_are_gmt parameter to allow the uses of post_date_gmt column with the before and after parameters for the order RESTAPI 2021-05-06 17:06:06 -04:00
TimBHowe 98af7209da Added the 'after_gmt' and 'before_gm' parameters 2021-05-06 10:58:27 -04:00
Nestor Soriano 7f2c2d8b72
Add logging for errors during the execution of a debug tool. 2021-04-29 11:20:25 +02:00
Nestor Soriano 10adec6b88
Improvements in the engine behind the debug tools page.
Two new optional keys have been added to the tool definition array:

- 'disabled': when true the tool button will appear disabled.
- 'needs_refresh': when running a tool, by default the tool definitions
  are retrieved first, then the selected tool is executed,
  then the definitions previously retrieved are rendered.
  When this key is true the tool definitions are retrieved again
  after execution, useful for cases where the tool description
  or button enable/disable state changes after the tool execution.

Also now if a tool execution throws an exception a notice will be
shown with the execption message, previously the exception
was unhandled.
2021-04-28 10:24:23 +02:00
Nestor Soriano bad3df3e23
Fix code sniffer errors 2021-04-28 09:36:10 +02:00
roykho c73ce8ea04
Convert to using internal DI container 2021-04-16 12:23:40 -07:00
roykho 0bb3180d68
Schedule cron jobs for running the assign default cat function 2021-04-14 06:52:39 -07:00
roykho 8663c3b5f9
Assign default category to products closes #29540 2021-04-13 19:43:04 -07:00
Roy Ho e4502fe314
Merge pull request #29495 from woocommerce/fix/29472
Add "postcodes" and "cities" support for the REST API tax rate creation/update endpoint
2021-03-31 08:17:31 -07:00
Nestor Soriano 64e903f65f
Update REST API v3 taxes endpoint descriptions with deprecation/introduction information. 2021-03-31 12:41:53 +02:00
Nestor Soriano 8ff664e758
Fix "doing wrong wpdb::prepare" notice for REST API get taxes endpoint. 2021-03-31 12:09:20 +02:00
Nestor Soriano 0f271b10ed Apply coupon code instead of verified coupon to avoid caching issues
(in REST API endpoint to update order coupons)
2021-03-29 15:33:15 +02:00
Nestor Soriano 24973ec5eb Don't check validity of coupons already present in the order
(REST API endpoint to update order taxes)
2021-03-29 12:55:56 +02:00
Nestor Soriano b5e13bd771 Add support for "postcodes" and "cities" (arrays) fields to the
REST API endpoints for creating and updating taxes.
2021-03-25 14:56:40 +01:00
Nestor Soriano cd82c48a73 Fix: WC_REST_Taxes_V1_Controller::create_or_update_tax erroring when
no core fields were included in the request (e.g. only postcodes
or cities were specified)
2021-03-25 14:56:40 +01:00
Nestor Soriano 4c07ab6ae6 WC_REST_Taxes_V1_Controller::get_items: add 'priority' to the schema for 'orderby' 2021-03-25 09:41:10 +01:00
Nestor Soriano c1427fc5ee Improvements in WC_REST_Taxes_V1_Controller::get_items :
- Use wpdb->prepare to compose the queries.
- Actually make use of the 'order' parameter.
2021-03-25 09:38:23 +01:00
Nestor Soriano 0baa2d6314 Fix code sniffer errors in WC_REST_Taxes_V1_Controller 2021-03-25 09:36:21 +01:00
Nestor Soriano 2b8cac7cf2 Fix the REST API entry point to add coupons to an order.
- Check input (no 'id', has 'code') and throw an error if needed
  before removing the existing coupons, so an invalid input
  won't cause the loss of these existing coupons.
- Also, check that the coupon is actually valid as part of the
  input check.
- Cache the coupon objects that are created during the input check,
  and apply them directly.
- Don't check if 'coupon_lines' is an array and contains arrays,
  that's already done by the REST API engine by looking at the schema.
- Adjust unit tests.
2021-03-24 15:19:34 +01:00
Néstor Soriano df78a5cba6
Merge pull request #27751 from mahmoudsaeed/fix-rest-tax
Fix taxes endpoint not returning multiple postcodes/cities
2021-03-23 17:04:09 +01:00
Néstor Soriano 17224d0ab1
Merge pull request #29345 from woocommerce/hw/low-stock-threshold-for-variations
Low stock threshold for variations
2021-03-17 08:59:32 +01:00
Mahmoud Saeed 0e13eb1320 Fix taxes endpoint not returning multiple postcodes/cities 2021-03-15 22:16:36 +02:00
Peter Fabian 8bfa97d633 Use null rather than empty string to signify unset value. 2021-03-15 12:37:39 +01:00
Roy Ho ee90c02f63
Merge pull request #29218 from wywarren/fix/27553
Fix for issue #27553 - REST API v3 not supporting settings type `order` and `class` for settings type on shipping zone methods
2021-03-11 09:22:34 -08:00
Peter Fabian b48a389264 Add support for low stock amount to REST API v3. Ref #27371. 2021-03-11 16:21:43 +01:00
roykho cb0b92750b
Extract recount terms logic into own function closes #25375 2021-03-04 09:06:03 -08:00
Warren Wang d6b2e91c9d Minor adjustments to fit coding standards
Added periods to comments and proper spacing and capitalization to comments.
2021-02-26 13:45:20 +08:00
Warren Wang 8605ada7cf Fix for issue #27553
REST API v3 shipping method zone endpoint input payload not allowing settings type to be of type `class` or `order`. Added missing item schema.
2021-02-25 18:01:49 +08:00
Vedanshu Jain 03ba8838b1
Merge pull request #29099 from woocommerce/fix/27376
Make the refunds creation REST API behave more as documented
2021-02-18 14:25:38 +05:30
Claudio Sanches 6fae8ca40b
Merge pull request #29146 from woocommerce/fix/27290-rest-api-order-updates
Throw an error if a coupon item ID (readonly) is specified during an order update | #27290
2021-02-16 17:04:49 -03:00
barryhughes 24e0191dc7 Throw a 400 error if a coupon item ID (readonly) is posted/put during an order update | #27290 2021-02-16 09:59:03 -08:00
Nestor Soriano 4e195d5f3f Fix code sniffer errors. 2021-02-12 15:29:32 +01:00
Nestor Soriano 00d6dc40f7 Fix wrong caching of taxonomy in terms and attributes controllers.
The WC_REST_Terms_Controller and WC_REST_Product_Attributes_V1_Controller
classes have a get_taxonomy method that gets the name of the taxonomy
to process from a taxonomy id passed in the request, but once the
taxonomy name has been obtained it's cached and sbsequently reused.
The problem is that these controller instances are reused if more than
one request is processed programmatically, and thus the taxonomy that
was cached once is always used even if the new request specifies a
different taxonomy id.

The fix consists of using a dictionary of taxonomy id - taxonomy name
instead of one single taxonomy for caching.

In the case of WC_REST_Terms_Controller there's a protected $taxonomy
property that needs to be kept for compatibility, it's now set to
the last taxonomy name that has been introduced in the dictionary.
2021-02-12 15:12:58 +01:00
Nestor Soriano fae00e2bdf Make the refunds creation REST API behave more as documented
- Allow the list of line items to be a non-associative array
  where each item is identified by an "id" field
- Same for taxes inside line items, specify amount to refund in
  a "refund_total" key as in the case of line items
- Allow "quantity" keys as synonyms of "qty"

Also calculate "amount" automatically if missing and when all the
line items and taxes have a valid "refund_total" key.
2021-02-11 09:51:13 +01:00
Claudio Sanches ea54d5ad5f
Merge pull request #28679 from woocommerce/fix/woocommerce-gutenberg-products-block-issues-3565
Show correct WooCommerce pages status if they are using blocks vs shortcode.
2021-01-18 19:26:34 -03:00
budzanowski f9cbc0ccac Remove filters that we don't need yet. 2021-01-14 10:24:39 +01:00
vedanshujain f8bcf6271d Revert order and product controllers to use WP Post queries directly.
This commit revert some of the changes added in #27735 because wc_get_products and wc_get_orders is not fully compitable with API controller queries. Since we are close to release 4.9, its better to revert and fix them properly then rush a fix. This undones some the performance improvements we acheived in 27735, in favor of more stability, hopefully we will be able to restore this soon.
2021-01-07 16:47:54 +05:30
budzanowski 1cf09eb063 Simplify. 2021-01-06 15:30:13 +01:00
budzanowski d5babd800a Review refactor. 2021-01-06 15:28:51 +01:00
vedanshujain 27b22d3aaa Move the logic to set stock_status from V2 to V3. 2021-01-06 17:55:56 +05:30
budzanowski 29837c42ff Refactor. 2021-01-06 11:33:28 +01:00
vedanshujain 2ae6c5b543 Also fetch dependencies for fields which are computed from other fields. 2021-01-06 15:09:50 +05:30
vedanshujain 0d43aecebd Also fetch in_stock when stock_status requested in V2.
When called from V3, controller calls V2s get_product_data method, where stock_status was did not existed and was renamed. In V3 controller, we compute it based on V2 in_stock field.
2021-01-06 14:14:59 +05:30
budzanowski 325f72afe1 Merge branch 'master' into fix/woocommerce-gutenberg-products-block-issues-3565 2021-01-06 09:01:17 +01:00
jonathansadowski 1e267980e8
Merge pull request #28723 from woocommerce/feature/issue-27208
Feature/issue 27208
2021-01-05 14:00:55 -06:00
roykho b25f01d2f3
Add unit tests 2021-01-05 08:14:39 -08:00
vedanshujain 3a7e3fda34 Use `!empty` for consistency with other usages. 2021-01-05 16:37:39 +05:30
vedanshujain 80f5d35311 Apply coding standards w.r.t PR #28677 2021-01-05 13:47:16 +05:30