Commit Graph

306 Commits

Author SHA1 Message Date
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
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
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
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 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
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 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 16ff51ded3 Use lookup table ID 2019-03-13 15:00:12 +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 e55bb84e8b
Merge pull request #22718 from woocommerce/experiment/product-sorting-index
Performance: product sorting lookup table
2019-03-11 13:27:10 +00: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 c6871bb107 Use update_or_delete_post_meta - exclude _tax_class which may be empty 2019-02-19 13:23:24 +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
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
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 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 7f3816dfe7 Correct props to watch 2019-02-12 14:16:48 +00:00
Mike Jolley 64df8a2934 update lookup tables handlers and actions 2019-02-12 13:23:47 +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 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 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 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
Mike Jolley e31b35597a Slash meta values to preserve slashes on save 2019-01-08 13:28:26 +00:00
Rodrigo Primo 522f992bfe Add new pre query filter to WC_Product_Data_Store_CPT::search_products()
This commits adds a filter to WC_Product_Data_Store_CPT::search_products() to let third-party code define custom ways to search for products.
2018-12-06 16:08:10 -02:00
Rodrigo Primo 6ec2b26972 Update WordPress.DB.PreparedSQL.NotPrepared sniff name
The latest version of WPCS that was added to WC last week, changed the name of some sniffs. This commit updates the name of one of those sniffs from WordPress.WP.PreparedSQL.NotPrepared to WordPress.DB.PreparedSQL.NotPrepared.
2018-11-23 15:10:52 -02:00
Rodrigo Primo 57f44798cb Fix phpcs violations automatically using phpcbf 2018-11-23 12:57:51 -02:00
Gerhard 2aa39507f7 Do not include products who's parents are not in publish status to be part of the get_on_sale_products results 2018-11-01 12:01:59 +02:00
JeroenSormani 7b4075f11a Ensure wp_list_pluck() gets a array and not possibly null 2018-10-16 18:53:31 +02:00
Jack Boyle 63b84ef407 Fix Requested Changes
Changed to check if field exists and the field is not blank.
2018-08-24 13:03:09 +10:00
Jack Boyle c4eda39177 Add wildcard handler for SKU and other meta values
Add wildcard handler for SKU and other meta values
2018-08-23 09:59:39 +10:00
Joey Gilham 58cdd7dad2
Merge branch 'master' into master 2018-07-03 15:41:15 +01:00
Claudiu Lodromanean c203ff16d9
Merge pull request #20482 from woocommerce/fix/20452
Avoid price setting when synced with children
2018-06-15 09:05:13 -07:00
Mike Jolley a0eb6843c2 define limit query 2018-06-15 15:28:29 +01:00
Mike Jolley 5e14953796 Avoid price setting when synced with children 2018-06-11 11:44:58 +01:00
Mike Jolley 4bc7841325 search_products limit support 2018-06-09 17:23:07 +01:00
Khan M Rashedun-Naby 5442d30b6d Checking Improved 2018-06-07 12:35:58 +06:00
Joey b08b55a651 added changes for low stock notifications per product 2018-05-27 05:40:58 +01:00
Mike Jolley 06ef8c8589 Hook doc update 2018-05-02 14:28:53 +01:00
Mike Jolley 73709ee7cd Slash meta values before updating the DB in the data store 2018-04-10 14:43:38 +01:00