Commit Graph

620 Commits

Author SHA1 Message Date
David Marín c3ba17ae71
Fixing spaces in empty lines 2020-11-03 13:53:19 +01:00
David Marín 9c1de7ca96
Optimizing memory usage
Removing the potential undesired retrieval of hundreds or thousands of unreadable WC_Product objects into memory just to filter them out immediately.
This change prevented some out-of-memory situations in our site.
2020-11-03 11:34:34 +01:00
Nestor Soriano 52eed70f04 Add a 'NumberUtil' class with a 'round' method.
There's a number of places in the WooCommerce codebase where the
built-in function 'round' is executed passing a non-numeric value
(not a number and not a string that can be parsed as a number),
for example round(''). In PHP 7 this yields a value of 0, but in
PHP 8 this throws an error.

This commit adds a 'NumberUtil' class with a static 'round' method,
this method checks if the passed value is numeric and if so it just
executes the built-in function, otherwise it returns 0. And all the
calls to 'round' in the codebase are replaced with 'NumberUtil::round'.
2020-10-01 11:08:51 +02:00
Nestor Soriano b1e81d02da Fix code style/sniffer errors in a few files. 2020-10-01 11:08:51 +02:00
Romario fefc6193be Replace 'DIRECTORY_SEPARATOR' with '/' 2020-08-26 17:02:07 -05:00
Romario 67a178f4f7 Replace 'DIRECTORY_SEPARATOR' with '/' 2020-08-26 15:50:34 -05:00
Romario 073c63c9c4 Replace dirname with __DIR__ and add DIRECTORY_SEPARATOR
Previously 'dirname(  __FILE__ )' was used to import files, however, the directory separator was missing.

This commit replaces 'dirname(  __FILE__ )' that was introduced in 5370d02484 with __DIR__  and added DIRECTORY_SEPARATOR
2020-08-21 15:16:26 -05:00
Romario 5370d02484 Change relative include paths to absolute include paths
Relative include paths in PHP can break whenever the server is running opcache.  As such, WordPress.com deploy system refuses to include WooCommerce because of that issue.

This commit changes the relative include paths to absolute include paths.

Relates to #27269
2020-08-20 15:32:04 -05:00
Claudio Sanches d48f1d4e2e Fixed package tag usage 2020-08-05 13:36:24 -03:00
Peter Fabian 03230ecf01
Merge pull request #26642 from woocommerce/fix/26607
Limit stock changes for order items to status methods for consistency.
2020-07-24 13:23:53 +02:00
vedanshujain 1b3f1d75ba Limit stock changes for order items to status methods for consistency.
Methods `wc_maybe_increase_stock_levels` and `wc_maybe_reduce_stock_levels` already reduce/increase stock levels when statuses are changed, so no need to do this here.
2020-07-01 19:09:07 +05:30
Mário Valney 04ceaa52f9
Fix: remove HTML from error message. 2020-05-22 21:14:43 -03:00
Christopher Allford 1d1413b4ee Replaced direct access of many constants with the Constants library 2020-01-31 22:18:47 -08:00
Christopher Allford 6ad091a9b7 Changed all of the constant accesses into corresponding Automattic\Jetpack\Constants usages 2020-01-28 21:21:29 -08:00
Gerhard Potgieter 7d39222334
Merge pull request #25162 from woocommerce/fix/24018
Hid variable parent products from "Add Products" search on order page
2019-12-05 14:22:43 +02:00
Christopher Allford b67d094601 Added support for comma-delimited lists of types to exclude 2019-12-04 14:39:41 -08: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
Christopher Allford d1e25c9118 Added support for excluding certain product types from AJAX product searches 2019-12-03 14:14:47 -08:00
Claudio Sanches cd4b2ac5b8
Merge pull request #25084 from woocommerce/fix/25004
Fixed manual sorting for products shortcode
2019-12-03 15:15:30 -03:00
Christopher Allford baeae0652c Added a check to prevent variable product parents from being added to orders. 2019-11-29 17:06:50 -08:00
Christopher Allford 928ec871fa Code style fixes 2019-11-29 17:06:33 -08:00
Peter Fabian 309c48ab0e Deprecated old cache function and replaced it with a new one. 2019-11-28 14:03:57 +01:00
Christopher Allford a0c4d54b4a Updated NonceVerification code sniff suppressions
The suppressions come in two flavors, a warning and an error. The suppressions have been updated to respect those states accordingly.
2019-11-21 09:19:56 -08:00
Christopher Allford b12574e9e4 Fixed code sniffs 2019-11-20 08:16:19 -08:00
Christopher Allford 358825f006 Added a transient clear when product ordering is changed 2019-11-20 06:50:32 -08:00
Claudio Sanches ba0773d12e Apply wc_get_product_classname() in the current code base 2019-11-13 15:30:09 -03:00
Timothy Jacobs b9bb4a7c6a
Use a separate first parameter for the WP_Error
This matches the pattern used elsewhere in WooCommerce and allows access to the original `WC_Product` object if an error is to be returned.
2019-10-02 15:01:09 -04:00
Pinal 7418ed123f Hook name changes
Updated the hook name as suggested.
2019-08-29 12:42:33 +05:30
Pinal e47f835f7a Add new hook for add-order-item
Added a new hook for validations in the add_order_item() called in
WC->Orders->Add/Edit Orders.

Allow plugins to perform validations/changes to the order before a
product is added the order.
2019-08-28 17:30:24 +05:30
Diego f95f73c548 Added arguments to filter `woocommerce_ajax_order_item` 2019-07-09 13:31:47 +01:00
Rodrigo Primo a26f38f3a1
Merge pull request #23133 from woocommerce/update/23111
If variations are missing prices, show notice
2019-07-04 10:08:41 -03:00
Gerhard Potgieter c3a25bb6bf
Merge pull request #23884 from woocommerce/fix/23875
Prevents taxes columns from being removed when the order is no longer editable
2019-07-04 09:25:49 +02:00
Yash Kapoor 84fd2bbca9
Update class-wc-ajax.php
Removed unused code.
2019-06-25 10:58:56 +05:30
Gerhard 9212ee5082 Add check before calling wc_delete_order_item for taxes to make sure order is editable. 2019-06-20 15:01:01 +02:00
rmalviya 5bf8adf2dd Send boolean as expected, not string
Originally checkout.js:336 expected string but changed to boolean
with 4ad370985. Send boolean for `reload` in json and fix #23888.
2019-06-08 20:12:44 +05:30
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
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 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
Manos Psychogyiopoulos b1d7b2c6d0 Refactor json_search_downloadable_products_and_variations 2019-04-09 05:41:49 +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 9907a25ff6 Append notice if variations are invalid 2019-03-25 13:30:04 +00:00
Mike Jolley 174ca94b79 WC_Ajax::add_variation - force variable product type 2019-03-25 11:56:48 +00:00
Rodrigo Primo 5d14d30b8c Remove outdated comment
Commit
be05eea5da (diff-133db5662c51f5686d87611121a05a3bL88)
changed how ajax events are stored and now an associative array is not used anymore for both private and non private events. Instead two different arrays are now used one for each type of event.
2019-03-13 09:21:29 -03:00
Rodrigo Primo ab89222cfa Fix typo
Typo added in be05eea5da (diff-133db5662c51f5686d87611121a05a3bR45)
2019-03-13 09:10:53 -03:00
Rodrigo Primo a41e29e05f Fix error introduced by commit be05eea5da
Commit be05eea5da (diff-133db5662c51f5686d87611121a05a3bR1420) fixed all the PHPCS violations in includes/class-wc-ajax.php, but it unintentionally changed that the logic of WC_Ajax::json_search_products(). This commit reverts the changes to the old logic while keeping the PHPCS fixes.

Before the modification mentioned above, `$_GET['term']` would be used only if `$term` was empty. After this modification, `$_GET['term']` is used whenever it is set and `$term` (the parameter passed to the method) stopped being used. This commit restores the original logic in that what is passed in the first parameter as `$term` is used by default, and `$_GET['term']` is only used if `$term` is empty.
2019-03-12 20:23:28 -03:00
Mike Jolley 5b1814016b Add stock with different function 2019-03-12 14:48:05 +00:00
Mike Jolley c39f447ff4 Merge branch 'fix/22937' 2019-03-12 13:27:13 +00:00
Mike Jolley 143068332d Pass user ID when adding coupons via admin 2019-03-08 16:14:49 +00:00
Mike Jolley 2bb39a4c79 Update from master 2019-03-06 12:08:07 +00:00