Commit Graph

248 Commits

Author SHA1 Message Date
Mike Jolley 1f3365f206 Prevent infinite recursion by calling get_cart_from_session once
Closes #7852

A check was aded to prevent get_cart() usage before wp_loaded so all WC
components have a chance to load prior to the cart.

This should solve the edge-case recursion bug by first checking if the
woocommerce_cart_loaded_from_session action has already run. This is
triggered when loading the cart for the first time.
2015-04-09 12:49:20 +01:00
Mike Jolley 557a304326 Merge branch 'coupon-calc' 2015-03-24 15:52:38 +00:00
Mike Jolley aed8ae36cf woocommerce_calc_discounts_sequentially option to keep backwards compatible 2015-03-24 15:51:53 +00:00
Mike Jolley b35e7f7d4a Cast product IDs to int when adding to cart
Closes #7245
2015-03-24 12:56:13 +00:00
Mike Jolley 5e538b88e7 Use undiscounted price for coupons 2015-03-24 12:55:28 +00:00
Mike Jolley ea910f7d4f Merge branch 'wc-ajax-endpoint' 2015-03-23 12:53:53 +00:00
Mike Jolley 17fb3874e6 [2.3] Ensure coupon taxes are reset when calculating totals.
Fixes #7780
2015-03-20 15:03:50 +00:00
Mike Jolley b729480838 Prevent cart hash becoming invalidated due to product/post data 2015-03-20 13:00:05 +00:00
Mike Jolley 70d125ae96 [2.3] Fix - get_total_discount() function with certain tax setups.
Revised how discounts/discount taxes are stored for consistency. Always
store ex. tax to make data retrieval easier, and to ensure totals are
correct after settings changes. Backwards compatibility maintained
through use of order versioning.

#7728
2015-03-16 12:17:09 +00:00
Mike Jolley 9f269f765d Load persistent cart when empty, and Prevent cart being cleared when accessing the login page.
Closes #7636
2015-03-06 12:02:02 +00:00
Mike Jolley 4c411a69e7 * Fix - Saving an order needs to save the discount amount ex. tax like
the cart.
* Tweak - Show discounts inc. tax when showing order totals inc. tax.

Closes #7532

@barrykooij @claudiosmweb How does this look? Looks like we were saving
order discounts inconsistent with the cart/checkout
2015-02-23 17:39:57 +00:00
Piotr Bogdan 9d75ad17e8 Fix backward compatibility for WC_Cart::$tax. 2015-02-11 17:06:17 +00:00
Mike Jolley 9afa2848d7 woocommerce_remove_cart_item_from_session with $key and $values
@helgatheviking

$this isn’t needed - WC()->cart to access cart class.
2015-02-11 12:30:54 +00:00
Kathy Darling 39fcc19ff6 trigger an action if an item is dropped from the cart session 2015-02-11 12:12:27 +01:00
Mike Jolley 0300ce2768 Undefined and dead variables in cart class 2015-02-03 15:23:25 +00:00
Manos Psychogyiopoulos f8567680da added remove/restore cart item hooks 2015-02-02 16:01:43 +02:00
Mike Jolley e810672430 Remove reference to deprecated property
Closes #7249
Closes #7248
2015-02-02 12:38:37 +00:00
Mike Jolley 59359ef9b4 Try catch block in add_to_cart to allow plugins to abort the add to cart event
cc @claudiosmweb @barrykooij
2015-01-27 16:02:57 +00:00
Mike Jolley 2e38fc9041 Removed ID check - $the_coupon->is_valid() checks for existance 2015-01-27 12:11:58 +00:00
Mike Jolley 0b252d03f4 Added conditional to unset session itself
Closes #7182
2015-01-26 11:42:24 +00:00
Scrutinizer Auto-Fixer 19f660171e Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2015-01-23 14:37:20 +00:00
Mike Jolley 8db443799b Remove void/access public docblocks 2015-01-23 14:01:00 +00:00
Mike Jolley 1163e2af0b Leave session data alone before calculation #7182 2015-01-23 13:58:38 +00:00
Claudio Sanches f0c63b1fee Restore all items from session, closes #7180 2015-01-23 11:48:49 -02:00
Mike Jolley 2584041700 wc_price enhancements
- Renamed some 2.3 methods for consistency
- Allow more args to be passed to wc_price to control output
- Filter wc_price args which Closes #7188
- wc_get_price_decimal_separator function
- wc_get_price_thousand_separator function
- wc_get_price_decimals function
2015-01-23 11:50:32 +00:00
Claudio Sanches 8928029ecb Updated the docblocks in class-wc-cart.php 2015-01-14 10:40:35 -02:00
Claudio Sanches 0b4074cf22 Merge pull request #7103 from woothemes/cart-undo
Cart undo
2015-01-14 10:38:31 -02:00
Mike Jolley 298ddb19ad Save removed items to session 2015-01-14 12:36:03 +00:00
Claudio Sanches 11150a54c5 Fixed a typo 2015-01-14 10:24:01 -02:00
Mike Jolley fcebc3b781 Missing Brackets in cart class 2015-01-14 11:16:21 +00:00
Claudio Sanches 3228fc0e67 Initial remove and restore cart methods 2015-01-07 16:52:17 -02:00
Mike Jolley fb8f5fc750 Add notice when calling get_cart() before wp_loaded with fallback
#6873
2015-01-06 11:11:13 +00:00
Mike Jolley d1fd2b3612 Fix zero-rated tax display and ensure tax_id is not empty when saving taxes
Closes #7040
2015-01-05 15:13:49 +00:00
Mike Jolley 1c696a10d3 Dev - Moved WC_Cart::get_cart_from_session() to a later hook (was init, now wp_loaded).
Closes #6873
2015-01-05 14:43:04 +00:00
thenbrent e1560bc9c6 Remove mention of after tax discounts in comments
Related to #6830
2014-12-15 15:27:10 +10:00
thenbrent a94cf06e4b Deprecated notice for WC_Cart->discount_total
Related to #6830
2014-12-15 15:25:53 +10:00
Mike Jolley c929b35f4f $discount_total deprecated to prevent errors. 2014-12-12 16:39:24 +00:00
Mike Jolley 76ec750dbb [2.2] remove_taxes needs to clear line_tax_data 2014-12-09 12:58:25 +00:00
Mike Jolley 76898699cd Clarify variable comment #6830 2014-12-09 11:00:41 +00:00
Mike Jolley eba8206540 Merge branch 'tax-coupon-handling' Closes #6830
Conflicts:
	assets/js/admin/meta-boxes-order.min.js
	includes/api/class-wc-api-coupons.php
	includes/class-wc-cart.php
	templates/checkout/review-order.php
2014-12-03 12:33:15 +00:00
Barry Kooij 23b38f9490 Typos 2014-11-29 12:35:36 +01:00
Barry Kooij 0ccf153227 Merge branch 'master' of github.com:woothemes/woocommerce 2014-11-29 12:33:43 +01:00
Barry Kooij 21b7fe60f6 Codestandards 2014-11-29 12:33:36 +01:00
Barry Kooij c2321aeb94 Code standards. 2014-11-27 22:38:36 +01:00
Barry Kooij d990daed57 Typo. 2014-11-27 22:36:46 +01:00
Nicola Mustone b074f63a7e Typo itme -> item 2014-11-26 19:07:13 +01:00
Mike Jolley 3c82331a8b Store discount 'tax' to show discounts on prices including tax more accuratly
Also deprecated some functions named after having 2 levels of discounts.
2014-11-25 13:05:03 +00:00
Mike Jolley 549d7ab2c0 Removed 'apply before tax' options for coupons - this should be the default core behaviour 2014-11-24 17:24:25 +00:00
Mike Jolley 8b4332a037 Refactors to shipping tax rate methods 2014-11-21 13:06:33 +00:00
claudiosmweb dbcf4de41f Fixed WC_Cart::get_cart_item() return type 2014-11-19 09:46:40 -02:00
Claudio Sanches c7dc0947c4 Merge pull request #6788 from SiR-DanieL/undo_cart
Undo cart removal
2014-11-19 09:31:09 -02:00
Nicola Mustone 37ea3faf0a Added missing get_cart_item 2014-11-18 20:48:45 +01:00
claudiosmweb f34cead914 Removed old code in favor of wc_tax_enabled() and wc_prices_include_tax() 2014-11-18 14:45:29 -02:00
Nicola Mustone 7eecb87d34 Added get_undo_url 2014-11-18 17:30:52 +01:00
Mike Jolley f600c5ec05 Limit coupons to X needs to persist across lines during calc
Fixes #6745
2014-11-14 16:38:33 +00:00
Mike Jolley 1d3b8db754 Move formatting logic 2014-11-14 16:22:01 +00:00
Mike Jolley 668e5ffb5c Some refactoring of the coupon class to load data with less code 2014-11-14 16:22:01 +00:00
ThomasSultana d3542a2192 #6740 Expose Previous Item Quantity
woocommerce_after_cart_item_quantity_update will now also pass the old quantity. #6740
2014-11-13 12:11:24 +01:00
Mike Jolley 18ebded7c5 Make check_cart_items consistantly placed
Closes #6708
2014-11-12 15:47:27 +00:00
Mike Jolley cb8fe34b4c get_base_tax_rates() + filter. Closes #6668 2014-11-11 11:56:17 +00:00
Marin Atanasov 8892b1aeb0 fixing a typo in comments in WC_Cart and its tests 2014-11-09 17:42:49 +02:00
Barry Kooij 6312683eec Small codestyle fix to add_discount method. 2014-10-28 11:51:33 +01:00
claudiosmweb dfde3f0028 Prevents adding trashed products in the cart 2014-10-24 20:12:55 -02:00
Barry Kooij 80dc739ef0 Add return statement to check_cart_items 2014-10-24 20:56:06 +02:00
Barry Kooij fbff5936d9 Added return statement to set_quantity 2014-10-24 16:02:31 +02:00
Barry Kooij 25d9b9e54a WC cart codestyle 2014-10-24 15:35:45 +02:00
Barry Kooij 77521f699b Optimized cart get_checkout_url method. 2014-10-21 15:08:51 +02:00
Chris Harvey 504253c909 Pass cart values to is_valid_for_product method 2014-10-10 15:44:18 +01:00
justinstern 26806660d4 include original $quantity with
woocommerce_add_to_cart_solid_individually_quantity filter
2014-09-24 16:54:15 -04:00
justinstern b1c9db3282 Adds a woocommerce_add_to_cart_sold_individually_quantity filter
Additional control over the quantity added when a product is "sold
individually"
2014-09-24 16:38:52 -04:00
Shiva Poudel 0b58d335b8 Reverted access public
Thanks! @tamarazuk
2014-09-15 08:17:19 +05:45
Shiva Poudel 6e58c45196 @access public in docblock 2014-09-15 01:40:24 +05:45
Shiva Poudel 40fe9ffd2f check_cart_item_validity() should have have public 2014-09-15 01:37:51 +05:45
Shiva Poudel 40ec40a411 Found and fix docblock comment 2014-09-15 01:35:22 +05:45
Shiva Poudel 8e09892064 better at get_option() @ L91 2014-09-15 01:33:13 +05:45
Shiva Poudel a4f6b0f9f9 Converted Indentations to tabs 2014-09-15 01:29:56 +05:45
Shiva Poudel f829e53a96 New line for docblock 2014-09-15 01:24:50 +05:45
Shiva Poudel ccf15ff06b Better docblock ;) 2014-09-15 01:22:48 +05:45
Shiva Poudel cf421b1c12 OOPS! again time constant 2014-09-15 01:18:46 +05:45
Shiva Poudel a2ab230efb Use of time constant 2014-09-15 01:17:14 +05:45
Shiva Poudel 1e7a3ae6d3 indendation Improvement for WC_Cart 2014-09-15 01:14:32 +05:45
Mike Jolley 27a20dd80e Docblock changes 2014-09-08 16:35:40 +01:00
Mike Jolley c4ef86d44e scrutinizer patches 2014-09-08 00:37:55 +01:00
Mike Jolley 602254851a Reset fees before calculating/adding them again
Fixes #6090

@claudiosmweb Do you see any issues with this?
2014-08-26 15:39:19 +01:00
Barry Kooij 94365791af Changed all use of get_product to wc_get_product 2014-08-19 12:09:29 +02:00
Nicola Mustone e49fe4c713 Added parenthesis
WP coding standard says to add always parenthesis
2014-08-07 18:26:48 +02:00
claudiosmweb 0617d53353 fixed undefined offset when added products in cart 2014-08-04 16:37:42 -03:00
Mike Jolley e02d94d305 Fix stock logic in 2.2 for variations with parents which manage stock
Closes #5957 @claudiosmweb can you review this change?
2014-08-04 10:51:54 +01:00
Mike Jolley 3f906b1ffa Change shutdown hook priority
Fixes #5860
2014-07-31 07:26:49 +01:00
Mike Jolley c465c7235d Merge branch 'credit-notes'
Conflicts:
	includes/abstracts/abstract-wc-order.php
	includes/class-wc-order-factory.php
	includes/class-wc-post-types.php
	includes/wc-formatting-functions.php
	includes/wc-order-functions.php
2014-07-29 12:09:52 +01:00
Mike Jolley 134f31abb9 Taxes were stored backwards
cc @claudiosmweb
2014-07-23 11:37:02 +01:00
Mike Jolley ab36ec12d5 Merge pull request #5822 from helgatheviking/fix/add-to-cart
add_to_cart() return $cart_item_key
2014-07-22 18:32:55 +01:00
Kathy Darling 7e0121a0d9 update docblock for add_to_cart() method 2014-07-22 12:25:12 -04:00
claudiosmweb 5152457d9d improved the saving the new tax data 2014-07-20 01:28:16 -03:00
claudiosmweb 93cf3c88bd initial implementation of order items taxes 2014-07-19 01:08:02 -03:00
Mike Jolley 9e6caec3a2 set cookies on shutdown in case of redirect. 2014-07-11 15:40:18 +01:00
Mike Jolley 755001f19b Use order types where required 2014-07-11 12:43:42 +01:00
Kathy Darling 5a88e77959 add_to_cart() return $cart_item_key 2014-07-09 16:33:40 -04:00
Mike Jolley 137bf945ab Defer cart cookie being set 2014-06-30 15:14:32 +01:00
Mike Jolley ef3e728855 Setters + wc_create_order + wc_update_order for #4169 2014-06-11 15:10:03 +01:00