Mike Jolley
db012b3a12
Merge pull request #15011 from woocommerce/fix/14999
...
Add abspath checks
2017-05-23 15:57:35 +01:00
Mike Jolley
d31a58b117
More abspath
2017-05-23 15:40:19 +01:00
Timon Davis
af308da6b9
Fix bug #15103 where site operator cannot assign a variation with value of '0' as the default choice on the customer facing form.
...
The WC_Product::set_default_attributes function uses an array_filter (using the default callback for filtration)
to remove null and false values from the defaults array for a given product. The issue here is that, in the above use case,
the array_filter will evaluate '0' as 0 and therefore as false. Ultimately, array_filter then prevents the value from being
recorded, moving forward.
I've added a new filter callback to includes/wc-attribute-functions which will disregard all FALSE PHP equivalents except for
'0' (as a a string). Also, I've updated the filter_array call in WC_Product::set_default_attributes so that it uses this new callback,
instead of the PHP default. Finally, I've added a phpunit test to assert that, when storing default variations / attributes on a product,
the false/true PHP synonyms are evaluating and storing like one would normally expect, with the exception that (string) '0'
evaluates as true in this special case.
This solution could potentially be broadened to facililate similar rules elsewhere, but the need raised in the bug is specific and
this is a specific solution.
2017-05-18 02:43:14 -07:00
Mike Jolley
dd798d219e
Make calculate tax function clear taxes if disabled on recalculation
...
Fixes #15057
2017-05-15 14:55:39 +01:00
Rasmus Bengtsson
185934fad9
Fix phpdoc to include params and correct types
2017-05-15 13:50:52 +02:00
Rasmus Bengtsson
4f00d7e5e3
PHPDoc: Add missing return statement
2017-05-15 13:37:59 +02:00
claudiulodro
3861e32803
Migrate wc_get_orders
2017-05-12 11:45:01 -07:00
Mike Jolley
bc4d36fd3f
Add abspath checks
...
Closes #14999
2017-05-10 19:03:19 +01:00
Rasmus
98833fa9c5
Fix param documentation for WC_Product::is_type
2017-05-09 14:10:27 +02:00
Claudio Sanches
257594a67c
Merge pull request #14945 from woocommerce/pr/14875
...
Pr/14875
2017-05-08 13:56:12 -03:00
Mike Jolley
03a69e1d44
Prepend new item keys with `$items_key` to make them unique.
...
Fixes #14875
2017-05-08 17:44:10 +01:00
Mike Jolley
dd3be1278b
Merge pull request #14733 from woocommerce/feature/13646
...
WC_Object_Query & WC_Order_Query
2017-05-07 14:24:12 +01:00
Claudio Sanches
9930099b98
Merge pull request #14846 from woocommerce/fix/non-numeric-warning-order
...
Fix non numeric warning for orders.
2017-05-04 18:35:51 -03:00
Boro Sitnikovski
f493afe718
intval -> floatval
2017-05-04 10:09:16 +02:00
Claudio Sanches
84dfaf3c09
Merge pull request #14851 from franticpsyx/clone-meta-data
...
[3.0] Clone each meta stdClass object when cloning a WC_Data object
2017-05-03 18:03:54 -03:00
Manos Psychogyiopoulos
8f7671f066
Clone each meta object when cloning WC_Data object to avoid modifying original meta stdClass objects
2017-05-03 16:37:01 +03:00
Boro Sitnikovski
8f63211f1c
Fix non numeric warning for orders.
2017-05-03 08:31:35 +02:00
claudiulodro
c93c45b15e
Docblock
2017-04-28 09:55:49 -07:00
claudiulodro
30d2332f48
Handle paginate
2017-04-27 19:14:48 -07:00
claudiulodro
4eb1396e85
Offload more to subclasses
2017-04-27 14:09:10 -07:00
claudiulodro
db3de7375d
Tweaks from feedback
2017-04-27 11:07:03 -07:00
Mike Jolley
796ab0f257
Merge pull request #14756 from woocommerce/fix/14753
...
Compare with timestamp and remove start date once passed for sale products
2017-04-27 18:06:18 +01:00
Cesar Rodas
7a8011e878
Merge remote-tracking branch 'origin/master' into improve_meta_data_updates
2017-04-27 12:29:09 -04:00
Mike Jolley
a68934d7db
Merge pull request #14731 from crodas/make_sure_meta_data_cache_is_not_shared
...
Make sure the meta data cache is not shared among instances
2017-04-27 16:50:10 +01:00
claudiulodro
6aecb15505
Reduce scope
2017-04-27 08:38:18 -07:00
Mike Jolley
eedcdd97ba
Compare with timestamp and remove start date once passed for sale products
...
Fixes #14753
2017-04-27 14:35:33 +01:00
Cesar Rodas
2e6dc17bd5
Improved update_meta_data function
...
Also updated unit tests that was expecting the meta data as stdclass objects
2017-04-27 09:28:19 -04:00
Mike Jolley
a6329fa68c
Merge pull request #14752 from woocommerce/pr/14732
...
revert price handling of get_price_html()
2017-04-27 13:03:15 +01:00
Mike Jolley
db5e2572f6
clean up
2017-04-27 13:01:52 +01:00
claudiulodro
2fad12221d
Better comments
2017-04-26 11:04:28 -07:00
Cesar Rodas
91de312eb2
Make sure the meta data cache is not shared among instances
...
See #14620 for more context. In there I thought this was the desired behaviour and I enhanced it. After talking with @mikejolley he explained to me that it was not by designed.
This commit makes sure the meta data cache is not shared among instances
2017-04-26 13:51:52 -04:00
Kathy Darling
36dbe64170
revert price handling so null price still is filtered by woocommerce_get_price_html. closes #14727 .
2017-04-26 12:37:30 -05:00
Cesar Rodas
6eb7dcabf2
Added WC_Meta_Data object
...
It wraps an array, and tells if there were any changes before saving it
2017-04-26 10:18:41 -04:00
Cesar Rodas
7f357b18ba
Fixed typo
...
This expression had a typo from the refactoring
2017-04-26 03:21:10 -04:00
Cesar Rodas
d3fd16617c
Improved phpdoc
2017-04-26 02:57:00 -04:00
Cesar Rodas
38f379a7d7
Make get_item() consistent (like get_items())
...
Right now get_item() is loading an item from the database directly. It doesn't
take advantage of our cache and it doesn't check if the item is already loaded in memory.
There is also another bug (or feature?) that it will let you load any item, even if the item is not related to the current order. I believe this is a bug, if somebody really wants to load any item regardless of the order they should use `WC_Order_Factory::get_order_item`.
Another bug is that items loaded with get_item() are not related to the order object, therefore any calls to Order::save() won't persist the changes made to the item.
This commits makes sure the item returned by get_item is loaded similarly like get_items() does, taking advantage of the cache and the $items protected property (chances are the item is already in memory, ready to be used).
If a given item is not found false will be returned. If item exists but it is not related to the current object it will return false as well (If this behaviour is wanted, I can easily change it load the item anyways instead of returning false).
2017-04-26 02:54:14 -04:00
claudiulodro
efa1dbbda5
Basic working order queries
2017-04-25 14:52:17 -07:00
Petar Petrov
fdb28218ea
items_type_key filter and woocommerce_order_line_item_object fix
2017-04-25 18:07:40 +03:00
Mike Jolley
9923612832
Prevent orders being their own parent (!)
...
Closes #14660
2017-04-25 14:18:27 +01:00
Petar Petrov
2b3ec357ad
fix-14302
2017-04-25 14:12:36 +03:00
claudiulodro
553a12203b
WC_Order_Query
2017-04-24 16:28:13 -07:00
claudiulodro
29fa59a0b7
WC_Object_Query
2017-04-24 11:33:17 -07:00
Mike Jolley
4a6c87d1cc
docblock
2017-04-20 16:03:40 +01:00
Mike Jolley
8e28af8b87
define get_user_id/get_user methods for bw compat
...
Closes #14543
2017-04-20 16:02:10 +01:00
Mike Jolley
69a8b6c9b5
When on backorder without notifications, hide the text
...
Fixes #14530
2017-04-19 16:57:49 +01:00
Claudio Sanches
d94f3883da
Merge pull request #14497 from woocommerce/fix/14416
...
Fixed docblocks in REST API v1
2017-04-18 18:43:06 -03:00
Claudio Sanches
81dcd6e79e
Fixed docblocks in REST API v1 for #14416
2017-04-18 13:40:10 -03:00
Mike Jolley
de016c6615
Fix call to is_compound method
...
Fixes #14484
2017-04-18 12:00:21 +01:00
Govind Kumar
200cd2de63
Fixed: get_term() returns objects not array.
2017-04-18 13:00:04 +05:30
Mike Jolley
71929666ac
Merge pull request #14404 from thenbrent/fix_get_meta_returning_deleted_values
...
Don't return deleted meta in get_meta_data()
2017-04-17 11:38:12 +01:00
Beka Rice
d35621f166
Cast unmodified tax as float as well
2017-04-15 12:01:37 -04:00
Brent Shepherd
0e40d2c764
Don't return deleted meta
...
By using $this->get_meta_data() which passed meta through the
WC_Data::filter_null_meta() method, rather than $this->meta_data
which still has null values set.
2017-04-14 13:58:00 -07:00
Beka Rice
9de8589c9c
Fix PHP 7.1 warnings when manually adding order items
2017-04-14 11:12:53 -04:00
Mike Jolley
76d962b606
since
2017-04-10 21:52:06 +01:00
Mike Jolley
e14d85d0a3
__clone meta correctly on object clone
...
Fixes #14118
2017-04-10 17:12:17 +01:00
Claudiu Lodromanean
19361127a9
Array filter before saving
2017-04-06 14:47:22 -07:00
Mike Jolley
fbcb46b273
filter items which are false
...
https://wordpress.org/support/topic/call-to-a-member-function-is_type-cl
ass-wc-order-php-on-line-1305/
2017-04-06 22:15:42 +01:00
Claudiu Lodromanean
94814a0b03
Dont throw exceptions when reading
2017-04-06 13:39:36 -07:00
Mike Jolley
fe42b2565c
Defer variation parent sync to shutdown rather than cron
2017-04-06 12:25:34 +01:00
Gregory Karpinsky
37c7e2a615
Docblock fix
...
`get_availability` returns array of strings
2017-04-06 00:32:36 -04:00
Claudiu Lodromanean
87b71b0653
Merge pull request #13941 from woocommerce/fix/hook-deprecated-function-calls
...
Use wc_deprecated_function so notices are not triggered on ajax requests
2017-04-05 09:36:01 -07:00
Mike Jolley
e66efc1dcc
Use wc_deprecated_function so notices are not triggered on ajax requests
2017-04-05 13:06:43 +01:00
Claudio Sanches
cf954fac1e
Fixed missing array declaration
2017-04-04 14:53:05 -03:00
Mike Jolley
d917856378
Validate status if object_read
...
#13891
2017-04-04 12:39:35 +01:00
Mike Jolley
c06fdc2e2e
If product has_options, don't show qty in grouped product add to cart form
...
Fixes #13875
2017-04-03 12:05:28 +01:00
Akeda Bagus
0b416439c8
Fixed all typos of all files in includes/ directory.
...
Scanning and fixing were done automatically by codespell,
https://github.com/lucasdemarchi/codespell .
2017-03-29 00:58:51 +07:00
Mike Jolley
7857fbe41f
Cast values to float
...
Fixes #13752
2017-03-24 12:05:28 +00:00
Mike Jolley
0ad1f6a63f
Merge pull request #13709 from woocommerce/fix-13708
...
Timezone/DST fixes
2017-03-24 10:25:08 +00:00
Mike Jolley
ba07d53768
Remove guesswork from timezone handling so offsets work correctly regardless of DST
2017-03-23 00:11:15 +00:00
Mike Jolley
c4c8edee5f
Remove order and product factory cache
2017-03-21 23:37:38 +00:00
Mike Jolley
98f5ba44e8
Protection against removed objects.
2017-03-21 18:31:38 +00:00
Mike Jolley
991927c2d8
Handle sleep and wakeup in WC_Data class
2017-03-21 17:42:34 +00:00
JeroenSormani
373bdda4f8
Add required filters to allow custom order item types
2017-03-20 10:37:06 +01:00
Claudio Sanches
59c2849736
Changed version 2.7 to 3.0
2017-03-15 13:36:53 -03:00
Mike Jolley
75a5b062cf
Merge pull request #13577 from woocommerce/fix-13498
...
Timezone/Date method handling
2017-03-15 16:09:41 +00:00
Mike Jolley
d55653a408
Merge branch 'master' into fix-13498
...
# Conflicts:
# includes/class-wc-order.php
# tests/unit-tests/crud/data.php
2017-03-15 15:52:40 +00:00
Mike Jolley
77cade928a
Merge pull request #13596 from woocommerce/fix/payment-token-crud-pattern
...
Update Payment Tokens to follow the same pattern for custom data as other objects.
2017-03-15 15:38:31 +00:00
Justin Shreve
b917a87a73
Deprecated $context on get_display_name.
2017-03-15 08:21:02 -07:00
Mike Jolley
20b857bfbf
Merge pull request #13602 from JeroenSormani/fix-false-deprecated
...
Remove @(deprecated) sign from docblock to prevent false notice in ed…
2017-03-15 09:55:13 +00:00
JeroenSormani
08e441149b
Remove @(deprecated) sign from docblock to prevent false notice in editors
2017-03-15 09:46:17 +01:00
Justin Shreve
fb124232cf
Update Payment Tokens to follow the same pattern for custom data as other object types.
...
Payment tokens was introduced in 2.6 and was updated to use the new CRUD code while some of the CRUD system was still in flux.
While most things were correct, the prop handling for custom fields (like a card's last 4 digits) were directly calling meta functions, instead of delegating to the data store/parent.
This PR moves these props to `extra_data` and follows the same pattern as product types or order items. It also updates some version tags to 3.0.0. Finally, it adds an additional test for saving meta after a create which looks like it was lacking.
To Test:
* Run `phpunit`.
* Go to the "My Account" tab and add a new payment method. You need a payment gateway that supports this, like Simplify.
* Test the add a payment method flow.
* Make a test purchase using the saved payment method.
2017-03-14 12:33:35 -07:00
Mike Jolley
a3cc5cc9bb
has_meta -> meta_exists
...
#13590
Avoid has_meta conflict with old method.
#13581
2017-03-14 16:49:13 +00:00
Mike Jolley
8f2746049d
has_meta method
2017-03-14 12:08:33 +00:00
Mike Jolley
02c826ba5e
Correctly handle null values
2017-03-13 22:14:20 +00:00
Mike Jolley
1bac579df7
Date getters and setters
2017-03-13 19:52:44 +00:00
Rami Yushuvaev
d2457fe922
i18n: escape translation strings and fix wrong usage of i18n functions
2017-03-13 07:39:46 +02:00
Mike Jolley
53962f1143
Other date_date call replacements
2017-03-10 16:43:05 +00:00
Mike Jolley
66e8d9b054
Merge pull request #13530 from woocommerce/alt-fix-13496
...
Avoid filters during construct
2017-03-10 12:22:22 +00:00
Claudiu Lodromanean
8a18702c27
Just use array_replace_recursive in apply_changes
2017-03-09 09:06:05 -08:00
Mike Jolley
6848fad224
Merge branch 'timezone-poc' into fix-13498
2017-03-09 16:10:07 +00:00
Mike Jolley
9427eb048d
Set default status in getter, not during contruct.
...
Prevents loops like in Prospress/woocommerce-subscriptions#1902
2017-03-09 13:45:33 +00:00
Claudiu Lodromanean
3b8eb75c93
Better handling of nested arrays in apply_changes
2017-03-08 11:51:38 -08:00
Mike Jolley
c7dc8ae2b4
date_created and date_modified getters and setters
2017-03-08 16:51:10 +00:00
Mike Jolley
1a9c49db25
set_date_prop helper to convert dates in setters
2017-03-08 16:50:38 +00:00
Michael Pretty
6150ee2fde
Validate the parent order ID by calling wc_get_order() instead of get_post()
2017-03-08 08:02:18 -05:00
Mike Jolley
5bdeddcb32
Hide suffix on variable product when dynamic.
...
Closes #13494
2017-03-07 13:25:52 +00:00
Mike Jolley
e5ed116e33
Split total row methods to avoid calling total row filter twice
...
Fixes #13456
2017-03-06 13:44:52 +00:00
Claudio Sanches
7adb472a1c
Fixed extra argument on array_map while setting categories and tags ids
2017-03-03 16:26:57 -03:00
Claudio Sanches
a4b7cc5f0d
Accept only list of terms IDs for product categories and tags
2017-03-03 16:19:32 -03:00
Mike Jolley
8440083fef
Merge pull request #13443 from woocommerce/cache-groups
...
Standardize cache group names
2017-03-03 10:44:34 +00:00