Claudio Sanches
3ebda4a431
Use WC_Data_Exception in WC_Product_Variation_Data_Store_CPT
2020-01-06 21:35:23 -03:00
Claudio Sanches
85a077b939
Coupon race condition prevention
2020-01-06 19:44:24 -03:00
Christopher Allford
874be93c14
Removed the lowercase conversion of product search terms
...
When searched in a case sensitive manner, the conversion to lowercase causes uppercase matches that would have been found to be lost. This change increases the tolerance of the OR search format while also removing this unintended side-effect.
2019-12-24 15:00:40 -08:00
Rodrigo Primo
7337ab60c2
Fix PEAR.Functions.FunctionCallSignature violations
...
This commit fixes all violations of the PEAR.Functions.FunctionCallSignature sniff automatically using phpcbf.
2019-12-20 15:25:23 -03:00
Rodrigo Primo
487f96d844
Fix WordPress.DateTime.CurrentTimeTimestamp vilations
...
This commit fixes all violations of the WordPress.DateTime.CurrentTimeTimestamp sniff automatically using phpcbf.
2019-12-20 14:23:05 -03:00
Rodrigo Primo
62d6b05b58
Fix Generic.Formatting.MultipleStatementAlignment violations
...
This commit fixes all violations of the Generic.Formatting.MultipleStatementAlignment sniff automatically using phpcbf.
2019-12-20 14:21:08 -03:00
vedanshujain
ad2f76275a
Applied coding standards
2019-12-17 19:13:19 +05:30
vedanshujain
ba2d825800
Use DB timestamp to ensure consistency between servers.
2019-12-17 19:13:19 +05:30
vedanshujain
9b7343d23b
Applied coding standards
2019-12-17 19:13:19 +05:30
vedanshujain
47ba1d49da
Cascade to return null to prevent notice when array is empty.
...
Another situation where this change is required when there are two coupons in an order but only one coupon has limit. In this case array will be present but one of the coupon will not have a corresponding record which will throw a notice.
2019-12-17 19:13:19 +05:30
vedanshujain
53bfcea110
Use same filter for stocks and coupon for consistency.
2019-12-17 19:13:19 +05:30
vedanshujain
72545c44b7
Add support for `_held_for_checkout` records to improve performance.
...
This will also improve transactional stability and avoid race conditions by providing a way to lock usage counts.
2019-12-17 19:13:19 +05:30
Claudio Sanches
f7632de06e
Merge pull request #25164 from om4james/webhook-delete-cache
...
Delete cached webhook data when a webhook is deleted
2019-12-10 22:45:42 -03:00
Claudio Sanches
104f40c36e
Merge pull request #24281 from woocommerce/fix/24269
...
Handle multiple decimal points
2019-12-09 14:07:29 -03:00
Claudio Sanches
78e382e4d6
Fixed incorrect concatenation of variation sale prices with ".00"
2019-12-06 12:37:23 -03:00
James Collins
0246b02a94
Merge branch 'master' into webhook-delete-cache
2019-12-06 08:57:54 +08:00
Rodrigo Primo
27915dd696
Exception when WC_Product_Variation is instantiated with the wrong type
...
This commits changes WC_Product_Variation to raise an exception when the
class is instantiated with an ID that belongs to a post object that is
not a product variation.
This is necessary to avoid problems like the one described in #24956
where passing a variable product ID to WC_Product_Variation would result
in transparently modifying the variable product title and excerpt.
2019-12-05 15:45:48 -03:00
Rodrigo Primo
61a843679a
Fix WPCS violations automatically using phpcbf
2019-12-05 15:45:12 -03:00
Claudio Sanches
5fdb880831
Merge branch 'master' into feature/24956
2019-12-04 16:18:39 -03:00
Claudio Sanches
8033d5751e
Changed wc_get_product_classname function name to wc_get_product_object
2019-12-04 16:15:16 -03:00
Claudio Sanches
a12c25862b
Revert "Add support for '_held_for_checkout` records to prevent race conditions."
2019-12-04 16:03:05 -03:00
James Collins
b29f8cc1bd
Deleted cached webhook data when deleting a webhook
2019-12-04 12:04:35 +08:00
Claudio Sanches
258066dc2b
Merge pull request #25077 from woocommerce/update/coupon-object-update-hook
...
Fix second param of action hook woocommerce_coupon_object_updated_props
2019-12-03 17:53:04 -03:00
Claudio Sanches
0c486785ad
Merge pull request #25089 from woocommerce/fix/24009
...
Add support for '_held_for_checkout` records to prevent race conditions.
2019-12-03 17:47:22 -03:00
Claudio Sanches
988b72e461
Updated filter name to woocommerce_hold_stock_for_checkout
...
Also fixed coding standards
2019-12-03 16:38:17 -03:00
Peter Fabian
309c48ab0e
Deprecated old cache function and replaced it with a new one.
2019-11-28 14:03:57 +01:00
vedanshujain
e87024bb81
Add support for '_held_for_checkout` records to prevent race conditions.
...
When creating an order, if manage inventory is enabled then add a `_held_for_checkout` record with a expiry timestamp embedded. This is added in an atomic manner along with making a check whether we have current stock or not.
This record is removed when order status goes to either `processing` or `completed`.
2019-11-21 01:21:08 +05:30
Gerhard
2a4a1a5842
Remove unused $updated_props variable
2019-11-20 14:47:44 +02:00
Michael Weichselgartner
2092da00c4
Fix second param of action hook woocommerce_coupon_object_updated_props
...
Changed second param from $updated_props to $this->updated_props
2019-11-20 14:42:09 +02:00
Claudio Sanches
ba0773d12e
Apply wc_get_product_classname() in the current code base
2019-11-13 15:30:09 -03:00
Peter Fabian
3cbea2a902
Simplify 'any-check' to only include empty string.
2019-10-02 16:58:45 +02:00
Peter Fabian
4cfe22eef9
Made the attribute value comparison strict.
2019-10-02 16:05:44 +02:00
Peter Fabian
258e49a8de
Allow attribute value 0 to work correctly with variations (especially add to cart and select variation).
2019-10-02 14:58:40 +02:00
Vedanshu Jain
7081c64115
Merge pull request #24294 from woocommerce/fix/24106
...
Make WC_Product_Query capable to sort products by "include" order
2019-10-02 18:02:06 +05:30
Rodrigo Primo
b033c110db
Merge pull request #24229 from rynaldos/woocommerce_update_product_stock_query-changes
...
Use $new_stock in woocommerce_update_product_stock_query
2019-09-24 18:01:10 -03:00
Rodrigo Primo
c3262eea3e
Merge pull request #24385 from woocommerce/fix/24356
...
Ensure WC_Product_Data_Store_CPT::is_existing_sku() return boolean
2019-08-21 16:52:13 -03:00
Gerhard
5a1615a152
PHPCS fix
2019-08-12 20:26:34 +02:00
Rodrigo Primo
f687412acd
Merge pull request #24353 from woocommerce/fix/24334
...
Avoid PHP notice when getting order item type
2019-08-12 14:11:41 -03:00
Claudio Sanches
66dbb44100
Ensure WC_Product_Data_Store_CPT::is_existing_sku() return boolean
2019-08-12 12:45:43 -03:00
Rodrigo Primo
6c263c97b6
Merge pull request #24239 from Chouby/fix/delete_variations_actions
...
Fire related actions when deleting all product variations
2019-08-08 16:47:39 -03:00
Rodrigo Primo
21418bb28b
Avoid PHP notice when getting order item type
...
This commit changes WC_Order_Item_Data_Store::get_order_item_type() to
avoid a PHP notice ("Notice: Trying to get property 'order_item_type' of
non-object") when there is no entry in the database for the order item
ID passed.
2019-08-07 18:03:26 -03:00
Mahdi Yousefi
449a258781
Remove whitespace at end of line
2019-08-07 11:26:28 +04:30
Mahdi Yousefi
c2d05b1fc0
Update class-wc-shipping-zone-data-store.php
2019-08-07 08:34:14 +04:30
Claudio Sanches
d624bb57d5
Fixed coding standards
2019-08-01 15:56:02 -03:00
Claudio Sanches
decea3d28c
Allow sort products by "include" order
2019-08-01 15:55:32 -03:00
Frédéric Demarle
0fa582a25f
Coding standards
2019-07-26 13:40:13 +02:00
Frédéric Demarle
e3dd09d021
Fire related actions when deleting all product variations
2019-07-26 11:55:30 +02:00
rspublishing
bb2c929fba
Use in woocommerce_update_product_stock_query
2019-07-25 09:31:37 +02:00
MahdiY
040a617cd1
Add filter hook to get zone criteria
2019-07-19 09:35:04 +04:30
Gerhard Potgieter
60b385ea93
Merge pull request #23268 from Spreeuw/patch-8
...
store tax rate percent in tax line items
2019-07-14 18:42:10 +02:00
Claudio Sanches
60c18ce544
Merge pull request #23067 from woocommerce/pr/23043
...
Allow matching of "any" attributes in find_matching_product_variation…
2019-07-12 12:40:53 -03:00
Ewout Fernhout
6fe857f718
Merge remote-tracking branch 'origin/master' into patch-8
2019-07-11 14:44:39 +02:00
Gerhard Potgieter
2734b190c1
Merge pull request #23881 from ionutcalara/master
...
Update find matching variation method inner query
2019-07-10 15:53:30 +02:00
Claudio Sanches
32996d2fdd
Merge branch 'master' into pr/23043
2019-07-09 12:39:40 -03:00
Claudio Sanches
01f5a09d27
Merge pull request #23338 from woocommerce/update/23335
...
More useful actions in during CRUD save events
2019-07-08 18:56:14 -03:00
oscargare
2c8e45830a
Added new action "woocommerce_product_read" ( #23181 )
...
* Added new action "woocommerce_read_product_data"
* Added new action woocommerce_product_read
2019-07-04 14:17:34 -03:00
Claudio Sanches
1f73c63a57
Merge pull request #23909 from woocommerce/fix/23895
...
Explicitly check 0 value attributes when looking up variations.
2019-06-24 12:35:39 -03:00
Claudio Sanches
3ce6acec74
Updated outdated codex URLs
2019-06-12 19:31:01 -03:00
Gerhard
3894d156e6
Explicitly check 0 value attributes when looking up variations.
2019-06-12 11:27:27 +02:00
Ionut Calara
26dfe11493
Update find matching variation method inner query
...
Fix variation query to prevent the order by being ignored in some mysql
and mariadb versions. The order by has been moved outside and a left
join was added.
2019-06-07 13:05:01 +03:00
Claudio Sanches
b5da70c74a
Introduced woocommerce_search_products_post_statuses filter
2019-05-28 21:05:26 -03:00
Gerhard Potgieter
b2ed079520
Manual orders coupon usage limits by email ( #23775 )
...
* Add functionality to wp-admin order to check for coupon usage based on email addresses, similar to how WC_Cart handles this seperately, included unit tests.
* Only do the coupon by email usage check if order is from a guest. Fix issue with unit test.
2019-05-27 11:45:29 -03:00
Gerhard Potgieter
9f0e1a6e64
Merge pull request #23534 from woocommerce/fix/233880-alt
...
Revise update stock logic
2019-05-16 14:15:13 +02:00
Gerhard Potgieter
d8f145c2ca
Merge pull request #23714 from woocommerce/fix/23692
...
Add back backward compatibility for coupon expiry_date meta field
2019-05-16 14:10:03 +02:00
Peter Fabian
207042f7df
Put back the manage stock check for lookup table.
2019-05-16 10:57:42 +02:00
Peter Fabian
9f0fb0b404
Foxed the use to correct stock quantity parameter.
2019-05-15 16:18:24 +02:00
Peter Fabian
af7950910c
Removed the transaction and locking code.
...
NOWAIT is not supported on MySQL server 5.5,
SELECT ... FOR UPDATE can leave lingering locks on InnoDB ("When InnoDB performs a complete rollback of a transaction, all locks set by the transaction are released. However, if just a single SQL statement is rolled back as a result of an error, some of the locks set by the statement may be preserved. This happens because InnoDB stores row locks in a format such that it cannot know afterward which lock was set by which statement.", via https://dev.mysql.com/doc/refman/5.5/en/innodb-deadlock-detection.html )
2019-05-15 15:09:16 +02:00
Peter Fabian
68a325249f
Removed the extra parameter that didn't make sense.
...
Also get_data_for_lookup_table should not be checking db value of _manage_stock as that can be in the process of being changed.
2019-05-15 14:20:27 +02:00
Gerhard
aadc7a1069
Add todo
2019-05-15 11:23:41 +02:00
Gerhard
8ed1a647bc
Restore backward compatibility meta_key for coupon date_expires. @todo: migrate expiry_date in next release to date_expires
2019-05-15 11:21:52 +02:00
Gerhard
3d57a4b474
Use WC_Cache_Helper::get_cache_prefix for prefixing webhook count cache, fixes issue with cache not clearing when incrementing the prefix.
2019-05-15 10:47:50 +02:00
Peter Fabian
375880e06b
Made the increase and decrease operations atomic, set is atomic as it's not fetch-and-update, just update.
2019-05-02 19:41:15 +02:00
Peter Fabian
44f1803c53
Tweaked update lookup table to add the possibility to ignore manage_stock value from the database.
...
E.g. if manage_stock property has been changed in the object/local copy of the product while updating it, but the product has not been saved to the db yet, the lookup table update would ignore stock quantity update.
2019-05-02 19:29:28 +02:00
Mike Jolley
0cd5c1da66
Allow stock to be force read without a change
2019-04-26 17:24:11 +01:00
Mike Jolley
ae7436d37c
Select for update, returning the new stock value
2019-04-26 17:23:45 +01:00
Mike Jolley
57929f2b09
During initial lookup generation set option
2019-04-23 15:23:47 +01:00
Mike Jolley
867f6ce7ad
Merge pull request #23418 from szepeviktor/patch-2
...
Refunds are WC_Order_Refund
2019-04-23 12:24:20 +01:00
Viktor Szépe
b1476ba497
Fix coding style
...
in class-wc-order-refund-data-store-cpt.php
2019-04-22 23:05:34 +02:00
Viktor Szépe
babb5ab18e
Refunds are WC_Order_Refund
...
props. @phpstan
2019-04-21 21:55:13 +02:00
Mike Jolley
f306d3fc11
Merge pull request #23266 from woocommerce/fix/23234
...
Switch to subquery for sale product query
2019-04-18 12:36:22 +01:00
Mike Jolley
e354bb90aa
Pass objects to new/update actions
2019-04-17 12:50:46 +01:00
Timmy Crawford
e12e4aaa25
Merge pull request #23304 from woocommerce/fix/link-all-variations
...
[3.6] Fix logic in link all variations
2019-04-15 11:16:22 -07:00
Mike Jolley
30129f00ff
Fix issue in tests by disabling strict mode
2019-04-15 12:10:22 +01:00
Mike Jolley
d0c6c54989
Moved link/create code to data store with new unit test
...
This code was not testable within ajax code, so moved to the data stores.
2019-04-15 11:59:57 +01:00
Ewout Fernhout
794ba844b2
store tax rate percent in tax items
2019-04-10 17:35:43 +02:00
Mike Jolley
fe385c9f74
fix query by adding alias
2019-04-10 13:48:03 +01:00
Mike Jolley
2e24cc7b0c
Switch to subquery for sale product query
2019-04-10 12:43:22 +01:00
Manos Psychogyiopoulos
861d42f368
Fix IN type
2019-04-09 05:48:08 +03:00
Manos Psychogyiopoulos
f6c560d684
Introduce IN and NOT IN clauses in `WC_Product_Data_Store_CPT::search_products`
...
closes #23245
2019-04-09 05:33:50 +03:00
Mike Jolley
9ea63486e6
Add get_post_status helper method and ensure prefix gets added for most statuses
2019-04-03 14:21:38 +01:00
Mike Jolley
c19a39962a
Correct any handling
2019-03-18 12:09:37 +00:00
Lee Willis
3573beadc1
Allow matching of "any" attributes in find_matching_product_variation. Fixes #23042
2019-03-15 16:25:26 +00:00
Timmy Crawford
e1c09b4609
Merge pull request #22973 from woocommerce/update/22545
...
Revised sale start/end date save logic
2019-03-14 17:53:40 -07:00
Mike Jolley
8d0ec76cea
Update the table on save
2019-03-13 17:33:44 +00:00
Mike Jolley
53896e3149
onsale lookup
2019-03-13 17:14:20 +00:00
Mike Jolley
e2e124f365
Merge pull request #22083 from woocommerce/feature/variation-search
...
Added storing attribute values as post_excerpt for variations.
2019-03-13 15:09:19 +00:00
Mike Jolley
16ff51ded3
Use lookup table ID
2019-03-13 15:00:12 +00:00
Mike Jolley
4b2f7aedd4
Trigger sync after updating meta
2019-03-13 13:53:58 +00:00
Mike Jolley
0002463c61
child_has_stock_status use lookup
2019-03-13 13:48:38 +00:00
Mike Jolley
d17dc119bc
SKU lookup
2019-03-13 13:30:49 +00:00
Mike Jolley
df0c432de2
update_product_stock should sync lookup table
2019-03-13 13:30:31 +00:00
Mike Jolley
f6d9e7796f
is_existing_sku use lookup
2019-03-13 13:25:55 +00:00
Mike Jolley
c52eac2871
check updated props for variables
2019-03-12 19:22:30 +00:00
Peter Fabian
fb0f112c6d
Update the db only once if both title and attributes got updated.
2019-03-12 12:55:15 +01:00
Mike Jolley
749493b4f4
Merge pull request #22867 from woocommerce/fix/22838
...
Refactor delete zone/delete zone method data store to remove settings
2019-03-11 15:55:53 +00:00
Mike Jolley
587f792868
Dupe line
2019-03-11 15:55:25 +00:00
Mike Jolley
fbda3a91d8
Merge feature/add-tracks into master
2019-03-11 15:15:50 +00:00
Mike Jolley
e55bb84e8b
Merge pull request #22718 from woocommerce/experiment/product-sorting-index
...
Performance: product sorting lookup table
2019-03-11 13:27:10 +00:00
Peter Fabian
d3dfee7353
Updated docs.
2019-03-09 12:09:50 +01:00
Peter Fabian
ec0767b3ce
Added attribute summary prop getters and setters.
2019-03-09 12:09:09 +01:00
Mike Jolley
c56d3ede9f
Remove day offsets
2019-03-08 13:35:30 +00:00
Mike Jolley
15ca2144d3
Merge pull request #22773 from woocommerce/performance/delete-empty-meta
...
Performance: delete empty meta
2019-03-08 10:22:31 +00:00
Mike Jolley
663f724bdd
Cleanup methods
2019-03-07 15:08:22 +00:00
Mike Jolley
dc635b9561
Update search_products to use lookup table
2019-03-07 14:46:01 +00:00
Mike Jolley
0782d39a55
Stock status
2019-03-07 14:32:20 +00:00
Mike Jolley
1ab455ec09
virtual and downloadable
2019-03-07 14:07:51 +00:00
Mike Jolley
dfc539c051
SKU column
2019-03-07 13:34:28 +00:00
Mike Jolley
a697c97472
Add rating_count to lookup table
2019-03-06 14:03:44 +00:00
Gerhard
e36ffaa6f0
Use correct meta key _stock for updating lookup table stock.
2019-03-05 14:38:22 +02:00
Mike Jolley
5af9d968e5
Update from master
2019-03-01 10:29:17 +00:00
Mike Jolley
a2606a3f1f
Avoid updates on read - this is for legacy where meta was missing and shouldn't be ran for all products
2019-02-28 14:47:06 +00:00
Mike Jolley
937e0f22f0
Refactor delete zone/delete zone method data store to remove settings
2019-02-26 16:53:52 +00:00
Peter Fabian
4e177d264d
Corrected comment.
2019-02-26 11:15:16 +01:00
Peter Fabian
06118db3d5
Added lazy-update of post_excerpt for variations to avoid the need for db update routine.
2019-02-26 11:11:45 +01:00
Tarik Causevic
5f87fa49e1
Correct invalid param type from id to int
2019-02-22 17:39:58 +01:00
Paul Sealock
3f8b3bc1fd
_woocommerce_tracks_anon_id to customere data store
2019-02-22 11:49:14 +13:00
Paul Sealock
851a2557f6
Tracks: Add a PHP client
2019-02-22 11:48:17 +13:00
Mike Jolley
5749369ba5
Update coupons and orders to use update_or_delete_post_meta
2019-02-19 15:35:05 +00:00
Mike Jolley
ea22b1cf47
Wrong var name
2019-02-19 13:24:29 +00:00
Mike Jolley
c6871bb107
Use update_or_delete_post_meta - exclude _tax_class which may be empty
2019-02-19 13:23:24 +00:00
Mike Jolley
8c82333034
update_or_delete_post_meta method which does what it says
2019-02-19 13:23:09 +00:00
Mike Jolley
07eadfeb72
Merge pull request #22760 from woocommerce/performance/webhook-loading
...
Performance: webhook loading
2019-02-19 09:58:06 +00:00
Mike Jolley
bdf77f5648
Merge pull request #22423 from woocommerce/performance/find-matching-variations
...
Performance - Finding matching variations
2019-02-19 09:53:34 +00:00
Mike Jolley
2529cd60cd
Merge pull request #22731 from woocommerce/update/21952
...
Prevent webhooks for drafts and correct create vs updated for manual orders
2019-02-19 09:50:51 +00:00
Claudio Sanches
8388325985
PHPCS ignore only what is necessary
2019-02-18 18:45:07 -03:00
Claudio Sanches
096e92554b
Only disable WordPress.DB.SlowDBQuery.slow_db_query_tax_query
2019-02-18 18:42:11 -03:00
Claudio Sanches
88984da13a
Merge branch 'master' into performance/find-matching-variations
2019-02-18 18:41:17 -03:00
Claudio Sanches
4d5c6b9042
Use short cuts for wpdb properties
2019-02-18 18:38:29 -03:00
Peter Fabian
618355bcab
Merge branch 'master' into feature/variation-search
...
# Conflicts:
# includes/class-wc-install.php
# includes/wc-update-functions.php
2019-02-18 17:18:44 +01:00
Mike Jolley
4fd2a9f77e
Update from master
2019-02-18 15:04:58 +00:00
Mike Jolley
71d3121872
Performance: Support pagination to avoid double queries to search webhooks
2019-02-18 14:58:32 +00:00
Mike Jolley
4b3c1660f1
Dedicated count method
2019-02-18 13:41:14 +00:00
Mike Jolley
d787c34206
get_webhooks_ids escaping
2019-02-18 13:34:13 +00:00
Mike Jolley
0c53145f2b
Removed limit option from get_webhooks_ids - since transient stores all ids anyway, this logic makes more sense elsewhere
2019-02-18 13:13:59 +00:00
Mike Jolley
1d46294ee8
Update versions
2019-02-18 13:07:04 +00:00
Mike Jolley
3d8c58e110
status_widget_stock_rows lookups
2019-02-15 13:37:51 +00:00
Mike Jolley
35d2161fa9
Stock lookup
2019-02-15 13:05:46 +00:00
Mike Jolley
3309276e82
Renamed table to wc_product_meta_lookup
2019-02-15 12:37:45 +00:00
Mike Jolley
2a0ba812a3
Check for decoded taxonomy name when unsetting
2019-02-14 15:58:12 +00:00
Mike Jolley
13612ef3f1
Update CRUD update hook based on status transition
2019-02-13 17:55:30 +00:00