Commit Graph

155 Commits

Author SHA1 Message Date
Manos Psychogyiopoulos 55f4a846db fix variation is_on_backorder when parent manages stock 2016-09-15 22:56:33 +03:00
Aristeides Stathopoulos 734f284fa4 WordPress.PHP.YodaConditions.NotYoda 2016-09-08 01:32:24 +03:00
Aristeides Stathopoulos 2346c3b735 Squiz.ControlStructures.ControlSignature.SpaceAfterCloseBrace 2016-09-02 06:15:49 +03:00
Aristeides Stathopoulos 0516e96843 PEAR.Functions.FunctionCallSignature.SpaceBeforeCloseBracket 2016-09-02 04:33:57 +03:00
Aristeides Stathopoulos fde1037757 fix failing tests. 2016-09-01 23:50:14 +03:00
Aristeides Stathopoulos f2730eea02 WordPress.WhiteSpace.ControlStructureSpacing.BlankLineAfterEnd 2016-08-27 08:57:05 +03:00
Aristeides Stathopoulos a19848978a WordPress.WhiteSpace.ControlStructureSpacing.NoSpaceAfterCloseParenthesis 2016-08-27 07:47:24 +03:00
Aristeides Stathopoulos 82f3cc221e WordPress.WhiteSpace.ControlStructureSpacing.NoSpaceBeforeOpenParenthesis 2016-08-27 07:23:02 +03:00
Aristeides Stathopoulos 6c30f84fa2 WordPress.Arrays.ArrayKeySpacingRestrictions.SpacesAroundArrayKeys 2016-08-27 06:23:21 +03:00
Aristeides Stathopoulos b063bcfe4c last item in a multiline-array should end in a comma 2016-08-27 04:46:45 +03:00
Lee Willis 9a1aa1fd93 Use get_the_terms instead of wp_get_post_terms to take advantage of caching 2016-08-25 18:26:37 +01:00
Mike Jolley 2ef55327b8 Don't allow variations to exist with invalid parents
Closes #11567
2016-08-01 16:24:31 +01:00
Mike Jolley bc80b75540 Merge pull request #11324 from woothemes/out-of-stock-threshold-11322
Out of stock threshold 11322
2016-07-20 14:44:41 +02:00
Claudio Sanches 6ffd059680 Allow filter variation stock quantity, closes #11340 2016-07-03 20:40:59 -03:00
Mike Jolley c495552301 Same for variations 2016-07-01 12:01:37 +01:00
Claudio Sanches 08f95481e0 Normalize the "Read more" button text, closes #11319 2016-06-30 15:16:26 -03:00
Mike Jolley 3334693885 Revised stock display based on feedback to hide 'in stock' message if stock management is off.
@claudiosmweb This removes ‘in stock’ when not needed, and I broke the
methods up for clarity.

Also removed the variation specific logic as it was near identical and
not needed.
2016-06-23 11:24:15 +01:00
Mike Jolley 633017da2b var types 2016-06-07 14:43:10 +01:00
Mike Jolley 3fd15ad50f Unused vars and code docs 2016-06-06 18:57:24 +01:00
Mike Jolley d42d7c13b6 Prevent variations being created/returned without parents
Nasty bug discovered by @RiaanKnoetze where it would get a variation
without parent, and due to the return, it wouldn’t be ‘seen’ as a
variation, therefore creating fatal errors when props are called.

To prevent this, lets allow product constructors to throw exceptions.
If they do, the factory class will catch them and return false instead
of an invalid product object.

@claudiosmweb Thoughts on this one before merge?
2016-05-13 19:06:16 +01:00
Mike Jolley f5e9875548 Allows stock status to be considered for availability and stock status on frontend.
Refactors code which make it so stock status was actually ignored if on
backorder. Fixes #10834

@claudiosmweb
2016-05-03 15:10:31 +01:00
Mike Jolley 39e8d981a0 Support order items when calling get_permalink on a variation. 2016-04-21 10:36:46 +01:00
Mike Jolley 7be2b129b6 Removed bulk actions from order items panel
Reduce/increase order item stock is less important these days do to
automatic stock reduction (when status changes) and because when you
refund items you can restock items via checkbox. Manual stock changes
can be performed by editing products.

Decreases complexity of order items box.
2016-03-21 14:58:14 +00:00
Fredrik Forsmo f1920cb882 Improve docblock comments in various WC_Product classes
* Added comments to methods that was `method function`
2016-01-06 16:15:00 +01:00
Max Rice 3befe1426f Introduce WC_Product::get_id() method 2015-12-04 15:17:25 -05:00
Claudio Sanches ee30b5b308 Fixed php docs standards 2015-11-03 11:31:20 -02:00
Claudio Sanches 1ea5b8433f Escape normalized for the woocommerce_variation_option_name filter 2015-10-18 10:42:44 -06:00
Mike Jolley 2816260388 Merge pull request #8807 from franticpsyx/get_formatted_variation_attributes
get_formatted_name() produces cryptic output for variations
2015-10-01 18:54:46 +02:00
Aurélien PIERRE aead6f1e87 add shortcodes support in variation description 2015-09-21 19:34:06 -04:00
roykho f5f61da4e9 fixes a case were there are orphaned variations and trying to call the parent that doesn't exist 2015-09-16 08:49:18 -07:00
Mike Jolley 14b0c20bf2 Ensure variable stock status is based only on variations 2015-08-24 15:03:44 +01:00
Nicola Mustone ae3f0aec51 encode variation data 2015-08-21 12:32:00 +02:00
Manos Psychogyiopoulos 46151c6757 ensure variation data is_array 2015-08-13 13:32:26 +03:00
Manos Psychogyiopoulos 97ab635e71 introduce get_formatted_variation_attributes 2015-08-13 13:12:24 +03:00
Mike Jolley 060fb16e2e Move Pre 2.4 handling for attributes - DRY
@claudiosmweb @franticpsyx
2015-07-28 16:20:51 +01:00
Mike Jolley 1b45bcde0b URL encode to preserve text attributes in permalinks 2015-07-28 10:37:24 +01:00
Mike Jolley 7c9cae830a Populate variation_data with valid attributes only
@claudiosmweb
2015-07-27 17:48:30 +01:00
Mike Jolley f42fa85eab Variation tax status should always come from parent 2015-07-15 19:12:12 +01:00
Mike Jolley 65f19d5ca7 Ajax variation handling
If there are more variations than the threshold allows (set to 20
currently) this loads the matching variation via ajax instead of inline
in the HTML. #8477
2015-07-09 15:56:20 +01:00
Mike Jolley 622b11ae9f Add version check to prevent pre-2.4 logic kicking in when not needed
@claudiosmweb
2015-06-16 15:10:53 +01:00
Mike Jolley 12396f4296 Attempted bw compat by comparing sanitised text to real text 2015-06-11 15:42:18 +01:00
Mike Jolley 89f7e15052 Save full version of text based attributes when dealing with variations 2015-06-11 14:43:02 +01:00
Mike Jolley aaaef5bfcf [2.3] Incorrect wc_product_total_stock_ transient
Closes #8337
2015-06-10 18:28:34 +01:00
Ben Bidner 7d8db595f2 Fixes an (admin) SQLi when setting stock levels for product variations 2015-06-01 12:58:38 +01:00
roykho 54b0a0ca54 changed dynamic variation description to allow limited HTML and some sanitized tweaks 2015-05-28 14:31:45 -07:00
roykho b812b2fd94 add dynamic variation description feature 2015-05-14 10:56:26 -07:00
Manos Psychogyiopoulos 4b04701cc8 add display_prices in variation data
The commit introduces 3 changes:
1. It adds 2 extra fields to the available_variations array,
display_price and display_regular_price, to be used by extensions in
cases like
https://github.com/woothemes/woocommerce-product-addons/issues/19
2. Introduces a get_display_price() function in WC_Product to retrieve
product prices incl or excl tax relative to the
woocommerce_tax_display_shop setting.
3. Fixes a minor issue where passing a 0 price to
get_price_including_tax() or get_price_excluding_tax() results in a
wrong output.
2014-12-03 11:28:04 +02:00
Mike Jolley 3415b5d7c0 In the cart, add variation selected data to the permalink.
Closes #6060
2014-11-27 15:04:24 +00:00
Manos Psychogyiopoulos 0b275de06a Issue 5661: filter params 2014-11-19 19:46:05 +02:00
Kathy Darling 3d4a534e6a rename method to has_all_attributes_set 2014-10-17 17:24:04 +02:00
Kathy Darling 0304778f18 add variation class method is_all_defined() which tests if all the attributes are set 2014-10-15 09:11:41 +02:00
Mike Jolley 58904fcf83 Removed deprecated get_product() calls 2014-10-07 11:09:25 +01:00
Mike Jolley a8d5ca561d Merge pull request #6405 from tamarazuk/master
[#6337] Return variation meta if it exists
2014-10-02 12:42:45 +01:00
James Koster 63f45a8720 variation visibility, based on #6182. #5661 2014-09-26 17:22:43 +01:00
Tamara Zuk c5374201cb [#6337] Return variation meta if it exists
includes some code standards cleanup
2014-09-26 06:45:15 -04:00
shivapoudel 1f4db18e7f Absolute path fix for class-wc-product-variation.php 2014-09-21 00:43:30 +05:45
Barry Kooij 06103c6cd2 Fixed a varation product width inheritance bug. 2014-09-17 11:00:14 +02:00
Barry Kooij 72c6f262f1 Width should be allowed to be set in a Product Variation. 2014-09-16 14:02:26 +02:00
Barry Kooij b1daae5d0d Setup variable to prevent a notice if no variable data is set. 2014-09-16 13:21:09 +02:00
Mike Jolley c4ef86d44e scrutinizer patches 2014-09-08 00:37:55 +01:00
thenbrent 1a15cb03bd Allow WC_Product_Variation children to extend meta
When SHA: 50a0577b81 introduced `$variation_level_meta_data` and
`$variation_inherited_meta_data`, it set their access to `private`.
Child classes of `WC_Product_Variation` should be able to extend these
properties to allow them to take advantage of the parent's `__isset()`
and `__get()` methods.

Related to #6065
2014-08-28 11:30:11 -07:00
Mike Jolley 50a0577b81 Separate inherited meta data from variation level meta data to stop bubbling up.
Fixes #6065
2014-08-28 15:38:51 +01:00
Mike Jolley c51fac23e0 Availability with backorders not requiring notification. 2014-08-15 15:29:14 +01:00
Mike Jolley 3f53512c7f Fix up visibility of stock options, drop downs, and get_availability() when parent is managing stock for a variation.
Fixes #6017
2014-08-13 15:03:30 +01:00
claudiosmweb ae66ba4553 fixed variation tax_class and backorders
@mikejolley
2014-08-04 16:05:15 -03:00
claudiosmweb b67a1e6b0e stopped endless loop when saving variable product that manages stock
@mikejolley
2014-08-04 15:31:40 -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 2cb66fe4b9 Prevent empty attributes in permalinks
Closes #5714
2014-07-30 10:22:15 +01:00
Mike Jolley 50a4c5bd23 Merge branch 'variation-stock-management'
Conflicts:
	includes/class-wc-product-variation.php
2014-06-27 11:15:42 +01:00
Mike Jolley 03de576bfb Data update 2014-06-24 15:21:39 +01:00
Mike Jolley fb592a1a79 Variation class modifications (see details)
- Made it load data on the fly, rather than loading it all at once
- Pull some data from variation, some from parent
- Updated stock methods to use variation or parent depending on
manage_stock
- Ensure parent stays in sync on stock status change event
2014-06-24 13:05:13 +01:00
Kathy Darling 7b201aad58 change is_purchasable() args to match regular product 2014-06-23 10:04:03 -05:00
Kathy Darling 5f56366a0b add filter to is_purchasable() 2014-06-16 12:32:54 -05:00
Mike Jolley 4d2378087e Ensure _stock meta exists, or update will fail 2014-05-12 16:07:51 +01:00
Mike Jolley 3e1d5feaf3 Merge pull request #5353 from tamarazuk/backorder-variations
Backorders at variation level
2014-04-28 15:27:36 +01:00
Mike Jolley ca9955fa9a Update stock amounts with DB queries Closes #5367
@claudiosmweb and @coenjacobs please review
2014-04-25 15:28:02 +01:00
Mike Jolley 3d584bc09a Ignore variation stock if disabled globally Closes #5370 2014-04-24 16:44:01 +01:00
Tamara Zuk 7ba3089909 Backorders at variation level
Added a new select metabox for variations allowing users to control
backorders at the variation level.
Might need more testing.
ref: #5351
2014-04-21 21:13:13 -04:00
Mike Jolley 2a27663f1f get_image_id method + use in email template
Closes #5288
2014-04-08 15:02:11 +01:00
Patrick Rauland abd8a36ddc fixing typo in product classes 2014-03-21 16:41:32 -05:00
Mike Jolley 5c75f8a20e Recoded set_stock to only make a variable product out of stock if all variations are stock managed, to to resync prices after stock changes #5035 2014-03-04 14:45:27 +00:00
Mike Jolley 4abcc331dd Ensure stock status is set for variations after setting to 0 Closes #4587 2014-01-29 14:39:55 +00:00
Coen Jacobs 3e6acf7aab Code changes for #4252 2013-12-02 12:34:27 +01:00
Gregory K 7b38c7300b Inconsistent return types: mostly TODOs, some fixes 2013-11-29 13:50:31 -05:00
Gregory K cdbe5950f0 PhpDocs and TODO comments 2013-11-28 11:49:30 -05:00
Coen Jacobs 4afbd0b556 Merge branch 'function-call-refactor'
Conflicts:
	includes/admin/post-types/meta-boxes/class-wc-meta-box-order-data.php
	includes/shortcodes/class-wc-shortcode-cart.php
	includes/wc-template-functions.php
2013-11-25 15:42:26 +01:00
Mike Jolley 3408965b8a Product functions 2013-11-25 14:01:38 +00:00
Coen Jacobs c1a439eb99 Formatting functions woocommerce to wc refactor 2013-11-25 14:34:21 +01:00
Coen Jacobs 6acfff9879 Fixed field matching in setting up variations 2013-11-25 09:05:27 +01:00
Manos Psychogyiopoulos fd2a812e6d Fix invisible when get_price is filtered and set to double 0. 2013-11-13 13:58:24 +02:00
Mike Jolley ece95e25ce When handling variations, priority from top to bottom - disabled variations still taking into consideration allow you to exclude certain combinations when using 'all' for variations with lower priority. Message displayed if a variation is unavailable.
@coenjacobs please review
2013-10-10 16:34:44 +01:00
Mike Jolley ef49977905 add_to_cart_url add_to_cart_text and single_add_to_cart_text class methods allowing greater control with custom classes.
Closes #3484 and Closes #3143. Pinging @thenbrent as the handler was
originally his idea and I've killed it.

@helgatheviking In 2.1, add to cart URLs will only be used in loops, so
conditonal logic should no longer be neccessary. Single templates post
to themselves without the need for the URL.
2013-09-25 12:35:06 +01:00
Mike Jolley c58d5d5ea4 is_in_stock uses notify_no_stock_amount option. Closes #3446. 2013-09-24 13:31:15 +01:00
Mike Jolley 06ef44c9df Pass args to variation forms from cart page. Closes #3568 2013-09-23 15:47:47 +01:00
Mike Jolley 96a7a4b730 Restructure 'file_paths' to allow for names (Closes #3320) etc. For #2765.
@coenjacobs @justinstern @maxrice These are major changes - CC ing you
guys in to take a quick look through. I know some extensions such as
vouchers will be affected.
2013-09-20 17:01:09 +01:00
Mike Jolley b93df4e706 Excl and incl. display options for prices, and suffix to add additonal info and prices. Closes #1506. 2013-09-19 16:31:54 +01:00
Mike Jolley b883e92ba1 Fix from .14 2013-09-05 14:52:34 +01:00
Mike Jolley 14e27bb073 Fixes from .14 2013-09-04 14:32:16 +01:00
Mike Jolley d021980c10 Rather than have hooks *everywhere* use a single set stock function in admin and on the frontend Closes #3593 2013-08-13 16:56:09 +01:00
Mike Jolley 57157db9bf Function refactoring. 2013-08-09 17:11:21 +01:00