Commit Graph

387 Commits

Author SHA1 Message Date
James Allan 82c282e83a Clone the child objects rather than instantiating new objects.
When cloning the cart, the current fees and session objects should
remain the same but have new pointers.
2017-12-08 21:15:45 +10:00
James Allan 83de162adb Only remove fees which belong to the cart which is being emptied/reset
If there are multiple instances of WC_Cart and therefore multiple
instances of WC_Cart_Fees, if 1 cart is emptied and
woocommerce_cart_emptied is triggered, all instances of WC_Cart_Fees
will trigger remove_all_fees, removing all the fees from all the carts.
2017-12-08 21:15:08 +10:00
Boro Sitnikovski d0f9aaa99a Merge branch 'master' into tweak/decouple-cart-template-methods 2017-12-07 20:16:08 +01:00
Boro Sitnikovski 588c5f3779 Change method name 2017-12-07 15:53:16 +01:00
Boro Sitnikovski 145d47c580 Decouple cart templating methods from WC_Cart class 2017-12-05 13:00:21 +01:00
Mike Jolley 17095a4011 Totals should be set to store DP setting. 2017-12-04 20:38:14 +00:00
JeroenSormani b96fea3e47 Add quantity arg to woocommerce_add_cart_item_data filter 2017-11-21 16:01:23 +01:00
Mike Jolley 8b02185596
Merge pull request #17817 from JeroenSormani/exclude-virtual-from-shipping-tax
Exclude virtual tax classes from calcluation for shipping taxes
2017-11-21 13:21:13 +00:00
JeroenSormani 14e5bcd51d Exclude virtual tax classes from calcluation for shipping taxes 2017-11-20 20:14:23 +01:00
Mike Jolley 78466a6665
Merge pull request #17599 from JPry/allow_clone_cart
Allow for cloning the WC_Cart object
2017-11-10 12:02:59 +00:00
Claudio Sanches 9979e4b3e5
Merge pull request #17589 from woocommerce/fix/17585
get_total_ex_tax should exclude fee taxes
2017-11-08 19:05:23 -02:00
Jeremy Pry 0e43551535 Move inline comment into the docblock 2017-11-08 10:18:08 -05:00
Jeremy Pry cf5bd606c6 Rename register_hooks() to init() 2017-11-08 10:17:52 -05:00
Mike Jolley 827d133cb2 Improve tests 2017-11-08 13:54:33 +00:00
claudiulodro 0e983c4fe9 Allow removing coupons even if coupons disabled 2017-11-07 10:33:11 -08:00
Mike Jolley c6c6a1e4b3 Grab all taxes individually 2017-11-06 16:34:45 +00:00
Mike Jolley 1b49e9a568 get_total_ex_tax should exclude fee taxes
Closes #17585
2017-11-06 16:18:21 +00:00
Jeremy Pry 9eee3805c0 Allow for cloning the cart object
This handles creating new instances of the `$session` and `$fees_api` properties.
2017-11-03 15:50:43 -04:00
Jeremy Pry 0cca83ff83 Add separate methods to register hooks
This facilitates cloning the cart without registering additonal hooks unnecessarily.
2017-11-03 15:49:45 -04:00
Dan Wyman 4c16aeac6d Coupon user limit check fix
Fixes a where clause problem. Fixes #17235 .
2017-10-16 18:40:46 +01:00
Mike Jolley 803b31a18c Switched to property_exists and moved deprecation notice to avoid errors and setting fees unnecessarily. 2017-10-13 13:46:49 +01:00
Boro Sitnikovski b11ed6e3db Fix direct access to props on checkout 2017-09-27 16:25:45 +02:00
Brent Shepherd 89e932c338 Fix shipping tax when calling calculate_shipping()
The $shipping_taxes is a multidimensional array so array_sum() does not
correctly sum the values. The $merged_taxes is a single level array with
all other taxes set, so array_sum() can be safely used on it.
2017-09-21 16:48:32 -07:00
Claudiu Lodromanean e713b5beb3 Merge pull request #16869 from woocommerce/fix/16861
Fix legacy access to array props (fees, taxes, coupon totals + taxes)
2017-09-21 09:47:29 -07:00
Brent Shepherd 470c5f7a1d Use __FUNCTION__ for filter hook name
To avoid including the WC_Cart class name and a double colon.

Example hook from WC_Cart::get_total():
 * Before this PR: woocommerce_cart_WC_Cart::get_total
 * After this PR: woocommerce_cart_get_total
2017-09-20 14:45:37 -07:00
Mike Jolley eb79566985 Fix legacy access to array props (fees, taxes, coupon totals + taxes)
Closes #16861
2017-09-20 15:39:05 +01:00
Gabor Javorszky d3ade84852 Add cart object to filters with quantity updates
No issue.

Other filters (remove cart item, restore cart item) have the cart object passed as well. These ones should be too.
2017-09-05 16:40:44 +01:00
claudiulodro 734ed70462 Fall back to defaults if not set in cart 2017-08-28 14:12:35 -07:00
Mike Jolley 22813663d7 Merge pull request #16569 from woocommerce/update/fees-api-class
WC_Cart_fees and negative fee calculations
2017-08-23 10:59:19 +01:00
Mike Jolley 00cb48a5fe Pass through to order 2017-08-22 16:20:23 +01:00
Mike Jolley 57865204aa Cart fees class and legacy 2017-08-22 15:17:58 +01:00
Umangvaghela 5794a9cb34 Update condition 2017-08-22 15:23:34 +05:30
Mike Jolley 3d002f842f Fix get totals method 2017-08-18 17:18:41 +01:00
Mike Jolley 4567169aa9 Fix remove from cart 2017-08-18 16:37:24 +01:00
Mike Jolley 1c8ad67a9e Fix tests and tax merges 2017-08-18 15:05:01 +01:00
Mike Jolley 302512e51f Combine taxes correctly 2017-08-18 13:48:53 +01:00
Mike Jolley a2858245fe Remove call - it's hooked 2017-08-18 12:52:29 +01:00
Mike Jolley d2e3839d99 Use getters and setters in cart class 2017-08-18 12:51:45 +01:00
Mike Jolley a190dc79c3 Legacy getters/setters 2017-08-18 12:24:17 +01:00
Mike Jolley b9fea8419b getters and setters for totals 2017-08-18 12:05:18 +01:00
Mike Jolley 0c751087f9 Cast to arrays 2017-08-18 11:44:07 +01:00
Mike Jolley aefb9c4705 Moved magic method to legacy 2017-08-18 11:37:22 +01:00
Mike Jolley c0368362ce First pass 2017-08-18 11:29:26 +01:00
Mike Jolley c74835ec31 Use WP_User_Query 2017-08-14 12:51:04 +01:00
Mike Jolley 40757ddf86 Search given email against all user fields for matches. 2017-08-14 12:28:19 +01:00
Mike Jolley e9c3ebebdc Merge branch 'master' into feature/discounts-class
# Conflicts:
#	includes/abstracts/abstract-wc-data.php
#	woocommerce.php
2017-08-08 15:49:59 +01:00
Mike Jolley 6dc67ee133 phpcs 2017-08-08 10:51:35 +01:00
Mike Jolley 6af275da6e Only return tax classes if product is taxable.
Fixes #16241
2017-08-03 08:44:02 +02:00
claudiulodro 43cbcd04ef Remove extra calcs and populate item totals 2017-07-31 11:48:34 -07:00
Claudiu Lodromanean 95ffa441e0 Merge pull request #16290 from woocommerce/feature/15500-1
Soft deprecated WC_Cart->coupon_applied_count
2017-07-31 09:16:33 -07:00