Commit Graph

113 Commits

Author SHA1 Message Date
Justin Shreve 90e43d97de [Product CRUD] Product Datastore (#12317)
* Fix up tests in the product/* folder.

* Handle data store updates for grouped, variable, external, simple, and general data store updates for products.

* Variations & variable changes.

* Update -functions.php calls to use data store.

* Add an interface for the public product data store methods.

* Finished product factory tests

* Correctly delete in the api, fix up some comments, and implement an interface for the public variable methods.

* Fix up delete in all versions of the api

* Handle feedback

* Match protected decloration to parent
2016-11-11 14:31:15 +00:00
Mike Jolley f46c024862 Handle image_id from parent 2016-11-09 16:59:14 +00:00
Mike Jolley 09ea4ba91f [Product CRUD] Variable, variation, notices, and stock handling (#12277)
* No longer needed

* Remove old todos

* Use getters in admin list

* Related and upsells update for CRUD

* Fix notice in gallery

* Variable fixes and todos

* Context

* Price sync

* Revert variation attributes change

* Return parent data in view context

* Defer term counting

* wc_find_matching_product_variation

* Stock manage tweaks

* Stock fixes

* Correct id

* correct id

* Better sync

* Data logic setter fix

* feedback
2016-11-09 16:10:37 +00:00
Mike Jolley 31e5882bb8 [Product CRUD] Getter setter proxy methods (#12236)
* Started on variation changes

* Stock functions

* Variation class

* Bulk change ->id to get_id() to fix variation form display

* Missing status

* Fix add to cart

* Start on stored data save

* save variation

* Save_variations

* Variation edit panel

* Save variations code works.

* Remove stored data code and fix save

* Improve legacy class

* wc_bool_to_string

* prepare_set_attributes

* Use wc_get_products

* More feedback fixes

* get_prop implementation in abstract and data classes

* Implement set_prop

* Change handling

* Array key exists

* set_object_read
2016-11-09 16:07:29 +00:00
Mike Jolley 5f4dbdb733 [Product CRUD] Variations - setters, getters and admin. (#12228)
* Started on variation changes

* Stock functions

* Variation class

* Bulk change ->id to get_id() to fix variation form display

* Missing status

* Fix add to cart

* Start on stored data save

* save variation

* Save_variations

* Variation edit panel

* Save variations code works.

* Remove stored data code and fix save

* Improve legacy class

* wc_bool_to_string

* prepare_set_attributes

* Use wc_get_products

* More feedback fixes

* Feedback fixes
2016-11-09 16:05:49 +00:00
Mike Jolley 4c0cc54f79 Hardcode the get_type per product class 2016-11-09 15:37:51 +00:00
Mike Jolley 55e1a50400 [2.6] variation_data should be isset 2016-10-17 11:33:25 +01:00
Manos Psychogyiopoulos 4658245625 Revise the stock + stock status saving logic (#11858)
* use set_stock to reset stock meta when not managing stock

Ensures that the 'woocommerce_{ variation | product }_set_stock' hooks fire to refllect the fact that stock becomes infinite.

* track state of Manage Stock? option

* quick/bulk edit fixes

* reapply quick and bulk edit fixes

* improve conditional reset logic that prevents actions from *_set_stock actions from firing with every save
2016-10-12 12:51:40 +01:00
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