Commit Graph

1539 Commits

Author SHA1 Message Date
vedanshujain 1de30e8963 Refactor so that trait don't have class specific functions. 2019-11-26 01:30:45 +05:30
vedanshujain 60cd7b3651 Refactor Order Class to use shared calculation logic.
We added a trait to move shared logic betweem Orders and Cart. This commit refactors Order class to use that shared logic.
Also adds a test for a failing case.
2019-11-25 17:53:14 +05:30
vedanshujain bee7ea4490 Add trait which contains common total calc logic.
`WC_Abstract_Order` and `WC_Cart_Totals` have their own logic to calculate totals. This means that we would have to fix in two places. This commit adds a trait which can be used to place shared logic between above two classes.
2019-11-25 17:53:14 +05:30
Francesco Leanza dd3427958b Fixed order totals calculation if it contains taxable and non-taxable products and percentage coupons
Added PHPUnit tests
2019-11-21 11:28:22 +01:00
Claudio Sanches d53b73b56c Added support for "pay button" feature 2019-11-07 17:22:33 -03:00
Ian Jenkins 2340f269cf Add support for custom attributes to wc_placeholder_img().
When displaying a list of images you often want a specific class to be
attached to each image, therefore you pass through a custom class using
the attr parameter. Unfortunately this doesn't get passed through to a
placeholder image should one be needed. This means that, for example, if
you're custom class center an image or something, it won't be honoured
for placeholders, which can lead to some wonky image listings.

You can work around this currently by leverging the
`woocommerce_product_get_image` filter, but it's a bit gnarly as you
need to do some regexing or string splitting or something and checking
class names and what not. This provides a much easier way, by
supporting custom attrs on placeholder images as is the case for non
placehodler images.
2019-10-30 15:08:19 +00:00
Gerhard Potgieter c01a0916c3
Merge pull request #24559 from itzmekhokan/fix/24458
Fix backordered product missing backordered label on frontend
2019-10-02 15:28:26 +02:00
Vedanshu Jain 9641963001
Merge pull request #24740 from woocommerce/feature/24654
Make WC_Abstract_Order::recalculate_coupons() public
2019-10-02 15:56:36 +05:30
Vedanshu Jain 2188f9b788
Merge pull request #24341 from woocommerce/fix/24238
Check for max discount to be -ve to prevent overwriting fee.
2019-10-02 14:32:15 +05:30
Claudio Sanches 8c88cd9b6f Make WC_Abstract_Order::recalculate_coupons() public 2019-10-01 17:19:33 -03:00
Rodrigo Primo 4550bb6661
Merge pull request #24544 from woocommerce/fix/checkout-permalink
Prefer wc_get_checkout_url() instead of wc_get_page_permalink( 'checkout' )
2019-09-25 20:38:38 -03:00
Ayesh Karunaratne eec96d367c
Fix a typo in WC Payment Gateway abstract '3rd party gateway size' 2019-09-18 10:22:16 +05:30
vedanshujain 6f2d64dcb4 Check for max discount to be -ve to prevent overwriting fee.
When we refund fee and some other line item whose value is more than fee in a single requst, value of line item will overwrite refund fee.

This is because where we check to make sure that we do not discount more than total possible value (to prevent negative total), we do not account for the fact that sometimes the cart could contain refund items. In those cases max_discount * -1 will always be larges then fees total.

This commit adds a check to make sure that max discount * -1 is indeed negative before overwriting fee total.
2019-09-03 20:45:33 +05:30
itzmekhokan dcf3d71c79 Fixed issue #24458 2019-09-02 12:40:44 +05:30
Claudio Sanches e814105728 Prefer wc_get_checkout_url() instead of wc_get_page_permalink( 'checkout' ) 2019-08-30 13:06:50 -03:00
Claudio Sanches 78c5a37b4b Prevent PHP notices in WooCommerce widgets using Gutenberg's Legacy Widget Block 2019-08-01 14:43:59 -03:00
Gerhard Potgieter 52f1eb4060
Revert "Prevent negative prices on products" 2019-07-15 08:50:11 +02:00
Claudio Sanches 77191a97f8
Merge pull request #23705 from woocommerce/fix/23696
Prevent negative prices on products
2019-07-12 12:56:34 -03:00
Mike Jolley c928188831 Update from master 2019-07-10 12:57:02 +01:00
Claudio Sanches 01f5a09d27
Merge pull request #23338 from woocommerce/update/23335
More useful actions in during CRUD save events
2019-07-08 18:56:14 -03:00
rmalviya b5447cd060 Filter meta value even if key not found
Resolves #24062.
2019-07-03 22:25:51 +05:30
Claudio Sanches deec93f8ca
Merge pull request #23769 from mch0lic/master
Forward query (GET) parameters when executing a batch REST API request.
2019-06-24 12:39:36 -03:00
Mike Jolley 950f31a9e0 Remove abstract rest class that is in the package 2019-06-21 13:40:10 +01:00
Mike Jolley 7451659b24 Delete REST API abstract classes 2019-06-19 11:49:28 +01:00
Jared Burke 332c94c13a Fix fatal error when applying a virtual coupon to an order placed by a guest 2019-06-06 15:37:08 -05:00
Ajay Ghaghretiya c9bcce3a31 #23850 Fixed the coupon usage limit issue when apply coupon from admin panel (#23851)
* fix the coupon usage limit issue

* fix the if condition for the usage limit

* fixed coding standard

* fix the if conditions for coupon usage limit per user
2019-06-03 10:47:32 -03:00
Gerhard Potgieter b2ed079520 Manual orders coupon usage limits by email (#23775)
* Add functionality to wp-admin order to check for coupon usage based on email addresses, similar to how WC_Cart handles this seperately, included unit tests.

* Only do the coupon by email usage check if order is from a guest. Fix issue with unit test.
2019-05-27 11:45:29 -03:00
Claudio Sanches 28d49031d3
Merge pull request #23695 from james-allan/calc-base-zip-city
Calculate base store taxes including the store's zip and city
2019-05-22 20:49:57 -03:00
sergey.r 98586f10f4 Catch WC_REST_Exception while calling do_action( "woocommerce_rest_insert_{$this->post_type}_object" 2019-05-22 13:00:34 +03:00
Mindaugas Budreika d67381148a Forward query (GET) parameters when executing a batch REST API request. 2019-05-20 14:24:48 +04:00
Boris Djemrovski c45e06a130 get_formatted_line_subtotal takes Item object instead of an array 2019-05-16 12:04:34 +02:00
Gerhard Potgieter 30ce9ff6a3
Merge pull request #23689 from woocommerce/add/get_used_coupon_codes
Deprecate get_used_coupons in favor of get_coupon_codes
2019-05-15 15:34:40 +02:00
James Allan 6069854d9f Replace wc_get_base_location() with individual getters 2019-05-15 15:43:15 +10:00
Claudio Sanches b68b35336f Prevent negative prices for products 2019-05-14 13:22:06 -03:00
Gerhard Potgieter b7facc0674
Merge pull request #23663 from danielbitzer/add_get_coupons_method
Add WC_Abstract_Order::get_coupons()
2019-05-14 11:35:21 +02:00
Gerhard efe3e4c5d6 Move get_used_coupons to WC_Abstract_Legacy_Order and renamed get_used_coupon_codes to get_coupon_codes. 2019-05-14 11:19:48 +02:00
Daniel Bitzer 0705730121 Add WC_Abstract_Order::get_coupons() 2019-05-14 15:46:48 +09:30
James Allan 45b461639e Calculate base store taxes including the store's zip and city 2019-05-14 13:43:57 +10:00
Gerhard 31acfbcb4a Deprecate WC_Abstract_Order::get_used_coupons in favor of WC_Abstract_Order::get_used_coupon_codes, this reflects the actual data being returned better. 2019-05-13 14:40:54 +02:00
Nathan Dawson 6088f7c353 Fixes #23578 - Check taxes are enabled before adding totals row to orders 2019-05-01 22:05:46 +01:00
Mike Jolley 47eee0143f Restore order note on exception 2019-04-17 13:07:52 +01:00
Mike Jolley a0d4f6174c Consistent CRUD classes with before/after save hooks 2019-04-17 12:47:35 +01:00
Timmy Crawford e1c09b4609
Merge pull request #22973 from woocommerce/update/22545
Revised sale start/end date save logic
2019-03-14 17:53:40 -07:00
Mike Jolley cd92c68476 fix offset check 2019-03-11 15:00:42 +00:00
Mike Jolley c56d3ede9f Remove day offsets 2019-03-08 13:35:30 +00:00
Mike Jolley 76fabc9b7e
Merge pull request #22771 from martinsnajdr/flatrate-shipping-cost-filters
Shipping method get_option function filters
2019-03-04 13:49:22 +00:00
Martin Šnajdr 4f9d47ea25 PR requested changes: shipping instance option filter moved to get_instance_option function, filters renamed. 2019-02-27 17:31:51 +01:00
Mike Jolley 9529d6eee7 Use total, not amount, when calculating fees 2019-02-20 16:22:20 +00:00
Martin Snajdr 1c678372d4 Shipping cost filters removed & added two additional parameters get_option function filters 2019-02-20 15:59:40 +01:00
Martin Snajdr dfd4f4ea6d Filters added to shipping method function get_option 2019-02-20 11:54:59 +01:00
Mike Jolley b8921f9fba
Merge pull request #22420 from woocommerce/refactor/tax-rounding-methods
Refactor tax rounding methods for consistency
2019-02-12 16:13:58 +00:00
Mike Jolley 889cf64ac4 Merge branch 'performance/wc-get-product-class' 2019-02-07 13:34:18 +00:00
Claudiu Lodromanean 2d2d7a7053
Merge pull request #22613 from woocommerce/performance/set-props
Performance: `set_props`
2019-02-06 10:02:54 -08:00
Mike Jolley a4acf5643a
Merge pull request #22533 from woocommerce/fix/21265
Exclude `paged` from price slider
2019-02-04 10:18:51 +00:00
Mike Jolley 8b7414cfb5 Apply fix to rating filter 2019-02-01 14:13:37 +00:00
Mike Jolley 1e3e5a4528
Merge pull request #22580 from woocommerce/fix/22515
recalculate coupons after adding coupon to order
2019-01-31 14:38:59 +00:00
Mike Jolley 5e9253980b
Merge pull request #22566 from jenkoian/change-for-network-media-library-compatibility
Remove possibe superfluous wp_attachment_is_image() filter.
2019-01-31 14:20:35 +00:00
Mike Jolley 74cd1ced37 Merge branch 'fix/20710' 2019-01-31 13:37:02 +00:00
Mike Jolley 77eba86818 Get rid of reflection method to speed up set_props 2019-01-30 16:21:06 +00:00
Mike Jolley 9a8d11e9f6 phpcs 2019-01-30 16:20:49 +00:00
Mike Jolley 7eda1bb412 Only use WP Error when needed 2019-01-30 16:20:41 +00:00
Mike Jolley 59e0867afe Add missing post_password prop 2019-01-30 16:01:54 +00:00
Ron Rennick 3f24ad8d4c phpcs sniff fixes for abstract-wc-order.php 2019-01-27 11:38:08 -04:00
Ron Rennick d32f189f27 recalculate coupons after adding to order 2019-01-26 23:57:32 -04:00
Ian Jenkins d7e32e1c77 Remove possibe superfluous wp_attachment_is_image() filter.
The reason to remove this is that this function uses get_post() under
the hood which always assumes the attachment is on the same site, where
as if you're using a plugin such as
https://github.com/humanmade/network-media-library it might not be.

I'm not sure if there's any adverse affects of not doing this filtering,
from my testing, it still seems to work in the same way.
2019-01-25 15:11:58 +00:00
claudiulodro 8078e6bfc2 Simplified title check that works on all wc widgets 2019-01-24 10:47:05 -08:00
Ron Rennick 8709351994 update function name to `wc_attribute_taxonomy_slug` 2019-01-23 11:11:27 -04:00
Ron Rennick b868b484f7 fix merge conflicts 2019-01-23 10:53:42 -04:00
Mike Jolley 084dab4553
Merge pull request #22476 from woocommerce/fix/22470
Hide ratings when reviews are disabled
2019-01-22 13:32:22 +00:00
Mike Jolley 5cb60b840c
Merge pull request #21859 from ChromeOrange/master
Add filter to save_payment_method_checkbox
2019-01-22 12:05:42 +00:00
Gerhard 98948a2faf PHPCS fixes 2019-01-17 08:32:42 +02:00
Mike Jolley 50a86a1a33
Merge pull request #21562 from terence1990/feature/rest-api-crud-params-filter
Add a filter to WC_REST_CRUD_Controller::get_collection_params method to allow developers to change params
2019-01-16 11:32:03 +00:00
Mike Jolley 42f77950bd Make total recalc use unrounded tax values to fix test WC_Tests_Order_Coupons::test_add_coupon_to_order 2019-01-11 13:17:06 +00:00
Mike Jolley 28ac24d870 update_taxes can safely round all values, as lines would already be rounded if applicable 2019-01-11 13:12:31 +00:00
Mike Jolley 50ca24e5d9 set_coupon_discount_amounts should support woocommerce_tax_round_at_subtotal 2019-01-11 13:09:20 +00:00
Mike Jolley caffa319f4 set_item_discount_amounts should support woocommerce_tax_round_at_subtotal 2019-01-11 13:06:26 +00:00
Mike Jolley 11d14b30a4 PHPCS fixes 2019-01-11 12:28:52 +00:00
pierrebuet 9ca3ae3453 Check for customer before checking for VAT excemption
In the actual form, the check done in the function is_taxable()  of a shipping method can only be done in the frontend, since WC()->customer must be defined.  Checking for a customer before checking the excemption would make the function also callable in the backend for different pre-calculation. If a customer is not defined, an exemption can not exists.
2019-01-08 15:57:21 +00:00
Mike Jolley 848eecf6a6
Merge pull request #21537 from jespervnielsen/patch-2
allow-filtering-on-wiget-get_current_page_url
2019-01-07 13:12:43 +00:00
Mike Jolley 71ab4c78ed
Merge pull request #22168 from woocommerce/fix/rest-api-orderby-slug
[REST API] Fixed orderby slug
2019-01-07 12:19:35 +00:00
Claudiu Lodromanean 1612d2a230
Merge pull request #22074 from Prospress/fix/22068
ensure product parent exists before getting its image
2019-01-04 09:37:03 -08:00
Mike Jolley 0c76db4093 Get instance setting defaults so it shows in customiser before save 2019-01-04 16:11:36 +00:00
JeroenSormani f4775ccd90 Use shipping method instead of property through magic + doc return statements 2019-01-04 12:41:38 +00:00
Claudiu Lodromanean 89740f9583
Merge pull request #22204 from woocommerce/fix/22201
Restore empty schema support for register_rest_field
2019-01-02 12:03:41 -08:00
Claudiu Lodromanean 87a03b2331
Merge pull request #22189 from Prospress/fix/22186
Allow sale price to 23:59:59 on last sale date
2019-01-02 12:02:52 -08:00
Gerhard 5d22d42c9b PHPCS fixes 2018-12-12 10:05:03 +02:00
Gerhard 38391f7bbf Update WC_REST_Controller to apply WP 5.0 fix as per https://core.trac.wordpress.org/attachment/ticket/45220/45220.2.diff 2018-12-12 10:03:22 +02:00
Claudiu Lodromanean c3334302bd
Merge pull request #22108 from woocommerce/fix/meta-queries-REST-API
Fixed support for multiple query parameters translated to meta queries via REST API requests
2018-12-11 11:12:56 -08:00
Ron Rennick b6c614c2af allow sale price to 23:59:59 on last sale date 2018-12-10 10:37:13 -06:00
Ron Rennick b8d635a29c phpcs sniffs in abstract-wc-product.php 2018-12-10 10:34:12 -06:00
Faisal Alvi 8dbb795610 abs-wc-widget-coding-stds
Few coding standard fixes in the file abstract-wc-widget.php
2018-12-07 18:57:03 +05:30
Claudio Sanches fb35324c4f [REST API] Fixed orderby slug 2018-12-06 16:17:58 -02:00
Ron Rennick e8ec6df3ff phpcs sniff fixes, `wc_attribute_taxonomy_name_raw()` for abstract-wc-widget.php 2018-12-03 11:31:47 -04:00
Peter Fabian 9547895863 Don't remove existing meta queries via REST API. 2018-12-03 11:52:36 +01:00
Ron Rennick 548fc72718 ensure product parent exists before getting its image 2018-11-28 14:41:12 -04:00
Ron Rennick b0b2320559 fix phpcs sniffs in abstract-wc-product.php 2018-11-28 14:34:24 -04:00
Andrew Benbow 163795b2ab
Add filter to save_payment_method_checkbox
Allow the save payment method checkbox to be removed based on payment gateway settings.
2018-11-08 09:15:18 +00:00
Claudiu Lodromanean ecdffab309
Merge pull request #21641 from jamsheerkrd/master
Update abstract-wc-data.php
2018-11-02 09:04:34 -07:00
Jamsheer 95f639ad92
Update abstract-wc-data.php 2018-11-02 20:43:58 +05:30
Claudiu Lodromanean 4aad055e62
Merge pull request #21696 from siananda/fix-21652
Prevent deleting default product category via REST API
2018-11-02 08:09:21 -07:00