Commit Graph

965 Commits

Author SHA1 Message Date
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
Mike Jolley ae17d6f3bd Avoid handling wc-auto-draft
WC was erroneously adding wc- prefix to the core WP auto-draft status.

#22380 registered it formally but we don't need it.

I've reverted #22380 and handled the prefix correctly.
2019-02-13 17:52:28 +00:00
Mike Jolley fe853e5d02
Merge pull request #22672 from Chouby/update_stock_filter
Allow to filter the direct sql query to update the product stock
2019-02-13 14:32:43 +00:00
Mike Jolley 4dd5cef7b9 Unused key variable 2019-02-12 14:19:37 +00:00
Mike Jolley 7f3816dfe7 Correct props to watch 2019-02-12 14:16:48 +00:00
Mike Jolley 7b6558e1df Correct table names and updater 2019-02-12 14:04:22 +00:00
Mike Jolley 64df8a2934 update lookup tables handlers and actions 2019-02-12 13:23:47 +00:00
Mike Jolley eae9f73bd2 update_lookup_table helper 2019-02-12 13:22:51 +00:00
Mike Jolley 2ebfe73524 Avoid updates on read - this is for legacy where meta was missing and shouldn't be ran for all products 2019-02-12 11:46:55 +00:00
Mike Jolley 1efe7747a8 merge conflict 2019-02-08 13:08:55 +00:00
Mike Jolley 889cf64ac4 Merge branch 'performance/wc-get-product-class' 2019-02-07 13:34:18 +00:00
Claudiu Lodromanean 2d2d7a7053
Merge pull request #22613 from woocommerce/performance/set-props
Performance: `set_props`
2019-02-06 10:02:54 -08:00
Mike Jolley 00b48febac Merge branch 'update/versioned-transients-alt' 2019-02-06 13:18:50 +00:00
Mike Jolley cb4bf5d1e5 Fix unit tests 2019-02-06 12:44:24 +00:00
Frédéric Demarle 03a60fddfc Ignore WordPress.DB.PreparedSQL.NotPrepared 2019-02-06 10:24:41 +01:00
Frédéric Demarle 6e4854b3aa Add filter woocommerce_update_product_stock_query 2019-02-05 20:29:45 +01:00
Mike Jolley 250e9ff423
Merge pull request #22609 from woocommerce/fix/22545
add DAY_IN_SECONDS to cron sale price removal check for consistency with #22189
2019-02-05 11:00:35 +00:00
Ron Rennick 249bf99df5 phpcs sniff fixes for class-wc-product-data-store-cpt.php 2019-02-04 12:55:21 -04:00
Ron Rennick e64914bb3c add DAY_IN_SECONDS to cron sale price removal check for consistency with #22189 2019-02-04 12:54:33 -04:00
Mike Jolley 893b33973c Merge branch 'fix/22147' 2019-02-04 13:05:40 +00:00
Mike Jolley fe2e70d7dc
Merge pull request #22392 from woocommerce/fix/checkout-shipping-address-20975
For logged in customers, pull default address fields from customer object, not session object
2019-02-04 11:23:03 +00:00
Mike Jolley a16c677baf Missing _price 2019-01-30 16:20:23 +00:00
Mike Jolley 8e51ab2fcd Set props using one get_post_meta call 2019-01-30 16:20:17 +00:00
Mike Jolley 23b0fdbc1f Fix id usage 2019-01-30 16:11:44 +00:00
Mike Jolley 57ccde6643 get_product_type cache 2019-01-30 16:11:29 +00:00
Mike Jolley 59e0867afe Add missing post_password prop 2019-01-30 16:01:54 +00:00
Mike Jolley 7c0273fa12 Prime caches when reading variations 2019-01-28 15:00:48 +00:00
Mike Jolley 43ba62dc86
Merge pull request #22067 from Prospress/fix/22046
populate default variation attributes when it is the first variation
2019-01-22 17:29:54 +00:00
Mike Jolley ebac35e2c5
Merge pull request #22324 from Prospress/fix/21380
update variation guid with the id after creation
2019-01-22 13:07:42 +00:00
Mike Jolley 83aa070654
Merge pull request #22412 from woocommerce/fix-minor-issues-in-webhook-class
Fix minor issues in WC_Webhook_Data_Store class
2019-01-22 12:51:42 +00:00
Mike Jolley 6367d19615 phpcs 2019-01-21 08:11:40 -08:00
Mike Jolley e91f3b88f5
Merge pull request #22448 from woocommerce/fix/21580
Multisite - Load customer data for logged in users regardless of being member of sub-site
2019-01-21 14:21:21 +00:00
Mike Jolley d3ac50d47f Remove heavy queries from transient cleanup function
Remove heavy queries from transient cleanup function

Removes unneccessary loops and heavy queries.

There is a parent update and cache clear which was added in #17141. This cleanup is handled in `update_attributes` so doing it again here should be unneccessary.

Finally, the layered nav cleanup here can be moved. #22029 notes that this was needed in case of a stock change affecting product visibility. If we move to the data store, we can avoid getting the product here which is slower.
2019-01-21 13:02:31 +00:00
Mike Jolley 7744879326 wc_delete_product_transients for parent 2019-01-21 13:01:18 +00:00
Mike Jolley 08d7e319b6 Version handling for var prices 2019-01-21 12:56:55 +00:00
Brent Shepherd 2ed2572afe Clear webhook transients when status changes
Background discussion: https://github.com/woocommerce/woocommerce/pull/21427#discussion_r246881785
2019-01-18 14:30:35 +10:00
Brent Shepherd 28ca9f1ec4 Remove unused $wpdb 2019-01-18 14:30:35 +10:00
Brent Shepherd 21d724c65d PHPCS fixes
Add fixes required for Travis to pass the PR, but which aren't
related to the PR diff.
2019-01-18 14:30:35 +10:00
Brent Shepherd 9fdbb124ae Add $limit param to wc_load_webhooks()
And the corresponding data stores. Defaults to null, meaning do not
limit, for backward compatibility.
2019-01-18 14:30:35 +10:00
Brent Shepherd f86b738db3 Use search_webhooks()
To avoid duplicate SQL
2019-01-18 14:29:34 +10:00
Brent Shepherd 67bf101aaf Add $status param to wc_load_webhooks()
And the corresponding data stores. Defaults to '', meaning do not
load only webhooks with a specific status. This maintains backward
compatibility. However, the call to wc_load_webhooks() within
WooCommerce::load_webhooks() can now only load active webhooks, as
they are the only ones that should be enqueued.
2019-01-18 14:29:34 +10:00
Mike Jolley 4fc197c67d
Merge pull request #21003 from Chunkford/patch-2
Giving the ability to add custom pricing data - read_price_data()
2019-01-16 15:22:40 +00:00
Mike Jolley f68a547f53 Don't mix session and customer data 2019-01-15 16:49:01 +00:00
Mike Jolley 4dbee72c65
Merge pull request #22165 from woocommerce/fix/22089
Add new pre query filter to WC_Product_Data_Store_CPT::search_products()
2019-01-14 17:02:51 +00:00
Mike Jolley 1b337dea64 Load customer data regardless of current blog 2019-01-14 16:30:47 +00:00
Mike Jolley 5016e4c858 Removed unused query 2019-01-11 16:56:51 +00:00
Mike Jolley 938992cbae Exit early, add back fallback code 2019-01-11 16:52:57 +00:00
Mike Jolley da80c154fc Query tweaks 2019-01-11 16:48:05 +00:00
Mike Jolley 4bda1c9cad Code style improvements 2019-01-11 15:52:43 +00:00
Matthew Rochow 7c50a29d2d Update class-wc-product-data-store-cpt.php 2019-01-11 14:47:41 +00:00
Matthew Rochow 07b2bcc726 Update class-wc-product-data-store-cpt.php 2019-01-11 14:47:41 +00:00
Matthew Rochow 01d7eaf92f Update class-wc-product-data-store-cpt.php
Updating find_matching_product_variation() function to be faster
2019-01-11 14:47:41 +00:00
Rodrigo Primo c15d622dd2 WC_Data::get_id() does not take any parameters
This commit removes a parameter from a call to WC_Data::get_id() as this method does not take any parameters
2019-01-10 17:10:13 -02:00
Rodrigo Primo 609430a8f1 Remove unused parameter from WC_Webhook_Data_Store::delete() 2019-01-10 17:08:41 -02:00
Rodrigo Primo 3cf945d5d9 Fix PHPCS errors automatically using phpcbf 2019-01-10 17:07:53 -02:00
Mike Jolley e31b35597a Slash meta values to preserve slashes on save 2019-01-08 13:28:26 +00:00
Mike Jolley fb9847bcca
Merge pull request #21853 from rellect/incorrect_call
Remove non existent parameter
2019-01-07 12:47:40 +00:00
Ron Rennick 1a02e9f64a update variation guid with the id after creation 2019-01-02 14:26:08 -04:00
Ron Rennick 50b36e549f phpcsw sniff fixes for class-wc-product-variable-data-store-cpt.php 2018-12-13 14:35:24 -04:00