Commit Graph

21125 Commits

Author SHA1 Message Date
Claudio Sanches 3377c60c5e
Merge pull request #27433 from woocommerce/fix/remove-relative-include-paths
Change relative include paths to absolute include paths
2020-09-17 13:15:40 -03:00
Claudio Sanches f4e9fcc1a4 Fixed missing include 2020-09-17 13:12:57 -03:00
Claudio Sanches 70c7adfeb7 Fixed usage of package tag in REST API and templates 2020-09-17 11:56:08 -03:00
Claudio Sanches ed1a59b39b
Merge pull request #27416 from woocommerce/fix/27415
Fixed country list sorting
2020-09-17 10:35:43 -03:00
Konstantin Kovshenin a100ed67b2 Fix race conditions in WC_Install
In an environment with persistent object caching, concurrent calls
to delete_option() + add_option() can result in the option value
leaking out of the alloptions cache key, and into its own cache
item under the options group, while deleting the value from the
database.

This causes future function calls to add_option() to fail, since
the value already exists in cache (under the wrong key). It also
causes calls to delete_option() to fail, since the value is not
in the database.

This commit forces update_option() instead of the delete + add
combination, as well as removes multiple unnecessary calls to
update the woocommerce_db_version from admin notes and notices.
2020-09-17 11:59:50 +03:00
Peter Fabian b8670162a7 Added environment type var to WC tracker. 2020-09-16 13:44:36 +02:00
And Finally fc908a0bef Change href of premium support link from `https://woocommerce.com/my-account/tickets/` to `https://woocommerce.com/my-account/create-a-ticket/`, as the original URL is deprecated. 2020-09-15 10:55:52 +01:00
mahmoudsaeed 3865c615b9
Make WC_Tax::get_tax_rate_classes() public 2020-09-14 23:43:30 +02:00
Grzegorz Rola 75d9a8942c Fixed cart weight return type. 2020-09-14 11:32:05 +02:00
Anton Timmermans 723f14e44a
Improve bool <-> string conversion functions docs
These functions are polymorphic towards their input types to be more useful in more cases. Change the documentation to reflect this fact.
2020-09-13 13:01:14 +02:00
Rodrigo Primo 9bdafbeb18
Merge pull request #27219 from woocommerce/fix/filter-quantity-in-add_to_cart_handler_grouped
Filter quantity in add_to_cart_handler_grouped
2020-09-12 15:56:49 -03:00
Rodrigo Primo a24937556a
Merge pull request #27658 from woocommerce/update/4.6.0-dev
Prepare master for 4.6.0 development
2020-09-12 11:18:22 -03:00
Rodrigo Primo f345a1e0c8
Merge pull request #27615 from woocommerce/fix/26590
Fix bug when using tax classes with some non-ASCII characters
2020-09-11 14:48:10 -03:00
Rodrigo Primo d7b2207e75
Merge pull request #27610 from attitude/patch-1
Encapsulate scope of `c` variable
2020-09-11 14:27:06 -03:00
Rodrigo Primo fd25815a7c Prepare master for 4.6.0 development 2020-09-11 14:07:58 -03:00
Jon Campbell bb949ae474
simplifying filter usage
Switched to product id instead of product object
Moving the filter into the if condition instead of having a single use variable
2020-09-11 09:38:52 -07:00
Omkar Bhagat 87b2d574db Convert the two filters into a single filter
Removing the two newly introduced filters and replacing it with one single filter: woocommerce_delete_variations_on_product_type_change.
2020-09-11 01:29:17 +05:30
Claudio Sanches b5d8d94bc8 Use reference in wc_asort_by_locale 2020-09-10 16:02:39 -03:00
jonathansadowski 2bcdbacc98
Merge pull request #27625 from woocommerce/revert-improved-filtering-for-variations
Revert improved filtering for variations
2020-09-10 12:42:15 -05:00
Nestor Soriano 4411a394dc Reintroduce adjust_posts_count, and remove unnecessary comment.
We can't remove that method since it's public, but its body has
been changed so that it just returns the input unchanged.
2020-09-10 15:17:43 +02:00
Jon Campbell 642b5b958e
Update class-wc-emails.php
removing whitespace to be coding standards compliant.
2020-09-09 16:32:12 -07:00
Jon Campbell 188f839e70
add no stock notification filter 2020-09-09 12:07:15 -07:00
Christopher Allford ae697f9fe2 Prevented zero from being considered empty when validating posted variation attributes 2020-09-09 11:29:31 -07:00
Nestor Soriano 70a1cb2f1f Revert improved filtering for variations.
This commit reverts the functionality introduced in PR #26260
(later refined by #27175, #27190, #27508) in which filtering by
attribute using the layered nav widget was improved to handle the
cases of variations out of stock. The revert is a response to the
numerous problems reported by users in Woo 4.4 and 4.5

Not all the code has been reverted, only the code that resulted in
visible functionality changes. Thus, the code that generates
term relationships for variations is still in place to keep database
consistency and to keep the reverting changes to the minimum needed.
2020-09-09 17:36:26 +02:00
Jonathan Sadowski 9da304e983 Update version in class-woocommerce.php 2020-09-09 10:35:05 -05:00
jonathansadowski d00083f1ec
Merge pull request #27628 from woocommerce/fix/27624
Check for state and postcode fields only if required
2020-09-09 09:41:57 -05:00
vedanshujain 7f2b322085 Check for state and postcode fields only if required
We were doing state and postcode even for countries where its not required, but unfortunately as an unintended effect we were ending up not checking shipping requirements if this was not met.
2020-09-09 18:21:14 +05:30
Rodrigo Primo 3aed780443 Paypal gateway: protect code against a fatal error
This commit changes the order of the error handling check to protect the code against a possible fatal error if wp_safe_remote_post() returns an instance of WP_Error().
2020-09-08 16:57:48 -03:00
Omkar Bhagat 6bca55b6d6 Introduce filters to filter $from and $to
This will introduce two new filters:

woocommerce_from_product_type_changed
woocommerce_to_product_type_changed

to filter the $from and $to variables respectively.

This will be useful in WCS pr_3732!
2020-09-09 00:33:51 +05:30
Rodrigo Primo d50cd4389b Fix using tax classes with some non-ASCII characters
This commit fixes a bug that made it impossible to assign to a product a tax class that contained non-ASCII characters that are URL encoded by sanitize_title().

WooCommerce uses sanitize_title() to generate a slug when creating a tax class (d48f1d4e2e/includes/class-wc-tax.php (L808)). sanitize_title() converts some non-ASCII to ASCII equivalents (those handled by remove_accents()) and URL encodes others (like some Greek characters, for example).

The code was using wc_clean() to sanitize the tax class when the user edited a product. The problem is that wc_clean() removes URL encoded characters, changing the slug of some tax class, causing WooCommerce to use the standard tax class instead without any errors. To fix this issue, this commit replaces wc_clean() with sanitize_title(). This should be enough for security purposes and should not cause any issues with non-ASCII characters.
2020-09-08 16:00:56 -03:00
Omkar Bhagat 4ecb468690 Modify the logic for deleting variations
Implements the following expected behaviour:
1. Switch from variable subscription to non-variable one will delete variations.
2. Switch from variable subscription to variable product and vice-versa will NOT delete any variations.

This shall have no side-effects in WooCommerce Core.
2020-09-09 00:04:39 +05:30
jonathansadowski 168698cd91
Merge pull request #27589 from woocommerce/enhance-query-for-filtering-attributes-with-any-value
Enhance the query for "Any" variations in filter by attribute widget
2020-09-08 11:58:54 -05:00
Martin Adamko c2ab6a488d
Encapsulate scope of `c` variable
By changing to auto invoking call the `c` variable will be encapsulated in its scope therefore not polluting the global scope and will continue to function as previously.

Fixes conflict and reassigning of already used variables when using other minified scripts. In my case the problem occurred with the Speed Booster Pack plugin.
2020-09-08 09:20:18 +02:00
Grzegorz Rola 4cfedf3968 Fixed cart weight return type. 2020-09-07 18:14:01 +02:00
Nestor Soriano 958ecf1d48 Fix the SQL query to count products in the filter by attribute widget
The previous query was counting variable products twice when they
had a variation with a concrete value for the attribute and also
a variation with "Any..." value for the same attribute.
2020-09-07 16:44:14 +02:00
Rodrigo Primo 12cc9ddf7c Merge branch 'master' of github.com:woocommerce/woocommerce 2020-09-05 11:16:09 -03:00
Rodrigo Primo 1694975910 Fix type of the WC_Query::$product_query property in the documentation 2020-09-05 11:14:57 -03:00
Rodrigo Primo be8dc533ff
Merge pull request #26957 from kevinruscoe/patch-3
Update types
2020-09-05 11:13:10 -03:00
Rodrigo Primo a582589449
Merge pull request #27008 from azzy9/master
Fix the error message shown for the max setting
2020-09-05 11:08:50 -03:00
KoolPal 41ea743a22
Update includes/class-wc-validation.php
Please proceed with your suggested changes. I cannot continue to debate this.

Co-authored-by: Claudio Sanches <contato@claudiosanches.com>
2020-09-04 14:12:23 +00:00
Nestor Soriano 43642f7835 Enhance the query for "Any" variations in filter by attribute widget.
The new query fixes a bug where variations were being counted twice:
if a product was included in both the queries then it would be counted
differently and added; e.g. when a product had two variations,
one with "Any" attribute and other with a attribute that has a value.

The new query also optimizes performance, so that filter conditions
can be improved and better indexes can be used.
2020-09-04 11:29:50 +02:00
James Collins 59a6c4b330
Authentication fallback if current user is set before WC is initialized
See Issue #26847
2020-09-04 15:55:12 +08:00
James Collins 958896545d
Merge branch 'master' into fix/26847-rest-api-auth 2020-09-04 14:05:14 +08:00
jonathansadowski 53c22ba4e4
Merge pull request #27508 from woocommerce/fix/27419
Fix filter by attribute widget now working for "Any..." attributes
2020-09-02 13:32:54 -05:00
Nestor Soriano 417bcf8fff Split the query for counting terms in the filter by attributes widget.
For performance reasons the query is split in two: one for simple
products and variations with a concrete attribute value, and another
one for variations having "Any..." as the attribute value.
2020-09-02 16:22:25 +02:00
Shiki ac4cba3fab Orders API: Fix regression in `meta_data` `display_*` values
Previously, we were using the `$formatted_meta_data` to build the final array.
However, this does not consider the fact that
`WC_Order_Item->get_formatted_meta_data` can exclude `meta_data` from the
result. There would be less `meta_data` objects return than the previous
implementation.

This fixes the issue by using the `$data['meta_data']` value as the main list of
meta data and only using `$formatted_meta_data` to optionally apply the
`display_key` and `display_value` properties.
2020-09-01 14:38:28 -06:00
Shiki 398076627a Orders API: Fix mismatched domain error 2020-09-01 14:37:55 -06:00
pjv ff9a3f2e1e Add before set stock action
Add product and variation `before_set_stock` actions to allow 3rd party plugins to snapshot a product’s stock quantity before it is updated.
2020-09-01 14:37:02 -05:00
jonathansadowski 86f8788525
Merge pull request #27509 from woocommerce/fix/creating-variations-for-numeric-attributes
Fix "Create variations from all attributes" for numeric attribute values
2020-09-01 13:40:52 -05:00
Nestor Soriano 07b62dabbd Improve the query to retrieve "Any..."-attributed variations in filtering widget
The new query doesn't need empty attribute entries in the meta table,
therefore the code that generates them and the migration to backfill
the missing existing ones have been removed.
2020-09-01 16:47:41 +02:00
KoolPal 4fc66caadb
Updated - Added postcode validation for India
Updated from incorrect PR #27517
Postcode in India consists of 6 digit number.
Reference:
https://en.wikipedia.org/wiki/Postal_Index_Number
https://en.m.wikipedia.org/wiki/Address#India

Popular eCommerce sites in India use the same logic for Postcode:
Amazon India (https://www.amazon.in) & FlipKart (https://www.flipkart.com)

P.S. Please review as I am not very confident at a PR.
2020-09-01 11:21:06 +05:30
Nestor Soriano 53351fcc2f Update wc_product_attribute_uasort_comparison to accept null entries
When set_attributes is used on WC_Product to remove existing attributes
the wc_product_attribute_uasort_comparison ends up being called
with a null argument, and this breaks tests in PHP 7.4 since
null is used as an array. This commit modifies the function so that
if null is passed no array access is attempted.
2020-08-31 16:49:29 +02:00
Nestor Soriano 3a583feab1 Change filter by attributes widget to count products, not variations.
Right now the filter by attributes widget counts available variations
(for variation products). This is confusing since the counter shows
numbers that are higher than the actual count of products displayed.

This commit changes the query used by the widget so that instead
of counting variations it returns the parent product ids, and then
counts the distinct values. This also covers the case of products
where some of the variations have concrete values and some have
"Any..." values.
2020-08-31 12:22:33 +02:00
Julià Mestieri b209b2bec3 fixup! Added PR feedback. 2020-08-31 08:28:30 +02:00
KoolPal 3f28df9150
Renamed Postcode / ZIP to Pin code & renamed State / County to State for India
Renamed Postcode / ZIP to Pin code & renamed State / County to State for India

Reference: https://en.m.wikipedia.org/wiki/Address#India
2020-08-29 14:19:33 +05:30
Ron Rennick bbdafb5cb1
Merge pull request #26196 from fitimvata/master
Add filter woocommerce_cart_item_required_stock_is_not_enough
2020-08-28 15:34:46 -03:00
Ron Rennick af162d8bed
Updated `@since` for the filter 2020-08-28 15:33:43 -03:00
Ron Rennick d998c6334d
Merge pull request #26976 from JoryHogeveen/patch-1
Public access to WC_Install::get_core_capabilities()
2020-08-28 15:12:51 -03:00
Kathy Daring 0db54ecec3 Add woocommerce_product_has_options filter 2020-08-28 12:01:11 -06:00
Ron Rennick a88cb8ab8e
Merge pull request #27437 from georgejipa/master
Remove the second occurrence of woocommerce_add_{$notice_type} filter
2020-08-28 14:10:43 -03:00
Ron Rennick cd579e3798
update phpcs rule 2020-08-28 13:56:25 -03:00
Ron Rennick 1ae1b3e4e6 Merge branch 'master' into fix/27215 2020-08-28 11:38:37 -03:00
Ron Rennick e49527cf9d apply changes from feedback 2020-08-28 11:34:32 -03:00
Ron Rennick 8fe3bcb90e rebase to current master 2020-08-28 10:59:43 -03:00
Nestor Soriano d691692dcd Fix: "Create variations from all attributes" on numeric attribute values
When "Create variations from all attributes" is used to create
variations it generates term relationship entries for all the generated
variations, however that doesn't happen when the term can be interpreted
as a numeric value. This is because in that case product->get_attributes
returns the attribute values as numbers, but the code that generates
the term relationships expect those to always be strings.
When manually adding a given variation this doesn't happen.

The fix is to simply strval-ize the value before using it, but it might
be worth investigating why this is happening.
2020-08-28 11:49:31 +02:00
Nestor Soriano 602f58a7a9 Add data migration to backfill missing attributes meta for variations.
The previous commit fixes a bug that causes the "attribute_" metadata
with an empty value to not be created when a new variation attribute
is added to the product (so that all variations have the attribute
with a value of "Any..."). This commit adds a data migration to
backfill the missing metadata for existing variations.
2020-08-28 09:38:16 +02:00
Claudio Sanches 085b4b53fa
Merge pull request #27487 from woocommerce/update/choice-of-words
Improve choice of words
2020-08-27 19:30:54 -03:00
Nestor Soriano 1113201f8b Update meta 'attribute_' values when variation attributes are added or removed.
When a new variation attribute is added, the corresponding 'attribute_'
meta entries are added for all variations with an empty value;
and when an existing variation attribute is removed, the existing
'attribute_' meta entries are deleted for all variations.

This is necessary for the filter by attribute widget to work properly
when variations exist with a value of "Any..." for attributes.
2020-08-27 16:10:41 +02:00
Nestor Soriano a75da34a45 Fix filter by attribute widget now working for "Any..." attributes
When a variation product has an attribute with a value of "Any...",
and there's a filter by attribute widget for that attribute, then
that product won't be included in the counts displayed in the widget
(and if the count ends up being zero, the attribute won't be shown
in the widget).

This happens before since Woo 4.4, this widget works by looking at
entries in the term relationships table for varitions too
(used to do so for simple products and for "main" variable products
only), see PR #26260; but there are no such entries for
"Any..." attributes.

This commit fixes that by extending the SQL query used by the widget
to look for variations that have empty attribute values in the meta
table too.
2020-08-27 10:59:15 +02:00
Julià Mestieri 12be6f3c96 Fixed code standard error. 2020-08-27 09:33:56 +02:00
Julià Mestieri 83434deb42 Added PR feedback. 2020-08-27 09:05:33 +02:00
Romario fefc6193be Replace 'DIRECTORY_SEPARATOR' with '/' 2020-08-26 17:02:07 -05:00
Claudio Sanches c4ccc38780 Fixed use __DIR__ for relative paths 2020-08-26 18:46:44 -03:00
Romario 67a178f4f7 Replace 'DIRECTORY_SEPARATOR' with '/' 2020-08-26 15:50:34 -05:00
Romario 3b90d99d44
Change 'dirname( __FILE__ )' to '__DIR__ ' and include '/'
Co-authored-by: Claudio Sanches <contato@claudiosanches.com>
2020-08-26 14:58:22 -05:00
Shiki 2e366ef76b Orders: Make display_key and _value meta available for v3 and v3
This resolves the intentionally failing
WC_Tests_API_Orders_V2::test_get_item_with_line_items_meta_data.
2020-08-26 23:46:07 +05:30
Shiki 35ed2df4fb Schema: Make display_key and *_value available for v3 and v2
This is just the schema and the actual functionality isn't implemented yet.
2020-08-26 23:46:07 +05:30
Shiki 5ab863e649 Fix formatting in Orders V2 unit test 2020-08-26 23:46:07 +05:30
Shiki 9678a286e3 Orders V3: Reuse WC_Order_Item->get_formatted_meta_data
Previously, I was using my own function. This time, we're using the function
available in WC_Order_Item but sanitizing the results after.
2020-08-26 23:46:07 +05:30
Shiki ea63d5aaf9 Orders V3: Include display_key and display_value in item meta_data 2020-08-26 23:46:07 +05:30
Shiki 90d5a8e7e9 Orders V3 Schema: Add display_key and display_value for meta props 2020-08-26 23:46:07 +05:30
Ron Rennick 8270327f43 Merge branch 'master' into fix/27475 2020-08-26 10:07:44 -03:00
Ron Rennick c582ce2fd2
Merge pull request #27453 from arkadywtf/master
Fix PHP docblock summary for wc_get_coupon_id_by_code
2020-08-26 09:15:23 -03:00
Claudio Sanches 5240682f38 Improve choice of words 2020-08-25 18:03:03 -03:00
Ron Rennick ae96a828ec prevent regenerate image filter loop 2020-08-25 14:31:15 -03:00
jonathansadowski 209ea6a8bb
Merge pull request #27448 from haydenw/fix-27436
Fix #27436
2020-08-25 09:18:07 -05:00
jonathansadowski 68d1641e5c
Merge pull request #27468 from woocommerce/fix/27467
Rename built-in PayPal payment method to PayPal Standard
2020-08-25 08:42:11 -05:00
Ron Rennick 41a7caae05
Merge pull request #27449 from haydenw/fix-27413
Fix #27413
2020-08-25 10:29:45 -03:00
Ron Rennick bdb1451f2b
Merge pull request #27441 from Rahmon/patch-1
Ensure that the return of get_the_terms is not a WP error
2020-08-25 10:13:45 -03:00
Brent Shepherd a2e2d63265 Rename PayPal to PayPal Standard
In the admin area, not the front-end of the site.

Fixes #27467
2020-08-25 12:25:44 +10:00
Arkadiy Asuratov 99d8e975c2 Fix docblock summary for wc_get_coupon_id_by_code 2020-08-22 22:20:12 +02:00
Hayden Whiteman a939cacf5c Fix #27339 2020-08-22 22:09:14 +12:00
Hayden Whiteman 3fca3caf1d Fix #27413 2020-08-22 19:35:13 +12:00
Hayden Whiteman 201db0ca9e Fix #27436 2020-08-22 17:22:45 +12:00
Romario acfb3e5dfd Add spacing between '$dir 'and '.' 2020-08-21 15:25:21 -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
Daniel Morell 252128026f
Fixed $columns type in docblock 2020-08-21 12:55:28 -05:00
Ramon 7610e1311e
Ensure that the return of get_the_terms is not a WP error 2020-08-21 14:07:26 -03:00
George Jipa d91574b7e1 remove duplicate apply_filter 2020-08-21 11:36:03 +03: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 af357e9177 Updated priority of admin_body_class filter 2020-08-20 13:18:23 -03:00
Ron Rennick 51afe3207a
Merge pull request #27023 from HikeMike/add/hidden-form-field
"Hidden" field type added to woocommerce_form_field() #26468
2020-08-20 11:48:26 -03:00
Claudio Sanches 47aaac8600 Introduced wc_asort_by_locale() function 2020-08-19 20:22:18 -03:00
Claudio Sanches e547cb84e5 Reverted changes on wc_ascii_uasort_comparison 2020-08-19 20:02:14 -03:00
Claudio Sanches 3f0db49688 Use PHP Collator if available to sort countries 2020-08-19 19:00:42 -03:00
Claudio Sanches 74e94f86d0 Use WP remove_accents() instead of iconv 2020-08-19 18:58:45 -03:00
Peter Fabian 14d5025cae
Merge pull request #27395 from woocommerce/fix/container-conflict
Removed internals of DI Container
2020-08-19 13:37:48 +02:00
Nestor Soriano c37771521a Remove call_function, call_static, get_instance_of from class-woocommerce.php 2020-08-19 12:08:54 +02:00
Vedanshu Jain 134875988f
Merge pull request #27396 from woocommerce/fix/4.4.0
Add protection to run adjust methods only if product query.
2020-08-19 15:28:04 +05:30
vedanshujain ae361ed06f Add protection to run adjust methods only if product query. 2020-08-19 13:31:57 +05:30
Christopher Allford 82df4b3303 Removed the contents of the WC() global container helpers 2020-08-18 20:45:34 -07:00
Jonathan Sadowski 6bafef2041 Foreign key check 2020-08-18 13:44:29 -05:00
Claudio Sanches 37291abc54 Added since tag in new filters introduced in 4.5 2020-08-17 18:01:41 -03:00
Claudio Sanches e102ec3d83 Merge branch 'master' into fix/25133 2020-08-17 14:59:49 -03:00
Filipe Correa a8bc07cf40 Add a translators comment 2020-08-17 10:11:39 -03:00
Filipe Correa 148387ecb9 Use Yoda condition checks 2020-08-17 09:56:01 -03:00
Julià Mestieri b2c35a5ded Added cache and filters for wc-customer get operations. 2020-08-17 11:25:54 +02:00
Claudio Sanches 5c4d42b9de
Merge pull request #27059 from masteradhoc/masteradhoc-postcode-liechtenstein
add postcode validation for country liechtenstein
2020-08-14 15:40:30 -03:00
jonathansadowski 4fd7f55357
Merge pull request #26928 from khosroblog/master
get_review_count_for_product return all comments count not only 'review' types !!!
2020-08-14 13:40:01 -05:00
Claudio Sanches fdf5fe8614
Merge pull request #27323 from woocommerce/fix/27288
switch to site locale before translating refund reason
2020-08-14 15:30:56 -03:00
Néstor Soriano f8ea11a607
Merge pull request #27145 from woocommerce/fix/26006
Fixed "virtual" and "downlodable" pointers on product walkthrough
2020-08-14 08:55:53 +02:00
Ron Rennick 3c8b6559da create pages on installation 2020-08-13 15:03:58 -03:00
Ron Rennick 72df8aecfa updated deprecated version to 4.5.0 2020-08-13 14:46:12 -03:00
Ron Rennick f0ad8a01be merge current master 2020-08-13 14:33:07 -03:00
Vedanshu Jain a887cd7369
Merge pull request #27318 from woocommerce/fix/27282
Change data-type from mixed to composite and date-time to string on the fly for REST API
2020-08-13 21:25:11 +05:30
Ron Rennick 38d358490b switch to site locale before translating refund reason 2020-08-13 10:32:19 -03:00
Ron Rennick 2fd12604ef move update to v2 controller 2020-08-13 09:32:01 -03:00
vedanshujain 4b1ebea800 Also allow null for date-time for BW 2020-08-13 16:49:44 +05:30
vedanshujain 3dd508fd35 Address review comments 2020-08-13 16:36:27 +05:30
vedanshujain a4691dc3f3 Set type to mixed to be compatible with 5.4.
This prop was missed in an earlier commit.
2020-08-13 15:47:18 +05:30
vedanshujain 5c0be2a715 Give preference to null data-type over others 2020-08-13 14:17:48 +05:30
vedanshujain 147c9baf4f Change `mixed` data type to composite for compatibility with 5.5 2020-08-13 13:30:39 +05:30
Néstor Soriano 4c636b1d5c
Merge pull request #27303 from woocommerce/fix/travis-coding-standards-test
Fix coding standards test on Travis
2020-08-13 09:19:13 +02:00
Claudio Sanches 070e3896cf Restored pointers position 2020-08-12 21:46:36 -03:00
jonathansadowski 0125eca73c
Merge pull request #27244 from jgreys/fix/27108
Fix Japan zip code format issue #27108
2020-08-12 16:56:48 -05:00
Christopher Allford 7340c9af44
Merge pull request #27171 from woocommerce/fix/25543
Added the parent's SKU to product searches for variations
2020-08-12 12:58:00 -07:00
Ron Rennick 84d6d6c525 move image id logic to woocommerce_show_product_* 2020-08-12 15:31:27 -03:00
Ron Rennick 71def437f7 phpcs fixes 2020-08-12 14:34:57 -03:00
vedanshujain 083e529668 Revert "Fix compatibility for WP 5.5"
This reverts commit cc96f6bbd1.
2020-08-12 19:31:40 +05:30
Claudio Sanches 6f6a84199f
Merge branch 'master' into fix/26006 2020-08-11 20:17:31 -03:00
Claudio Sanches df4aa12f21 Fixed coding standards to make trigger a test on Travis 2020-08-11 20:11:07 -03:00
Claudio Sanches 29bc98816e
Merge pull request #27143 from woocommerce/fix/26876
Fix "Hide shipping costs until an address is entered"
2020-08-11 20:06:17 -03:00
Ron Rennick c605b93737 add get single tax class, support cli tax class delete 2020-08-11 17:34:46 -03:00
Ron Rennick 22867c41c1 phpcs fixes 2020-08-11 15:51:38 -03:00
Ron Rennick 78c2a07306 allow variation image to be removed via REST API 2020-08-11 15:44:03 -03:00
Filipe Correa 730e00565d Add parenthesis 2020-08-10 18:04:42 -03:00
Filipe Correa 193540d7e7 Code style fix 2020-08-10 17:22:14 -03:00
Ron Rennick 8a1b8d6a3d
Merge pull request #26439 from kevinruscoe/add-additional-stock-cart-filter-messages
Add additional cart filters for stock actions
2020-08-10 16:34:24 -03:00
Ron Rennick 0b0595ab4c
Merge pull request #27048 from vallter2/postcode-bih
Add postcode validation for Bosnia and Herzegovina
2020-08-10 16:24:06 -03:00
Filipe Correa 0b98407082 Fix invalid refund amount error when no decimals 2020-08-10 16:08:09 -03:00
Claudio Sanches 02cf0dfaed
Merge pull request #27239 from woocommerce/fix/package-tag
Fix usage of "package" tag in file headers
2020-08-07 13:37:24 -03:00
Claudio Sanches def2ef499c Master is 4.5.0 now 2020-08-07 12:55:51 -03:00
Néstor Soriano 459dd3fbf2
Merge pull request #27251 from woocommerce/fix/27226
Added woocommerce_order_item_quantity filter to ReserveStock::reserve_stock_for_order
2020-08-07 16:11:43 +02:00
Néstor Soriano 76cf1e4e93
Merge pull request #27140 from woocommerce/fix/23790
Always sanitize coupon code to prevent inconsistent between admins and shop owners
2020-08-07 12:42:02 +02:00
Néstor Soriano a13a0d2187
Merge pull request #27179 from woocommerce/fix/26741
Release coupon holds when status it updated to cancelled regardless of recorded coupons
2020-08-07 11:27:45 +02:00
Claudio Sanches 2d2e40c484 Applied woocommerce_order_item_quantity to ReserveStock 2020-08-06 14:15:50 -03:00
vedanshujain 1966b0ba9a Changed textdomain since API is merged into core now. 2020-08-06 18:18:18 +05:30
vedanshujain cc96f6bbd1 Fix compatibility for WP 5.5 2020-08-06 14:34:03 +05:30
vedanshujain 1526771eaa Load from Server class if available 2020-08-06 14:34:02 +05:30
vedanshujain 55a9687e6d Make api included structure more linear. 2020-08-06 14:34:02 +05:30
vedanshujain 1d782f025e Deprecate API Package class because its not a package anymore. 2020-08-06 14:34:02 +05:30
vedanshujain 16473d54e9 Fixes for correct time of loading API 2020-08-06 14:34:02 +05:30
vedanshujain 4a4767ae93 Load API files. 2020-08-06 14:34:02 +05:30
vedanshujain 222852dea6 Merge branch 'master' of https://github.com/woocommerce/woocommerce 2020-08-06 14:06:29 +05:30
GREYS feb291e2ee Fix for issue #27108 2020-08-06 17:11:44 +09:00
Claudio Sanches 525db3aa21 Fixed incorrect package tags 2020-08-05 17:49:10 -03:00
Claudio Sanches f4b336a0f3 Fixed incorrect package 2020-08-05 13:51:37 -03:00
Claudio Sanches d48f1d4e2e Fixed package tag usage 2020-08-05 13:36:24 -03:00
Claudio Sanches 7f233951a5 Fixed class package tag 2020-08-04 22:30:11 -03:00
Andy Skelton b554eea43c
Whitespace 2020-08-04 10:47:59 -05:00
vedanshujain 1ada7d8b26 Merge branch 'master' of https://github.com/woocommerce/woocommerce 2020-08-04 18:22:41 +05:30
Albert Juhé Lluveras c5da6aa783 Filter quantity in add_to_cart_handler_grouped 2020-08-04 14:33:59 +02:00
Claudio Sanches f5e1b4fa54 Update only if the code got changed 2020-08-03 11:28:27 -03:00
Claudio Sanches 93febdca19 Fixed option name 2020-08-03 11:27:38 -03:00
James Allan d1c0f7774b Remove duplicate function argument 2020-08-03 14:45:03 +10:00
Nestor Soriano 71fccd6a07 Fix: pagination controls not displaying in products list.
This bug was introduced in #26260. The sequence is:

1. WC_Query::adjust_posts_count runs, to handle found_posts filter,
   this indirectly executes wc_setup_loop.
2. At this point $GLOBALS['wp_query']->max_num_pages hasn't been set
   yet, and has a value of 0. Thus the loop variable total_pages
   is set to 0.
3. Later wc_setup_loop runs again and this time
   $GLOBALS['wp_query']->max_num_pages is already set, but since
   the loop variable total_pages already exists, it keeps its
   value of 0.
4. The pagination controls never show if total_pages is less than 2.

The fix consists of hooking into the_posts to set the value of
total_pages again, at that point $GLOBALS['wp_query']->max_num_pages
is already set.
2020-07-31 16:40:25 +02:00
Néstor Soriano add9fd791b
Merge pull request #27166 from xristos3490/fix/27163
[4.4] Pagination of custom product queries broken
2020-07-31 08:29:24 +02:00
Claudio Sanches 1cd84d6446 Merge branch 'master' into fix/23790 2020-07-30 16:46:01 -03:00
Claudio Sanches 891a0cf8e8
Merge pull request #27170 from woocommerce/fix/27167
Fixed - Fixed "Product type" dropdown from Product's data meta box on WP 5.5
2020-07-30 16:38:18 -03:00
Claudio Sanches aa0b45358a Fixed upgrade routine 2020-07-30 16:36:54 -03:00
Claudio Sanches c574ea3364 Updated queries and fixed version 2020-07-30 16:23:39 -03:00
Claudio Sanches 0b45369bff Improved migration script to avoid race condition 2020-07-30 16:17:23 -03:00
Claudio Sanches cc8282a23f
Merge pull request #27142 from woocommerce/fix/25788
Improve order details UI to highlight "Paid" and "Net Payment" sections
2020-07-30 15:49:24 -03:00
Claudio Sanches 608fc8620d
Merge pull request #27172 from woocommerce/fix/27168
Let user stay in the same page after clicking to update WooCommerce
2020-07-30 15:48:27 -03:00
Claudio Sanches 77f8bb57a6 Check if there's a payment method title 2020-07-30 13:05:03 -03:00
Jonathan Sadowski 163e10253a Release coupon holds when status it updated to cancelled regardless of recorded coupons 2020-07-30 10:35:23 -05:00
vedanshujain 3a63d75e0f Merge branch 'master' of https://github.com/woocommerce/woocommerce 2020-07-30 17:55:11 +05:30
Nestor Soriano 86c88f1750 Fix: incorrect adjustment of post count in WC_Query.
PR #26260 introduced a handler for 'found_posts' filter in WC_Query
class in order to adjust the count depending on the visibility
of variation products. However the handler incorrectly assumed
that the filter was triggered only when listing products, when
actually it's also triggered for any post type e.g. pages.
In these cases the post count was set to zero, which caused bugs.

Now the handler starts with the originally supplied posts count,
and only decrements it when a post is a product AND is not visible.
2020-07-30 09:32:28 +02:00
Claudio Sanches bb131ace69 Clean cache 2020-07-29 23:14:50 -03:00
Claudio Sanches 5b48191eac Batch update coupons 2020-07-29 23:07:00 -03:00
Claudio Sanches a464b7aeab Improved wc_get_current_admin_url()
- Replace "/wp-admin" with regex like on WP core.
- Remove "wc-hide-notice" from query args.
2020-07-29 21:01:39 -03:00
Christopher Allford 78bff3b2da Added the parent's SKU to product searches for variations
Since the parent's SKU is used when the variation does not have one, we should fall back when searching for consistency.
2020-07-29 16:53:36 -07:00
Claudio Sanches c9f52a45eb New wc_get_current_admin_url() function 2020-07-29 20:52:36 -03:00
Claudio Sanches e26076af7b Return to the current page after enabled or disabling db update notices 2020-07-29 20:37:27 -03:00
Claudio Sanches d498341f0e Added function to get current admin page 2020-07-29 20:37:12 -03:00
Claudio Sanches 97c7937fd9 Fixed "Product type" dropdown on WP 5.5
WP 5.5 doesn't introduce a <span> tag inside metaboxes headings
2020-07-29 19:12:02 -03:00
xristos3490 6485fc337c Add docblock param 2020-07-29 18:30:26 +03:00
xristos3490 4d4b9e3432 Filter found_posts only on wc_query context 2020-07-29 18:21:36 +03:00
Néstor Soriano d5bedd82b2
Merge pull request #27148 from woocommerce/fix/dont-request-translations-with-no-locales
Don't request empty locales list for plugin translations.
2020-07-29 16:23:06 +02:00
Néstor Soriano 0f134ca6a2
Merge pull request #27054 from woocommerce/fix/27036
add/update correct deprecated notices on existing deprecations
2020-07-29 15:20:24 +02:00
Joel Rowley 61abc7caab
Add dockblock to the woocommerce_file_download_method filter
Co-authored-by: Claudio Sanches <contato@claudiosanches.com>
2020-07-28 14:28:15 -04:00
Claudio Sanches 008e41170b Improved UX to highlight order data when there's some refund 2020-07-28 15:13:00 -03:00
Joel Rowley ae5bd1e14f Add file path to woocommerce_file_download_method filter 2020-07-28 13:52:21 -04:00
Claudio Sanches 119b5d6568
Merge branch 'master' into fix/23790 2020-07-28 13:07:17 -03:00
Claudio Sanches cc42af2f6e Fixed phpcs flag 2020-07-28 10:36:28 -03:00
budzanowski 57aeff0a71 Update comment. 2020-07-28 11:49:01 +02:00
budzanowski ac501dea64 Don't request empty locales list for plugin translations. 2020-07-28 11:37:51 +02:00
Nestor Soriano bc7085b3c4 Fixes after rebasing.
- Fix a call to get_available_variations with incorrect optional arguments.
- Add code that has been removed in WC_Product_Variable::get_available_variations.
2020-07-28 09:29:01 +02:00
Nestor Soriano 2283a4c7fd Revert woocommerce_product_loop to use have_posts instead of wc_get_loop_prop( 'total' ). 2020-07-28 09:01:55 +02:00
Nestor Soriano 681401850a Adjustments in the items count calculation on the nav filtering widget.
The calculations are now consistent with the change made to the
visibility of the variable products when using one or multiple filters.
2020-07-28 09:01:55 +02:00
Néstor Soriano e9d692f455 Apply suggestions from code review
Mostly adding "since 4.4.0" annotations and updating
db update functions from 4.2 to 4.4.

Co-authored-by: Claudio Sanches <contato@claudiosanches.com>
2020-07-28 09:01:55 +02:00
Nestor Soriano 29843b9396 Change in the logic of is_visible_core for variable products
Now, if there are filters present the logic is as follows:

- For multiple filtering values of the same attribute:
  the product is visible if there's at least one variation
  that has one of the filtering values associated to the attribute,
  or if there's at least one variation having the attribute
  with a value of "Any".

- For filtering by more than one attribute:
  the product is visible if there's at least one variation that
  is visible for ALL the attributes according to the above rule.

Note that this is irrespective of the type of logic configured for
the filter (OR or AND).
2020-07-28 09:01:52 +02:00
Nestor Soriano 3fefe84a51 Fix: WC_Query()::adjust_posts_count failing when posts list is null. 2020-07-28 08:55:55 +02:00
Nestor Soriano c074f085cc Remove two phpcs:ignores, improve code instead 2020-07-28 08:55:55 +02:00
Nestor Soriano 9142e27a19 Adjustments in WC_Query::adjust_posts_count
Two adjustments were needed:

- Adjust the count even when there's no nav filtering in the query.
  This is necessary to present the proper products count.
  even when the woocommerce_product_is_visible filter is used.
- Account for the case where $GLOBALS['wp_query']->posts
  returns objects instead of ids (for example when viewing
  a product page).
2020-07-28 08:55:55 +02:00
Nestor Soriano 9de1306c21 Fix counters in nav filtering widgets for variable products.
After the change that registers variation attributes as terms
(in addition to reigstering them as post meta) it is now time
to modify the get_filtered_term_product_counts methods in
WC_Widget_Layered_Nav so that it works consistently for both
variable and non-variable products. The logic for the counters
is now as follows:

with OR operator:
- Simple products: count the attributes of all visible products
  (unchanged behavior).
- Variable products: count attributes corresponding to
  visible variations.

with AND operator:
- Simple products: count the attributes of visible products but only
  for products that have all the selected (unchanged behavior).
- Variable products: find all the products for which all the variations
  corresponding to the selected attributes exist and are visible,
  then count the attributes corresponding to the visible variations
  of those products.

A product is "visible" if it's published, not excluded for catalog,
and has stock. Additionally, a variable product will not be considered
visible if the parent product is not.
2020-07-28 08:55:55 +02:00
Nestor Soriano 9c6c0d73d8 Record attribute terms for product variations in wp_term_relationships.
Product attributes are currently recorded as terms in
wp_term_relationships (product attributes are actually taxonomies).
In the case of variable products this is true for the main product,
but not for the variations. The attributes used to define variations
are stored as post meta, but nothing is recorded in the term
relationships table.

This is a problem when using the layered nav filtering plugin,
since the attribute counters displayed are calculated based solely
on the contents of the term relationships table. Adding meta queries
would be really messy (especially when the widget is configured
with AND operator) and would probably also hurt performance.

This commit adds a change to store the attributes for variations
as term relationships, additionally to storing them as post meta.
Terms are stored on variation creation, and updated/deleted together
with the variation as appropriate. "Any" variations (stored in meta
as empty values) are not stored as terms.

Additionally, a database upgrade is included in order to backfill
terms for already existing products.
2020-07-28 08:55:55 +02:00
Nestor Soriano 752b47513d Fix code sniffer errors in some files.
Fixed files:

includes/data-stores/class-wc-product-variable-data-store-cpt.php
includes/wc-update-functions.php
2020-07-28 08:55:55 +02:00
Nestor Soriano 50e8f27bc7 Fix visibility of variable products with layered nav filtering.
The layered nav filtering doesn't work well with variable products
when some variations have stock and other don't. When a term is
selected in the widget, a variable product having no stock for
the variation corresponding to that term but having stock for
other variations will be displayed, but it shouldn't.

This commit fixes that by introducing two changes:

- A new override of "is_visible" for WC_Product_Variable that
  looks at the supplied filters, compares them against the corresponding
  available variations and calculates the visibility based on
  the query type (OR or AND).

- A hook on the "found_posts" filter in WC_Query, that adjusts
  the posts count based on the found products visibility
  when there are filters available; this is needed to sync the
  "displaying X posts" messages and the paging when variable
  products are hidden due to stock status.

Additionally, the visibility calculated in "found_posts" is cached
as loop variables so that it isn't calculated again when actually
displaying the products.
2020-07-28 08:55:52 +02:00
Nestor Soriano c27283dffe Fix code sniffer errors in some files.
Fixed files:

includes/abstracts/abstract-wc-product.php
includes/class-wc-query.php
includes/wc-template-functions.php
includes/widgets/class-wc-widget-layered-nav.php
templates/loop/result-count.php
tests/unit-tests/util/class-wc-tests-wc-query.php
2020-07-28 08:47:29 +02:00
Claudio Sanches 2df7324b0d Fixed "virtual" and "downloadable" checkboxes pointers 2020-07-27 22:43:04 -03:00
Claudio Sanches 283c82b6b4 Fixed coding standards 2020-07-27 22:42:15 -03:00
Claudio Sanches 08620cf846 Make "woocommerce_shipping_cost_requires_address" strict 2020-07-27 21:49:33 -03:00
Claudio Sanches 134ab5c184 Fixed coding standards 2020-07-27 20:21:41 -03:00
Claudio Sanches 4f90307e2e Fixed "Paid By Customer" data when the orders contains refunds 2020-07-27 20:18:33 -03:00
Andy Skelton 3e5ce05d86
Faster foreign key check when installing/upgrading
Using WooCommerce on a multisite network using the hyperdb drop-in, the foreign key check fails although there is a foreign key.

32037e37dd/includes/class-wc-install.php (L745-L763)

The first problem is that hyperdb wasn't designed to route `information_schema` queries. After patching hyperdb, the query is routed to the correct database.

The second problem is that the query still finds zero foreign keys because `$wpdb->dbname` is blank when the query is generated. Hyperdb only has a dbname in the context of a query being executed; hyperdb extracts the table name, then maps that to the correct database.

Although we could find a way to support such `information_schema` queries, they are also not preferred because they are notoriously slow. On WordPress.com they take 300ms, versus 3ms for a `SHOW CREATE TABLE` which similarly reveals the existence of the foreign key.

The proposed changes simplify the check, make it faster, and make it work with hyperdb.
2020-07-27 16:39:42 -05:00
Claudio Sanches e94196cea8 Sanitize coupon code in coupon ID by code functions 2020-07-27 17:33:15 -03:00
Claudio Sanches be106af910 Added upgrade routine to sanitize all coupon codes 2020-07-27 16:50:23 -03:00
Ron Rennick d8edcb4551 update from review feedback 2020-07-27 16:48:39 -03:00
Claudio Sanches 6ee47b0356 Prevent breakage if coupons code get updated while there's some cart sessions 2020-07-27 16:48:15 -03:00
Christopher Allford c84f2b987b
Merge pull request #26750 from woocommerce/implement/core-language-packs-updates
Add language packs automatic delivery code.
2020-07-27 12:45:58 -07:00
Claudio Sanches 42321924f0 Update the coupon code sanitization
This makes match with WP sanitization for post_title.
WP sanitize post_title using kses_init_filters() when
the current user can't use unfiltered HTML.
2020-07-27 16:45:15 -03:00
Claudio Sanches d073b9d1e3 Always run wp_filter_kses() on coupon codes.
By default it only get sanitized when editing the coupon with an user
that doesn't have unfiltered_html capability.
2020-07-27 16:42:00 -03:00
Matt Harrison 9f8be6e2d8
Switch to use WordPress' shutdown action instead of register_shutdown_function 2020-07-27 12:11:40 -04:00
Matt Harrison e696ac7824
Queue all webhooks on shutdown.
It is possible for a later duplicate webhook to be fired too early if
the same webhook triggers in one request more than once with the updated
changes from the second one missing if it happens too quickly.
This queues all webhook to be register on shutdown instead of just
syncronous ones to make sure all data from the request is updated first
before the webhook gets queued.
2020-07-27 12:11:40 -04:00
Néstor Soriano de73ec027c
Merge pull request #26303 from netzstrategen/feature/prevent-unnecessary-available-variations-render
Allows avoiding performance bottlenecks caused by get_available_variation().
2020-07-27 08:46:24 +02:00
Claudio Sanches 7bd34e3545
Merge branch 'master' into fix/25843 2020-07-24 17:04:28 -03:00
Ron Rennick 3c6cff4b1c
Merge pull request #26961 from LeGaS/patch-1
Extend BACS accounts filter with order ID
2020-07-24 16:27:57 -03:00
vedanshujain cd09e91817 Applied coding standards 2020-07-24 19:12:25 +05:30
vedanshujain fc6ae313e3 Do not use `wc_round_tax_total` in shipping tax for accuracy.
`wc_round_tax_total` is for when prices are inclusive of taxes, however, shipping taxes can never include taxes so they should always use `round( $price, wc_price_get_decimals() )` instead.
2020-07-24 19:12:25 +05:30
vedanshujain a413952784 Use round_item_subtotal for shipping because shipping prices never include taxes so no need to wc_round_tax_total. 2020-07-24 19:12:25 +05:30
vedanshujain 57c105a3fe Remove wc_round_tax_total calls because lines would have already been rounded appropriately before reaching here. 2020-07-24 19:12:24 +05:30
vedanshujain 853539df12 Remove wc_round_tax_total from shipping item because shipping price are never inclusive of taxes 2020-07-24 19:12:24 +05:30
vedanshujain 541d9ca483 Remove individual rounding because lines would have already rounded.
When rounding at subtotal is enabled, line items are already rounded where they need to, so we only should do any further rounding when displaying values and no where else.

This is part of our larger attempt to remove individual rounding as much as possible.
2020-07-24 19:09:59 +05:30
Néstor Soriano 8c2412ea7d
Merge pull request #26731 from woocommerce/feature/introduce-dependency-injection
Introduce a dependency injection framework
2020-07-24 15:12:16 +02: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
Nestor Soriano e55ef052a2 Add documentation about the container and good coding practices.
- src/README.md largely expanded
- tests/README.md expanded
- includes/README.md added
- src/Internal/REAMDE.md added

src/README.md and includes/README.md have TODO placeholders to add
guidelines regarding to actions and filters.
2020-07-24 09:25:12 +02:00
Nestor Soriano 71462e33f3 Improevements on ExtendedContainer and LegacyProxy documentation.
Also, remove a not really needed `try` block in LegacyProxy::get_instance_of.
2020-07-24 09:25:11 +02:00
Nestor Soriano 6fd84a0401 Add shortcut methods for the LegacyProxy in the WooCommerce class.
The following methods are added and can be invoked using `WC()`,
they just redirect to the same methods in LegacyProxy:

call_function
call_static
get_instance_of
2020-07-24 09:25:11 +02:00
Nestor Soriano 29cf161415 Small changes after review feedback:
- Method and class renames.
- Removed unnecessary autoloader registration.
- Add a unit test for classes with non-object type hints
  in constructor arguments.
2020-07-24 09:24:06 +02:00
Nestor Soriano d5d02a7175 Fix code sniffer errors in wc-core-functions.php 2020-07-24 09:23:05 +02:00
Nestor Soriano 064ae558ab Changes in the overall organization of the dependency injection:
- The `Container` class now implements `Psr\Container\ContainerInterface`
  (and registers itself as such), holding a private instance of the
  real container. This way it's a read-only container from the point
  of view of plugins (which should use their own containers, but
  can still use this to get WooCommerce classes).
- All registrations are now done in the `Container` constructor via
  service providers.
- The container instance is now held in a global variable, set in
  `woocommerce.php`
- Added the `wc_get_container` function for old code.
- Added the `AbstractServiceProvider` class, which inherits with the
  corresponding League's class and adds some utility methods,
  most notably `add/shareWithAutoArguments`.
- Added the `ActionsProxy` and `LegacyProxy` classes, they are
  registered via a dedicated service provider.
- `WC_Queue_Interface` is no longer resolvable via the container
  (which is for classes inside `src` only).
- All the method names in the new classes have the format `fooBarFizz`
  to be PSR4 compliant, so the MethodNameInvalid error has been
  disabled in phpcs.xml for the `src` directory.
- Introduced the `@public` annotation for public API classes
  (classes that plugins can use and whose backwards compatibility
  we guarantee), applied to `ActionsProxy` and to `LegacyProxy` for now.
- Removed the hack for the autoloader as now it doesn't work anyway.
  For the changes in this branch to work, now WP_DEBUG must be false.
2020-07-24 09:23:01 +02:00
Nestor Soriano 23df8a4d17 Revert a couple of files to its original content after a messed rebase 2020-07-24 09:20:24 +02:00
Nestor Soriano a7829525eb Changes in the dependency injection container:
- Renamed from `ObjectContainer` to `Container`.
- It now inherits from PHP League's `Container`.
- It has now a `defineAsSharedAutowired` method.
- Initialization moved to the `WooCommerce::init_container` method.
- The static method for object resolution is now `WooCommerce::get_instance_of`.
2020-07-24 09:20:24 +02:00
Nestor Soriano 281ec18158 Undo the registration of old singletons in the DI container.
The container will in principle be used only to register classes
in the `src` directory.

Also, CustomerProvider class removed.
2020-07-24 09:20:24 +02:00
Nestor Soriano 312383ae47 First steps towards introducing a dependency injection framework.
- Add PHP League's Container package via Composer.
- Add an ObjectContainer class that encapsulates all the configuration
  and insulates the codebase from the concrete DI engine used.
- Add an improved ReflectionContainer class that will allow to
  register individual classes as singletons while autowiring.
- Use ObjectContainer to resolve the WooCommerce class, everything
  instantiated with "new" inside it, and all singletons that are
  usually obtained via WC() function.
- Introduce the CustomerProvider class.
- Introduce a service provider to resolve WC_Queue_Interface,
  this replaces the WC_Queue class.
- Mark as obsolete all the replaced "instance()" methods,
  and the entire WC_Queue class.
2020-07-24 09:20:21 +02:00
Claudio Sanches 64f4fb85e2 Move variation validation logic to add to cart 2020-07-23 19:10:42 -03:00
budzanowski 7bc30512a4 Remove extra tab. 2020-07-23 23:22:16 +02:00
budzanowski 623363ba50 Check for if new locale has language pack installed. 2020-07-23 22:52:59 +02:00
vedanshujain e1e5acfe1f Add 'includes/api/' from commit '880b82a0373b5b019294409b4d29f861b8964261'
git-subtree-dir: includes/api
git-subtree-mainline: 5a784bc1e4
git-subtree-split: 880b82a037
2020-07-23 00:34:46 +05:30
budzanowski 70c65f60f2 Don't process if there are no plugins to check. 2020-07-22 12:16:20 +02:00
budzanowski ed1a181eca Update api url. 2020-07-22 10:56:04 +02:00
budzanowski 2d8f308a08 Remove redundant check. 2020-07-21 18:41:34 +02:00
Claudio Sanches 133462d645
Update class-wc-cart.php 2020-07-21 13:13:10 -03:00
Claudio Sanches 7b7102c9de
Fixed typo 2020-07-21 13:12:39 -03:00
Claudio Sanches 85f81d0e0b
Add docblock 2020-07-21 13:10:43 -03:00
Claudio Sanches f758b2bb31
Fixed coding standards 2020-07-20 18:08:02 -03:00
Christopher Allford 840554d788
Merge pull request #27017 from woocommerce/fix/25480
Fixed the `shipping_zone_method` CLI command's instance_id parameter
2020-07-20 11:00:08 -07:00
Damir Ha 4c7a0f1580 Remove country label 2020-07-20 18:18:14 +02:00
budzanowski 0a10d64394 Update code to the new server setup. 2020-07-20 17:16:18 +02:00
Mike Dent 541f68363e Test code updated, with thanks to @ObliviousHarmony 2020-07-20 15:45:13 +01:00
Ron Rennick d3ab19b7cf eliminate internal use of deprecated functions
- remove deprecation of offsetGet as it is used throught abstract order
- eliminate use of offsetGet in unit tests, structured data, order functions
-
2020-07-17 17:14:26 -03:00
Brian 78b2141bf5
Update class-wc-countries.php 2020-07-17 13:39:26 +02:00
Brian e27fc1a8fe
Update class-wc-countries.php 2020-07-17 13:38:47 +02:00
Brian a1e0959e09
Update class-wc-countries.php 2020-07-17 13:37:56 +02:00
Damir Ha d37a82fec8 Add Locale info and Hide state 2020-07-17 13:04:20 +02:00
Brian bf92d07442
add postcode validation for liechtenstein
added the postcode validation for liechtenstein.
max. 4 digits
has to start with 94**
second * can only be a 8 or a 9
2020-07-17 11:50:51 +02:00
Brian 601c7263b8
hide state for liechtenstein
hide the state field for liechtenstein
2020-07-17 10:26:48 +02:00
Ron Rennick 5ee0eccb7b add/update correct deprecated notices on existing deprecations 2020-07-16 17:13:08 -03:00
Claudio Sanches 86311a9903
Merge pull request #27046 from woocommerce/fix/26860
[Importer/Exporter] Fixed the value display of "Published" for children of draft variable products
2020-07-16 13:15:31 -03:00
Ron Rennick dbf3e99292
Merge pull request #26964 from woocommerce/fix/24604
add rating count to order by rating clause
2020-07-16 10:51:20 -03:00
Damir Ha 9a5d920bdb Add postcode validation for Bosnia and Herzegovina 2020-07-16 13:52:01 +02:00
Néstor Soriano 24bd19c517
Merge pull request #27038 from woocommerce/add/26192
Add existing meta keys to woocommerce_duplicate_product_exclude_meta filter
2020-07-16 11:02:09 +02:00
Claudio Sanches 2947700029 Removed Features settings and home screen option 2020-07-15 22:58:51 -03:00
Claudio Sanches 37777432d4 [Importer/Exporter] Fix "Published" column values
While variations only uses "published" and "private" statuses when
exporting we should display the variations as "draft" in case the parent
product it's also a draft.
2020-07-15 21:45:51 -03:00
Vedanshu Jain a34835e489
Merge pull request #26932 from woocommerce/fix/25442
Show community forum link if wccom is not connected
2020-07-16 00:14:52 +05:30
vedanshujain 4500e86198 Shorten class and method names to reduce redundancy in naming. 2020-07-15 15:20:18 +05:30
Christopher Allford c9f754f5a3 Added the existing meta keys to the `woocommerce_duplicate_product_exclude_meta` filter 2020-07-14 13:57:21 -07:00
vedanshujain 1e68ce5dc9 Move function to src for better code architecture 2020-07-14 23:31:56 +05:30
Christopher Allford 9c492853b5
Merge pull request #26998 from woocommerce/fix/is-tax-displayed-private
Fixed the accessibility of WC_Cart::is_tax_displayed()
2020-07-14 09:05:19 -07:00
Nestor Soriano d2787818e3 Rename `quick-edit-warning` style with `wc-` prefix, and add styling. 2020-07-14 16:02:59 +02:00
Nestor Soriano c53d6daed1 Fix error when `screen` not set in request, remove redundand `round`s. 2020-07-14 11:42:22 +02:00
Nestor Soriano a39e15f92b Small adjustments in WC_Admin_Post_Types
- Remove no longer needed phpcs disablers.
- Rename method.
- Remove no longer needed logic.
- Simplify some logic.
2020-07-14 11:42:21 +02:00
Nestor Soriano fc0be07e0f Add unit test for WC_Admin_Post_Types::bulk_and_quick_edit_save_post.
The test added checks that the new regular or sale price is
appropriately set when bulk saving.
2020-07-14 11:42:21 +02:00
Nestor Soriano 4531af3382 Small fix in WC_Tests_Admin_Post_Types::bulk_and_quick_edit_stock_status_for_variable_product.
At some point the 'change_stock' key is assumed to be present
in the request data, but it might not. Fixed to test for existence
before using the value.
2020-07-14 11:42:21 +02:00
Nestor Soriano b71a9c33b6 Extract $_REQUEST to a method in WC_Admin_Post_Types.
Create a new `request_data` method in WC_Admin_Post_Types that
just returns $_REQUEST. This is intended to ease unit testing,
as this method can be easily mocked to return test data.
2020-07-14 11:42:21 +02:00
Nestor Soriano fd34cf76b2 Fix stock status setting for variable products on bulk & quick edits.
For bulk edit: even if stock status was left as "No change", the
status of all variations was being changed to whatever the status
of the product was before it was converted to variable. Now
no change is performed when "No change" is selected, and all
variations change to whatever is selected otherwise.

For quick edit: a new "No change" option is added that will be
preselected when the product is variable. Previously, whatever
status the product had before being converted to variable was being
shown, and that's the status that would be set when saving.
Also, a "This will change the stock status of all variations"
message is displayed before the selector.
2020-07-14 11:42:21 +02:00
Nestor Soriano ae0d269128 Refactor duplicate code & add rounding to price calculations in WC_Admin_Post_Types.
Two methods have been created:

- update_stock_status, replaces code that was duplicated in the
  quick_edit_save and bulk_edit_save methods.

- set_new_price, replaces code that was duplicated-ish in the
  bulk_edit_save for setting the new regular and sales prices
  (code was not identical but very similar).

Also, `round` is now used on sale price calculations that involve
multiplying by a percent, the same was as it was done already
to calculate the regular price.
2020-07-14 11:42:21 +02:00
Nestor Soriano 7d5b59953c Fix code sniffer errors in WC_Admin_Post_Types. 2020-07-14 11:42:21 +02:00
Christopher Allford 2ef15f02e3 Renamed `WC_Cart::is_tax_displayed()` to `WC_Cart::get_tax_price_display_mode()` to clarify intent 2020-07-13 07:21:19 -07:00
Peter Fabian 23028a90a1 Schema has not been updated, so revert. 2020-07-13 15:34:54 +02:00
Mike Dent 53d9085c16 Fixed indent and incomplete test code. 2020-07-12 19:26:57 +01:00
Mike Dent cf9db99a9f "Hidden" field type added to woocommerce_form_field() #26468 2020-07-12 16:38:36 +01:00
Christopher Allford 933cdd7a7b Removed the default `id` field added to all CLI commands
Some of our endpoints don't have an "<id>" parameter but we're expecting one in the CLI. Since the `id` is already part of the supported IDs we don't actually need this since it will pull it from the route.
2020-07-10 14:16:30 -07:00
Christopher Allford c3618cad47 Added the `instance_id` parameter to the CLI runner
This is used for shipping zone methods and so we need to be able to parse it too!
2020-07-10 07:21:05 -07:00
azzy9 c6d31e5459
Fix the error message shown for the max setting
Fix the error message shown when the max setting for rows is shown. before it stated "The minimum allowed setting is 8" when it should be "The maximum allowed setting is 8"
2020-07-10 12:58:57 +01:00
Christopher Allford c2bf58a739 Fixed the accessibility of WC_Cart::is_tax_displayed()
Since we're calling the function from the base class we need it to be protected or this throws a fatal exception.
2020-07-09 13:39:16 -07:00
Peter Fabian 6bc0ca724f Update versions and changelog from latest releases. 2020-07-09 13:18:51 +02:00
Claudio Sanches 864f451775
Merge pull request #26338 from woocommerce/fix/25561
Fixed user cap required to view the order count indicator
2020-07-08 12:09:28 -03:00
Claudio Sanches eeb08467af
Merge pull request #26877 from woocommerce/fix/26547
Fixed WooCommerce menu for users that can only manage orders on WooCommerce
2020-07-08 12:08:29 -03:00
Jory Hogeveen cde1bd019b
Allow public access to get_core_capabilities()
Allow role manager plugins to get these capabilties
2020-07-08 13:44:27 +02:00
Ron Rennick 625857e9e1 add rating count to order by rating clause 2020-07-06 11:19:17 -03:00
Szabolcs Légrádi 5174baca35
Extend BACS accounts filter with order ID 2020-07-06 13:36:24 +02:00
Kevin Ruscoe 0a47926418
Update types
Fixed #26537
2020-07-05 13:39:26 +01:00
Claudio Sanches 85580cfb4f
Merge pull request #26935 from woocommerce/fix/26822
[Tracker] Added order_total to orders_edit_status_change
2020-07-02 16:29:13 -03:00
Néstor Soriano 7fa34c6770
Merge pull request #26400 from woocommerce/fix/26242
Make WC_Cart::display_prices_including_tax() aware of tax display changes
2020-07-02 14:56:50 +02:00
vedanshujain 50b08a75ab Show community forum link if wccom is not connected 2020-07-02 16:28:33 +05:30
Claudio Sanches 0d9b6786fd [Tracker] Added order_total to orders_edit_status_change 2020-07-01 18:24:47 -03:00
Claudio Sanches e20a69c35c Fixed missing comma 2020-07-01 17:56:19 -03:00
hadi khosrojerdi 1893fb755a Edit get_review_count_for_product method
Get review count for product from wp_comments db, where comment type is `review` not all.
2020-07-01 22:20:15 +04:30
Claudio Sanches a1eb697bd3
Merge pull request #26634 from corsonr/fix-26633
Fix #26633 - Adds Custom Messages Upon WC Taxonomies Update
2020-07-01 14:36:38 -03:00
Claudio Sanches 101a8ae243
Added context 2020-07-01 14:36:22 -03:00
Claudio Sanches f17535fabd
Merge pull request #26589 from mariovalney/fix/26588
Fixes issue #26588
2020-07-01 14:18:06 -03:00
Claudio Sanches 1de6bf0c28
Merge pull request #26515 from koko-ng/patch-1
Fix error message in wc_get_template
2020-07-01 13:27:05 -03:00
Claudio Sanches 1194225d71
Merge pull request #26503 from Knyazevich/origin/fix/wc_update_product_stock_status-phpdoc
Fix parameter type and add an empty line in wc_update_product_stock_s…
2020-07-01 13:21:21 -03:00
Claudio Sanches 0351aa546e
Merge pull request #26462 from db2000ro/fix/24885
Fix 24885 currency position RTL
2020-07-01 13:20:01 -03:00
Claudio Sanches fddaed2899
Merge pull request #26325 from twoelevenjay/master
Conditionally change my account dashboard desc
2020-07-01 13:13:22 -03:00
Claudio Sanches 4d2bafcc49
Merge pull request #26219 from woocommerce/fix/wc-load-cart
`wc_load_cart` should load it's own dependencies and include required core files
2020-07-01 13:10:04 -03:00
Claudio Sanches dec50429b4
Merge pull request #25240 from shamalisulakhe/issue-24266-solution
Issue 24266 solution - with rerf of
2020-07-01 13:00:58 -03:00
Claudio Sanches cadbc759fe
Merge pull request #26680 from MihaiCraciun/master
Added missing closing select tag to the product exporter category select
2020-07-01 12:57:33 -03:00
Claudio Sanches 950b2253cb
Merge pull request #26846 from woocommerce/add/new_order_note_action
Add `woocommerce_order_note_added` action
2020-07-01 12:56:55 -03:00
Claudio Sanches 9ac5bcb586
Merge pull request #26697 from passatgt/master
Fixes for Hungarian address format and name order
2020-07-01 12:55:50 -03:00
Claudio Sanches e736ac4145
Merge pull request #26837 from gamebits/patch-1
Add login link for existing account
2020-07-01 12:54:24 -03:00
Claudio Sanches 94d23605b8
Merge pull request #26658 from zackkatz/patch-1
Fix undefined index PHP warning
2020-07-01 12:48:13 -03:00
Claudio Sanches 2874915339
Merge pull request #26553 from szepeviktor/patch-2
Fix PHPDoc in WC_Notes_Run_Db_Update
2020-07-01 12:46:48 -03:00
Claudio Sanches 9c4ac29137
Merge pull request #26565 from woocommerce/fix/26510
Allow set "order key" while creating order via CRUD
2020-07-01 12:42:18 -03:00
Claudio Sanches 54f91a5a59
Merge pull request #26566 from woocommerce/update/26510-generate-order-key
Allow custom values in wc_generate_order_key()
2020-07-01 12:41:24 -03:00
Claudio Sanches cac529c393
Merge pull request #26567 from woocommerce/fix/26510-created-date
Allow set "date_created" while creating orders via CRUD
2020-07-01 12:40:43 -03:00
Claudio Sanches 4450d2239f
Merge pull request #26660 from woocommerce/add/status-tools-prompt
Adds a prompt to confirm if should run tools in the Status page.
2020-07-01 12:39:54 -03:00
Claudio Sanches f6cd453840
Merge pull request #26669 from woocommerce/fix/filter-params
Normalize parameters for woocommerce_product_importer_parsed_data filter
2020-07-01 12:39:17 -03:00
Claudio Sanches ab8a1b78a3
Merge pull request #26668 from woocommerce/fix/typo
Fixed typo in WC_Product_CSV_Importer class
2020-07-01 12:39:03 -03:00
Claudio Sanches 6fc008c104
Merge pull request #26698 from woocommerce/fix/26643
Puerto Rico: Remove "City" field and rename "State" to "Municipality"
2020-07-01 12:38:28 -03:00
Claudio Sanches 32a3d29bd9
Merge pull request #26798 from danielmorell/patch-1
Fixed wc_get_order function name in doc block
2020-07-01 12:37:06 -03:00
Claudio Sanches 7647a122ab
Merge pull request #26920 from alamgircsebd/fix/wrong-capabilites-use-on-add-order-note
Fix - wrong capabilities use on add order note issue fixed
2020-07-01 11:42:45 -03:00
vedanshujain 8ded6a3057 Applied coding standards 2020-07-01 19:09:50 +05:30
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
Ron Rennick 84f5e61dbf
Merge pull request #26858 from woocommerce/fix/25833-2
add Google weblight user agent check
2020-07-01 09:31:35 -03:00
Alamgir 5cda3967ff Fix - wrong capabilites use on add order note issue fixed 2020-07-01 10:14:22 +06:00
Claudio Sanches c3608f3b57
Merge pull request #26878 from woocommerce/fix/26787
Moved synchronous webhook execution into a shutdown function
2020-06-30 16:34:12 -03:00
Claudio Sanches 0de1d4f9c0 Updated docblock 2020-06-30 13:32:11 -03:00
Claudio Sanches 54a94152ec Map all deprecated keys in __isset() 2020-06-30 13:25:30 -03:00
Claudio Sanches 701490b13e
Apply suggestions from code review
Co-authored-by: Néstor Soriano <nestor.soriano@automattic.com>
2020-06-30 13:05:56 -03:00
Peter Fabian 64bbb09eb2
Merge pull request #26518 from lipemat/patch-1
Fix set cache loop when no attributes exist
2020-06-30 12:03:37 +02:00
Néstor Soriano 3a77066262
Merge pull request #26554 from jeffreyscottfrench/Fix--select_country-default-value
Sets "Select a country / region..." option element's value attribute to default in checkout page.
2020-06-30 10:34:06 +02:00
Nestor Soriano 9aa3c54bd9 Fix variable product stock status not being properly set on save
When a product is saved its validate_props method is invoked,
and this recalculates the stock_status property based on whether
the product manages stock or not, the stock quantity, and the
value of the woocommerce_notify_no_stock_amount option.

In the case of variable products, and when stock is managed, the stock
was set to "instock" when the current stock was enough, but only
if the "stock_quantity" property was in the list of changed properties
for the object (the method in the base product class doen't check
for changed properties). This is a problem because the
wc_update_product_stock function updates stock_quantity but via direct
database modification, and thus stock_quantity isn't considered
modified. Therefore stock modifications via wc_update_product_stock
don't update stock_status on the product (e.g. when going from 0 to 1
after a refund the stock status will remain as "outofstock").

The fix consists of removing the check for changed properties since
it's not done anyway in the other cases (when stock is below the
woocommerce_notify_no_stock_amount threshold) nor in the base class.

Also, validate_props is refactored for readabiliyy, and an useless
set_stock_status() call placed right before save()
in wc_update_product_stock is removed.
2020-06-29 14:32:17 +02:00
Néstor Soriano 7b3e902952
Merge pull request #26629 from woocommerce/fix/25552
Schedule a deferred product sync for products with parent on delete.
2020-06-29 14:15:10 +02:00
James Collins 3a3cc35506
Fix for REST API requests where the authentication doesn't execute 2020-06-29 17:10:27 +08:00
budzanowski 114ce81757 Use singular batch update endpoint. 2020-06-26 11:09:41 +02:00
Fitim 963bbcfca3 [woocommerce_cart_has_enough_stock_for_product] Invert the logic, change hook name 2020-06-26 09:38:44 +02:00
Fitim 45c387e39c Merge remote-tracking branch 'upstream/master' 2020-06-26 09:21:21 +02:00
Christopher Allford 7331036d17 Moved synchronous webhook execution into a shutdown function
One of the problems with synchronous webhooks is that they are executed as soon as the related action is. Since we may call an action multiple times in the process of updating something, this causes only the first action to trigger the hook. This differs from asynchronous execution because in that case, the web hook will be executed after the entire request has completed.
2020-06-25 16:54:17 -07:00
Claudio Sanches 0757f711de Need to use edit_others_shop_orders also for coupons menu item 2020-06-25 20:34:28 -03:00
Claudio Sanches 8609500cc2 Check for the correct cap for shop_coupon 2020-06-25 20:31:06 -03:00
Claudio Sanches f5b9af8591 Keep WooCommerce menu structure if user can edit others shop orders 2020-06-25 20:01:12 -03:00
Ron Rennick ce70d6ad7a add Google weblight user agent check 2020-06-24 14:26:25 -03:00
Dan Bitzer 25fbe58872 Add order note action docblock 2020-06-24 09:35:46 +09:30
Claudio Sanches f4d11c89f3
Merge branch 'master' into issue-24266-solution 2020-06-23 16:47:30 -03:00
Ron Rennick aaae319a65 deprecate wc-setup 2020-06-23 15:29:58 -03:00
Ron Rennick e9f71ac24c
Merge pull request #26802 from woocommerce/fix/25833
introduce woocommerce_enable_nocache_headers filter
2020-06-23 13:35:13 -03:00
Ron Rennick e56ef185b0
Merge pull request #26809 from woocommerce/fix/25606
remove privacy page dropdown
2020-06-23 13:34:33 -03:00
Claudio Sanches 6890251b0e
Fixed typos and coding standards 2020-06-23 11:51:19 -03:00
Claudio Sanches 3bb7f30c01
Merge branch 'master' into fix/25561 2020-06-23 11:23:29 -03:00
Claudio Sanches f2299ecfa8
Fixed coding standards 2020-06-23 11:09:21 -03:00
Dan Bitzer 9cddd9ae18 Add `woocommerce_order_note_added` action
This action provides an easier way to perform an action when a non-customer order note is added.
2020-06-23 16:55:08 +09:30
Ken Gagne bc210d6db1
Add login link for existing account
When a logged-out user tries to check out with an email address associated with an existing account, they are prompted to log in. This PR updates that prompt with a link to the login form. Though other opportunities to log in should already exist elsewhere on the checkout page (such as `form-login.php`'s "Returning customer?" prompt), this change makes it more explicit and intuitive.
2020-06-22 09:57:28 -06:00
Ron Rennick 4a9fb66a39 update comment to accurate description 2020-06-18 10:56:31 -03:00
Ron Rennick a88a708286 remove privacy page dropdown 2020-06-18 10:40:17 -03:00
Ron Rennick 6743073a0f introduce woocommerce_enable_nocache_headers filter 2020-06-17 15:02:09 -03:00
Daniel Morell 94e317f9f8
Fixed wc_get_order function name
The WC_Abstract_Order __construct() method doc block had the wc_get_order() method referred to as get_order().
2020-06-17 10:49:40 -05:00
Ron Rennick 3763d3b428
Merge pull request #25982 from leewillis77/feature/add-label-to-taxonomies
Add label to unlabelled taxonomies
2020-06-17 10:54:50 -03:00
Peter Fabian 14a26aca2c Update min files and selectWoo 2020-06-16 17:15:12 +02:00
Peter Fabian 418d95298a Merge branch 'master' into update/wc-admin-1.3.0-beta-1
# Conflicts:
#	composer.lock
2020-06-16 14:58:43 +02:00
Peter Fabian 35ee21f837
Merge pull request #26754 from woocommerce/fix/25544
Encode HTML entities in product attributes
2020-06-16 14:29:19 +02:00
Peter Fabian bb2cf2e8dc Removed deprecated method call. 2020-06-16 13:18:05 +02:00
Peter Fabian ce740fdb44
Merge pull request #26739 from woocommerce/fix/24800
Export: properly escape commas in attribute values
2020-06-16 12:56:40 +02:00
Peter Fabian dc0d567137
Merge pull request #26775 from woocommerce/update/php7.2
Show notice to update to latest PHP if version is < 7.2
2020-06-16 12:56:15 +02:00
Peter Fabian c35c4f1f08
Merge pull request #26395 from woocommerce/revert-26226-revert-25708-update/reserve-stock-for-checkout
Introduce a `reserved stock` class and database table to prevent race conditions during checkout
2020-06-16 11:38:10 +02:00
Peter Fabian 32037e37dd
Merge pull request #26625 from woocommerce/add/homescreen-option
Homescreen: Enable for new stores and add Features Setting section
2020-06-15 21:54:06 +02:00
Peter Fabian 0c96b1452d
Merge pull request #26685 from woocommerce/fix/26248
Removed the notice for untested minor version updates
2020-06-15 21:40:22 +02:00
Vedanshu Jain 8dcb48219b
Merge pull request #26752 from woocommerce/fix/25143
Add template cache clearing
2020-06-15 23:47:24 +05:30
vedanshujain 513b517b5b Show notice to update to latest PHP if version is < 7.2 2020-06-15 21:51:03 +05:30
vedanshujain 34e5d3daa3 Use single sentence for easier translations. 2020-06-15 19:09:52 +05:30
vedanshujain b8a1a69b2b Updated annotations to 4.3 2020-06-15 18:55:00 +05:30
Paul Sealock c7ad889f93 Homescreen: add option and setting 2020-06-15 13:38:02 +12:00
budzanowski 8f4e1a90c1 Typo fix. 2020-06-14 11:38:57 +02:00
budzanowski bb7e5d1018 Connect the translations server. 2020-06-14 11:14:29 +02:00
jonathansadowski 386eecda62
Merge pull request #26729 from woocommerce/fix/26367
Update saving of comment_type for reviews to account for WP 5.5 changes
2020-06-12 10:36:28 -05:00
Vedanshu Jain 60ffc7ab99
Merge pull request #26583 from woocommerce/fix/26582
Fix regression caused by merging #25092 conflicting with #24828
2020-06-12 15:13:21 +05:30
Ron Rennick 4a8af2ec5d
Merge pull request #26706 from dorelidan/patch-1
Update wc-template-functions.php
2020-06-11 16:23:39 -03:00
Jonathan Sadowski 4d6aad4ecb Encode HTML entities in product attributes 2020-06-11 14:10:05 -05:00
Ron Rennick dd5cd361bc introduce wc_set_template_cache(), wc_clear_template_cache() 2020-06-11 14:06:56 -03:00
budzanowski 5277bf8b60 Add language packs automatic delivery code. 2020-06-11 14:31:55 +02:00
Peter Fabian 296112cbea
Merge pull request #26237 from woocommerce/fix/24000
Fix adding product variant to cart using `add-to-cart` parameter (#24000)
2020-06-11 13:13:12 +02:00
Peter Fabian 439562e854
Merge pull request #23971 from woocommerce/refactor/23783
Better template caching for container environments
2020-06-11 10:13:46 +02:00
Peter Viszt 4a60386560
Removed duplicated class from the HU city field 2020-06-10 17:54:12 +02:00
Jonathan Sadowski 5b232ff489 Export: properly escape commas in attribute values 2020-06-09 16:01:32 -05:00
Jonathan Sadowski f9731bb2ed Update saving of comment_type for product reviews to account for WP 5.5 default comment_type 2020-06-08 17:36:34 -05:00
Julia Amosova 6d3ce36fb4
Merge pull request #26720 from woocommerce/fix/26665
Remove check for existing term when parsing category via CSV & instead catch an existing term error when adding new category to the database
2020-06-08 16:04:31 -04:00
Julia Amosova 7982efb3df Fix the @return description of the CSV Import categories parsing function 2020-06-08 15:03:00 -04:00
Julia Amosova ea17484e42 Remove check for existing term when parsing category & add better error handling 2020-06-07 20:59:23 -04:00
Claudio Sanches 5dc84e6d0f
Update includes/class-wc-countries.php
Co-authored-by: jonathansadowski <jonathansadowski@users.noreply.github.com>
2020-06-05 14:46:03 -03:00
Dor Elidan 4b6e56b02a
Update wc-template-functions.php 2020-06-05 18:22:34 +03:00
vedanshujain 79e13edff0 This commit adds two changes for reserved stock functionality:
1. Use '0000-00-00 00:00:00' instead of CURRENT_TIMESTAMP as default value to support MySQL 5.6
2. Return early if DB version is less than 430 because then it would mean that required wc_reserved_stock table might not be present.
2020-06-05 19:20:06 +05:30
Claudio Sanches a240547fda Puerto Rico: Make city hidden and change state to Municipality 2020-06-05 10:14:52 -03:00
vedanshujain e00f79417f Alert in status report if base table is not present.
Also add a tool to rerun the check. This needs newer API version to work.
2020-06-05 18:26:49 +05:30
Vedanshu Jain b45373fe0c Revert "Revert "Introduce a `reserved stock` class and database table to prevent race conditions during checkout"" 2020-06-05 15:18:01 +05:30
Vedanshu Jain 6564847802
Merge pull request #26454 from woocommerce/enhancement/verify-db
Add `verify_base_db` method to check if all base tables are present.
2020-06-05 15:15:39 +05:30
Claudio Sanches 418896ea86 Removed States from Puerto Rico and better address formatting 2020-06-04 17:18:17 -03:00
Viszt Péter 1724507a0e Fixes for Hungarian address format and name order
Missing address-field class for Japan's postcode and state field
Checkout layout fixes on country change
2020-06-04 19:21:41 +02:00
vedanshujain e0de059f23 Use seperate db version to better track changes 2020-06-04 22:38:13 +05:30
vedanshujain 4fce106f14 Use `_` instead of `-` as per convention. 2020-06-04 20:33:38 +05:30
Christopher Allford ffe2257f2d Removed the notice for untested minor version updates
With the increased cadence of releases it becomes necessary that we address the `WC tested up to` header's usefulness. It isn't practical to require everyone to update their extensions every month, especially given that we are only doing backwards compatible minor releases. The only case I can think of where we might want to check the minor version is if the Stable tag on Core is downgraded, but due to the naming of the header, this doesn't make any sense.

I considered making this a wildcard of some kind but I think most would bind to a full major version anyway and so this isn't worth the time to add it. As an aside, the tests in `plugin-updates.php` seem to indicate that a header of `WC tested up to: 4` would apply to the entire major version cycle, so wildcards already exist!
2020-06-03 14:36:06 -07:00
Ron Rennick 0265e027ef
Merge pull request #26637 from woocommerce/fix/wc_timezone_string
use wp_timezone_string when available
2020-06-03 15:41:47 -03:00
Claudio Sanches 3701f0a82b
Merge pull request #26542 from woocommerce/tweak/add-shipping-actions
Add actions before/after shipping calculation
2020-06-03 11:25:10 -03:00
Claudio Sanches bf042a428d
Merge pull request #25321 from grey-rsi/status_widget_stock_rows
Add filters for status_widget_stock_rows queries
2020-06-03 11:22:20 -03:00
MihaiCraciun 1df2ba2c7a Added missing closing select tag 2020-06-03 13:40:05 +03:00
Julia Amosova 8fe149d56d
Merge pull request #26670 from woocommerce/tweak/26123
Add note to Products Importer description that TXT files are also supported.
2020-06-02 15:00:36 -04:00
Claudio Sanches adca2cb73d
Merge pull request #26644 from tivnet/patch-6
class-wc-shortcode-products.php - fix spelling in a comment
2020-06-02 15:56:16 -03:00
Claudio Sanches 9020cebdbb Normalize parameters for woocommerce_product_importer_parsed_data filter 2020-06-02 14:21:33 -03:00
Claudio Sanches 5445d34283 Remove deprecated attribute 2020-06-02 13:57:55 -03:00
Claudio Sanches e0105f124f Deprecate WC_Cart->tax_display_cart 2020-06-02 13:55:29 -03:00
Julia Amosova 479cac4fc0 Add note to Products Importer that TXT files are also supported. 2020-06-02 12:55:06 -04:00
Claudio Sanches 5bf9a83e58
Fixed docblock 2020-06-02 12:17:59 -03:00
Claudio Sanches 2267dcfe7e
Updated since tags 2020-06-02 12:16:54 -03:00
Julia Amosova f929bacfc6 Correct grammar mistake in the help tip of the `Connected to WooCommerce.com` field of SSR. 2020-06-02 11:12:47 -04:00
Claudio Sanches f8a050f914 Fixed typo in WC_Product_CSV_Importer class 2020-06-02 11:42:50 -03:00
Sergey Ratushnuy ec91a7c3fc Small fix 2020-06-02 15:05:44 +03:00
Claudio Sanches f2be9c7365
Fixed coding standards 2020-06-02 00:01:26 -03:00
Claudio Sanches 6afbed0c14 Fixed coding standards 2020-06-01 23:55:17 -03:00
Claudio Sanches 608cce5091 Fixed typo 2020-06-01 20:54:29 -03:00
Claudio Sanches b4ab40ae34 Adds a prompt to confirm if should run tools in the Status page. 2020-06-01 18:56:38 -03:00
Zack Katz 7a7f33f2a1
Fix undefined index PHP warning
![](https://i.gravityview.co/gtGvNE+)
2020-06-01 14:32:19 -06:00
Claudio Sanches 855b1d3b6b Added docblocks and removed $this 2020-06-01 14:35:31 -03:00
Boro Sitnikovski dd512c6f40 Move filter out of abstract class and into the manager class 2020-06-01 19:25:18 +02:00
Gregory Karpinsky 3d02da9a03
Update wc-template-functions.php
Fix variable name in docblock
2020-05-31 08:43:44 -04:00
Gregory Karpinsky 42bc3d3bf3
Update class-wc-shortcode-products.php
Spelling in a comment
2020-05-31 08:27:14 -04:00
Claudio Sanches 9d8af073cf
Update since tag to 4.3.0 2020-05-29 13:45:00 -03:00
Ron Rennick 7fbe912e19 use wp_timezone_string when available 2020-05-29 07:54:43 -03:00
Remi Corson c996434bc1 Fix #26633
Adds custom message upon taxonomies update
2020-05-29 10:58:36 +02:00
Nestor Soriano b43679c181 Schedule a deferred product sync for products with parent on delete.
Right now, when a product having a parent (e.g. a variation having a
parent variable product) is saved, wc_deferred_product_sync is
executed so that product sync is performed at the end of the request.
This commit implements the same when the product is deleted.
2020-05-28 14:07:51 +02:00
Peter Fabian 2394da73b4 Merge branch 'master' into refactor/23783 2020-05-28 11:19:03 +02:00
vedanshujain 3dc7df7af9 Use common code and round in subtotal.
We round in `get_subtotal` because its a front-end method. If more precision is required then `get_cart_subtotal_for_order` needs to be called. Also use same `get_cart_subtotal_for_order` method here as well for consistency.
2020-05-27 23:48:47 +05:30
Claudio Sanches 2acc24f489 Added missing trailing slash 2020-05-26 17:23:37 -03:00
vedanshujain 440f40a976 Changed back method to private because we figured a workaround in earlier test 2020-05-26 23:59:28 +05:30
vedanshujain e89ee25f36 Better option names to properly describe their intention.
Additionally, allow an option in `verify_base_tables` to call `create_table` method. This will be useful if someone wants to fix the their database.
2020-05-26 23:26:45 +05:30
Claudio Sanches a240798362 Don't allow redirection while checking for uploads directory 2020-05-25 10:31:58 -03:00
Mário Valney 04ceaa52f9
Fix: remove HTML from error message. 2020-05-22 21:14:43 -03:00
vedanshujain 57d336433a Fix regression caused by merging #25092 conflicting with #24828 2020-05-22 22:08:42 +05:30
vedanshujain 418741a0b2 Add unit test for verify_base_tables function 2020-05-22 18:32:04 +05:30
vedanshujain fafa44bde0 Modified notice to also handle when REST API does not have verify tool. 2020-05-22 18:32:03 +05:30
vedanshujain f5afddd4c9 Add support for notices 2020-05-22 18:32:03 +05:30
vedanshujain 3acc03c804 Add `verify_base_db` method to check if all base tables are present.
Optionally, also adds a notice in case all db tables are not present. Returns list of tables.

Note that we only check missing tables and don't care about exact table structure because many time tables are modified by merchants to better suit their needs (indexes, collations etc).
2020-05-22 18:30:11 +05:30
Christopher Allford 93811e0a56
Merge pull request #25753 from woocommerce/fix/25752-wc_get_shipping_method_count-check-enabled
Add is_enabled=1 check in wc_get_shipping_method_count()
2020-05-21 11:44:36 -07:00
Claudio Sanches 7534e2eba0 Allow set "date_created" while creating orders via CRUD 2020-05-20 18:04:49 -03:00
Claudio Sanches 5d034b83a9 Allow custom values in wc_generate_order_key() 2020-05-20 17:41:22 -03:00
Claudio Sanches ea19190d3b Allows to set custom order_key while creating an order 2020-05-20 17:14:17 -03:00
Jeffrey Scott French 9faee1d909 Sets Select a country option element value attribute to default. 2020-05-19 15:07:27 -04:00
Viktor Szépe 90c34a26a0
Fix PHPDoc in WC_Notes_Run_Db_Update
and correct a newbie mistake
2020-05-19 19:21:57 +02:00
Joshua Flowers b7bca44beb Call callback on tracking script load error 2020-05-19 18:19:19 +03:00
Vedanshu Jain 5adaa5667e
Merge pull request #26493 from woocommerce/fix/26466
Add function to allow client-side enabling of tracks
2020-05-19 16:30:45 +05:30
Vedanshu Jain 7fb1079137
Merge pull request #26399 from woocommerce/fix/uploads_htaccess
Disable directory listing for redirect download method
2020-05-19 15:56:37 +05:30
Boro Sitnikovski d1ac3731a5 Add actions before/after shipping calculation 2020-05-18 21:04:13 +02:00
Joshua Flowers 07b1887c2b Use var instead of const 2020-05-18 19:11:29 +03:00
Claudio Sanches eea062f9fa
Merge pull request #26519 from woocommerce/fix/csv-import-special-columns
Fixed the case conversion for meta key column mapping in product CSV imports
2020-05-18 11:33:50 -03:00
Peter Fabian e3e72e0423
Merge pull request #26500 from woocommerce/fix/26443
Refresh db update nonce on the Thank you notice
2020-05-18 14:36:13 +02:00
Albert Juhé Lluveras 9a34c4fe75 Update WC shipping settings so no shipping zones banner appears when all are deactivated 2020-05-15 16:32:12 +02:00
Néstor Soriano 8b0d4ef050
Merge pull request #26386 from woocommerce/fix/26355
Set an error ID for each WP_Error entry
2020-05-15 12:09:14 +02:00
Albert Juhé Lluveras 973e50ab64 Add param to wc_get_shipping_method_count() 2020-05-15 11:22:28 +02:00
Albert Juhé Lluveras de7ca06b41 Set is_enabled=1 instead of is_enabled=true 2020-05-15 11:02:12 +02:00
Albert Juhé Lluveras 33b0bef8c5 Add is_enabled=true check in wc_get_shipping_method_count() 2020-05-15 11:02:12 +02:00
Peter Fabian 0934f4a147 Merged should_show_notice and show_reminder and simplified logic.
Removed redundant calls to the same functions as this code runs on each admin pageload.
2020-05-15 10:24:30 +02:00
Néstor Soriano b9875a4fc1
Merge pull request #26445 from tsteur/issue_26414
Add hooks to "Add payment method form" to show additional fields and validate input
2020-05-15 10:16:53 +02:00
Peter Fabian 2f141eca77 PHPCS 2020-05-15 09:40:23 +02:00
Peter Fabian 50e386cbe8 Corrected the comment. 2020-05-15 09:26:17 +02:00
Christopher Allford 7bf9c31f64 Adjusted the column name normalization to avoid squashing meta key case sensitivity
Since we were converting the field to lowercase we ended up inserting meta in all lowercase, regardless of what it was in the CSV file. We should only be using the normalized field name when looking at the default columns, and should instead rely on a case-insensitive regex for the special columns.

One thing to note is that we're still defaulting the $headers array to the normalized field, as we don't want to change what is being passed to the filter for unmapped columns.
2020-05-14 21:20:55 -07:00
Thomas Steur 630b7f436d apply review feedback: better naming and coding style fix 2020-05-15 09:08:35 +12:00
Mat Lipe bf42110179
Fix set cache loop when no attributes exist
Test strictly for false to prevent an endless set cache loop when
you are not using attribute taxonomies or don't have any set.
Prevents `wc_get_attribute_taxonomies` function from calling `wp_cache_set` 
on every page load.
2020-05-14 12:37:29 -05:00
Claudio Sanches c09a269589
Revert "Fix duplicated custom fields after import products from .csv file" 2020-05-14 14:06:01 -03:00
koko 54db5f07c4
Fix error message in wc_get_template
If the filtered template does not exist the error should report the filtered template, not the original
2020-05-14 17:10:06 +02:00
Knyazevich 9458730a1c Fix parameter type and add an empty line in wc_update_product_stock_status 2020-05-14 03:36:13 +03:00
Joshua Flowers ef131029a5 Add function to enable tracking client-side 2020-05-13 17:44:26 +03:00
Peter Fabian 6b11451b88 Replaced repeated code from get_current_notice with the function call. 2020-05-13 16:36:09 +02:00
Peter Fabian a2f985414e Added freshness check also for 'done' notice. 2020-05-13 16:34:23 +02:00
Peter Fabian ed64c0c731 Y U no nonce here? 2020-05-13 16:33:27 +02:00
Peter Fabian eb0879cd1a Extracted actions to the beginning of the function to allow usage in note_up_to_date check. 2020-05-13 16:32:42 +02:00
Joshua Flowers 3f9db6a558 Add property to check if wcTracks is enabled 2020-05-13 16:53:57 +03:00
Joshua Flowers 07087c79a7 Always show tracks function in footer 2020-05-13 16:49:54 +03:00
Peter Fabian a7203ec4d0 Added clean up of duplicate notes, if there are any.
There has been some reports about duplicate notes in the db, so this should remove the duplicates and keep the first one.
2020-05-13 15:00:04 +02:00
Sergey Ratushnuy 9d711a6afa Add filters for status_widget_stock_rows queries 2020-05-13 11:02:44 +03:00
Claudio Sanches f01c5a3b79 Start 4.3.0 development 2020-05-12 17:49:20 -03:00
Christopher Allford a34bb53d9c
Merge pull request #26207 from woocommerce/feature/26186
Added notice to check if uploads directoy is public
2020-05-12 11:22:49 -07:00
Claudio Sanches 281459914b
Fixed space in URL 2020-05-12 15:16:36 -03:00
Claudio Sanches 8d6e13952a
New docs URL 2020-05-12 15:16:11 -03:00
Christopher Allford ef8e7114b7 Merge branch 'privacy-exporter-group-description' of git://github.com/garretthyder/woocommerce into garretthyder-privacy-exporter-group-description 2020-05-12 09:40:17 -07:00
Christopher Allford 7f45c56417
Merge pull request #26072 from garretthyder/privacy-policy-update
Privacy policy update
2020-05-12 09:33:28 -07:00
Christopher Allford f41cb52e0c
Merge pull request #26251 from xristos3490/fix-wp-54-styles
[WC4.1 RC] WP 5.3 select2 css fixes broken in WP 5.4
2020-05-12 07:39:10 -07:00
Christopher Allford ee01d42192
Merge pull request #26411 from barryhughes/patch-1
Pass the result of _n() through sprintf() to ensure placeholders are replaced
2020-05-11 20:06:54 -07:00
Christopher Allford 37f0ed27f9
Merge pull request #26409 from woocommerce/add/26381/order-search-tracks
Add tracking event on order search.
2020-05-11 20:04:55 -07:00
Christopher Allford 278cadea67
Merge pull request #26080 from yoavf/fix/helper-toggle-rtl
Addons/Helper: fix toggles in RTL mode
2020-05-11 19:58:45 -07:00
Christopher Allford 8332410939
Merge pull request #26308 from vandekul/master
Fix matching zones query for working with sqlite
2020-05-11 19:58:17 -07:00
Christopher Allford 71c49e9ef9
Merge pull request #26296 from abhishek-pokhriyal/fix/incorrect-argument-count
Correct argument count for action hooked on `woocommerce_process_shop…
2020-05-11 19:57:53 -07:00
Christopher Allford c52a6ffc2c
Merge pull request #26387 from woocommerce/fix/26329
Allow schedule coupons via CRUD
2020-05-11 19:57:16 -07:00
Christopher Allford 7e2e9b8695
Merge pull request #26167 from woocommerce/fix/25889
Removed  legacy notification to connect with WooCommerce
2020-05-11 19:56:46 -07:00
Christopher Allford 75d23712ff
Merge pull request #26272 from tolu-paystack/hide-ghana-postcode
Hide Postcode/Zip field on billing/shipping form when Ghana is selected
2020-05-11 19:55:48 -07:00
Christopher Allford 888a5c40cd
Merge pull request #26163 from abhishek-pokhriyal/fix/typo-though
Change "though" to "through"
2020-05-11 19:47:36 -07:00
Christopher Allford 452e53d8af
Merge pull request #25630 from woocommerce/fix-25603
Replace {site_address} by {site_url} for consistency
2020-05-11 19:43:08 -07:00
Christopher Allford bf396aec14
Merge pull request #25598 from johncodeos-forks/master
Hide Germany's, Denmark's and Sweden's state field
2020-05-11 19:42:46 -07:00
Christopher Allford f76be96af3
Merge pull request #25517 from grey-rsi/duplicated-custom-fields-after-import
Fix duplicated custom fields after import products from .csv file
2020-05-11 19:41:50 -07:00
Christopher Allford 4639d4a914
Merge pull request #26361 from dominic-p/iss-25787
Pass $customer to woocommerce_match_rates hook.
2020-05-11 19:40:58 -07:00
Christopher Allford cb7f89a5ef
Merge pull request #26022 from grey-rsi/wc_attribute_label_filter
Always pass attribute name to a 'woocommerce_attribute_label' filter
2020-05-11 19:36:44 -07:00
Daniel Stanciu 946c342b1d Fix 24885 currency position RTL
Wrapped price and currency inside a BDI tag, in order to prevent the
bidirectional algorithm to produce confusing results.
2020-05-11 23:57:13 +03:00
Vedanshu Jain 31b648d479
Merge pull request #26358 from woocommerce/fix/26348
Clear only plugin cache if WC header are not present to load with WC headers.
2020-05-11 18:14:39 +05:30
Vedanshu Jain 53a6c0e3ba
Merge pull request #26025 from woocommerce/enhancement/orders
Add method to get base data from order object.
2020-05-11 17:55:32 +05:30
Thomas Steur e10702625c
Add filter to validate add payment method action 2020-05-11 13:08:45 +12:00
Kevin Ruscoe 6fa5977579 Add filters
Adds woocommerce_cart_product_cannot_add_another_message, woocommerce_cart_product_out_of_stock_message, woocommerce_cart_product_not_enough_stock_message
2020-05-09 12:03:43 +01:00
Matt Sherman c6fb4aefbc Add `wcadmin_categories_view`, `wcadmin_categories_seach`, `wcadmin_tags_view`, and `wcadmin_tags_search` Tracks events. 2020-05-08 14:08:33 -04:00
Matt Sherman 540558b9f6
Merge pull request #26417 from woocommerce/add/26381/product-view-and-search-tracks
Add tracking events on products view and search.
2020-05-08 13:49:20 -04:00
Claudio Sanches 8b4e207f59
Merge pull request #26415 from jasonandmonte/patch-1
Fix variable name typo in class-wc-admin-addons.php file
2020-05-08 13:38:43 -03:00
Matt Sherman da1dd76a68 Only log `products_search` event if search query is non-empty 2020-05-08 11:20:28 -04:00
Vedanshu Jain 276ab00d86
Merge pull request #26044 from woocommerce/add/menu-order-count-filter
Added new filter for modification of order processing count in menu
2020-05-08 18:13:55 +05:30
Matt Sherman b1a32f4144 Add `wcadmin_products_search` Tracks event. 2020-05-07 21:24:17 -04:00
Leon Francis Shelhamer 718943c4df Address / Addresses strings in correct order for _n()
Signed-off-by: Leon Francis Shelhamer <leon@211j.com>
2020-05-07 20:57:30 -04:00
Jason 8ae5b4d5a6
Update class-wc-admin-addons.php
Fix variable name typo. `$parameters`
2020-05-07 16:19:31 -07:00
Matt Sherman df97b1f74e Add `wcadmin_products_view` Tracks event 2020-05-07 18:39:19 -04:00
Claudio Sanches 224559e73f
Updated since tag and removed global variable 2020-05-07 18:57:53 -03:00
Timmy Crawford 94bf2eb518 Updates per feedback. 2020-05-07 13:32:45 -07:00
Barry Hughes 2fdf4b6a0c
Pass the result of _n() through sprintf() to ensure placeholders are replaced with values 2020-05-07 13:32:05 -07:00
Claudio Sanches 7ee559004b Change notice class to error 2020-05-07 16:05:45 -03:00
Timmy Crawford 2420b8013d Add tracking event on order search. 2020-05-07 12:05:11 -07:00
Claudio Sanches 77c6ddda92 Make display_prices_including_tax() aware of tax display changes 2020-05-07 00:03:48 -03:00
Claudio Sanches 16ec0007cf Set "Options -Indexes" for redirect download method
Stop the .htaccess to get removed and stop directory listing
2020-05-06 23:42:33 -03:00
Claudio Sanches dcabbcb964 Open file in binary mode 2020-05-06 23:25:33 -03:00
Claudio Sanches 39633855f3 Only fetch the uploads info and do not attempt to create the uploads directory 2020-05-06 23:21:31 -03:00
Claudio Sanches 7634f54235 Use "Options -Indexes" for redirect download method 2020-05-06 23:20:56 -03:00
Claudio Sanches 16027eb33e Updated the notice 2020-05-06 21:50:01 -03:00
Claudio Sanches 8fecbcf9bf Make safe 2020-05-06 21:49:20 -03:00
Claudio Sanches 191bc7f134 Check if uploads/woocommerce_uploads is protected 2020-05-06 21:41:04 -03:00
Claudio Sanches 8e21f10b3d
Update since tags 2020-05-06 14:07:46 -03:00
Joshua T Flowers 43ab840e1a
Add a put method to the WC_Helper_API (#26262)
* Merge wc api authorization headers with given headers

* Add put method to WC_Helper_API

* Add unit test coverage around WC_Helper_API request methods

* Add tests for WC_Helper_API url method
2020-05-06 19:25:23 +03:00
Claudio Sanches 85d7cdbbb4 Allow schedule coupons via CRUD 2020-05-05 16:35:10 -03:00
Jonathan Sadowski 2db4da7055 Update variation_attributes to filter out any attributes, as they must be specified 2020-05-05 14:16:37 -05:00
Claudio Sanches f3dc64679d Set an error ID for each WP_Error entry 2020-05-05 15:56:16 -03:00
Jonathan Sadowski f8066a8141 Swap order of array_merge so that posted attributes do not get clobbered 2020-05-05 13:32:14 -05:00
Jonathan Sadowski 0c2b97ead2 Load variation attributes when adding to cart by variation id 2020-05-05 13:32:14 -05:00
Claudio Sanches d6a17aad4e Request is internal 2020-05-05 14:05:53 -03:00
Claudio Sanches 1208f79476 Included view 2020-05-05 14:04:42 -03:00
Claudio Sanches d8b8601601 Updated uploads directory check and saved results on transients 2020-05-05 14:03:12 -03:00
Claudio Sanches 040944fda6 Updated notice 2020-05-04 22:20:03 -03:00
Claudio Sanches fdea6de347 Check for user meta data first 2020-05-04 22:12:24 -03:00
Claudio Sanches 54625f9712 Fixed check 2020-05-04 22:11:56 -03:00
Claudio Sanches 15f71015e6 Improved method naming 2020-05-04 22:11:02 -03:00
Leon Francis Shelhamer 7f5dd5c997 Use function to handle plurals
Signed-off-by: Leon Francis Shelhamer <leon@211j.com>
2020-05-02 18:11:35 -04:00
Dominic c38e059ce8 Pass $customer to woocommerce_match_rates hook.
This allows tax related plugins to get more data on the customer and
make better decisions on the correct tax rate to apply.

Fixes #25787
2020-05-01 13:49:55 -07:00
vedanshujain 62ef169940 Simplified logic for better readability. 2020-05-02 00:31:54 +05:30
vedanshujain e97fd683c6 Add extra comments 2020-05-01 21:19:25 +05:30
vedanshujain 57e2e82961 Clear plugin cache if WC header are not present to load with WC headers.
WC headers are added in filter `extra_plugin_headers`, however, in case when WooCommerce is activated/updated, `get_plugins` will be called and cache will be set before this filter can be cached.

Also, `get_plugins` call is expensive even with update cache present, so we should clear it very conservatively.
2020-05-01 21:14:21 +05:30
xristos3490 cb9dc9ed44 Add param doc comment 2020-04-30 11:34:01 +03:00
xristos3490 09b55f7390 fix CS on docblock 2020-04-30 11:04:40 +03:00
Claudio Sanches 3a987b3367 Fixed coding standards 2020-04-29 18:23:57 -03:00
Claudio Sanches 986c68c221 Fixed user cap required to view the order count indicator 2020-04-29 18:19:25 -03:00
Claudio Sanches b62457dd01 Validate page template 2020-04-29 17:53:04 +05:30
Vedanshu Jain 3dd2cb1a66
Merge pull request #26247 from woocommerce/fix/wccom-helper-plugins-cache
Reset cache before retrieving plugin list on WooCommerce.com Subscriptions tab
2020-04-29 16:27:21 +05:30
Leon Francis Shelhamer 3a585c4e23 Conditionally change my account dashboard desc
Conditionally change my account dashboard description to reflect whether or not shipping has been disabled in WooCommerce > Settings > General > General options.

Signed-off-by: Leon Francis Shelhamer <leon@211j.com>
2020-04-28 21:37:55 -04:00
Susanna 07eef2d717
Fix matching zones query for working with sqlite
And probably other databases too.
2020-04-27 18:31:52 +02:00
tolu-paystack a151c11042 made postcode field visible but not required 2020-04-27 16:53:51 +01:00
Bogdan Arizancu cbf6b33c9e fixup! fixup! Allows avoiding performance bottlenecks caused by get_available_variation(). 2020-04-27 15:46:34 +02:00
abhishek-pokhriyal 968fbe0228 Correct argument count for action hooked on `woocommerce_process_shop_order_meta` 2020-04-26 16:01:40 +05:30
Bogdan Arizancu d69cf172db fixup! Allows avoiding performance bottlenecks caused by get_available_variation(). 2020-04-24 17:58:55 +02:00
Bogdan Arizancu 8584ac2638 Allows avoiding performance bottlenecks caused by get_available_variation().
Co-authored-by: Daniel Kudwien <daniel@netzstrategen.com>
2020-04-24 17:57:40 +02:00
Job c2a8af8331
Tweak explanation for coupon discounts
There was still some unclarity on the function. The explanation and tooltips were updated.
2020-04-24 15:47:02 +02:00
tolu-paystack 43db909665 removed postcode label and changed state label 2020-04-24 10:08:11 +01:00
tolu-paystack cab7c5b8a1 hide postcode field for Ghana addresses 2020-04-24 00:23:30 +01:00
Vedanshu Jain 5f0badbdf7
Merge pull request #26107 from webdados/master
Revert deprecation of $type on the get_european_union_countries method
2020-04-23 19:20:11 +05:30
xristos3490 f43426c46e Fix typo 2020-04-23 01:19:27 +03:00
xristos3490 b6b6bba1a0 minor updates 2020-04-23 01:17:40 +03:00
xristos3490 dfee6ab2e4 Add body class and change styles 2020-04-22 23:32:26 +03:00
Denis Dvali ee9e838918 Reset plugin cache before retrieving plugin list on Subscriptions tab. 2020-04-22 19:55:13 +03:00
Vedanshu Jain d663631f32
Merge pull request #26235 from woocommerce/update/ignore-coupons-discounts
Update `Ignore coupons discounts` title & description for Free Shipping
2020-04-21 22:19:39 +05:30
Julia Amosova 2b95f7b795 Update the string next to `coupons discounts` checkbox 2020-04-21 12:45:25 -04:00
Julia Amosova 8845b9a5c2 Update `Ignore coupons discounts` title & description for Free Shipping 2020-04-21 11:25:12 -04:00
Vedanshu Jain ee119e0a7e
Revert "Introduce a `reserved stock` class and database table to prevent race conditions during checkout" 2020-04-21 15:37:21 +05:30
Mike Jolley 88c7ad1bd2 Don't "get" cart 2020-04-20 12:47:20 +01:00
Mike Jolley 232ae16940 Load dependencies in wc_load_cart 2020-04-20 12:30:44 +01:00
Claudio Sanches 67a0a68689 Fixed uploads_directory_is_public trigger 2020-04-17 18:39:15 -03:00
Claudio Sanches 0eae470c0f Added notice to check if uploads directoy is public 2020-04-17 18:21:29 -03:00
Fitim c28c8e6472 Add filter woocommerce_cart_has_enough_stock_for_product in WC_Cart::check_cart_item_stock method 2020-04-16 12:16:11 +02:00
Fernando Marichal 134c0ea0db The function '_prompt_helper_connect' was deleted
After removing the legacy code the method '_prompt_helper_connect' wasn't useful anymore so it was removed.
2020-04-15 13:35:56 -03:00
Fernando Marichal f83e5d32a4 Removed legacy notification to connect with WooCommerce
Removed legacy JITM for connecting with WooCommerce.com
2020-04-12 13:49:38 -03:00
abhishek-pokhriyal b049d29a8a Change "though" to "through" 2020-04-11 19:35:13 +05:30
Marco Almeida ea734d2500
Fix comment
Fix comment for PR #26107
2020-04-10 10:46:46 +01:00
vedanshujain fcd4057218 More preventive check for order object in tracks. 2020-04-08 11:43:20 +00:00
vedanshujain e573390356 Add protective checks around order to prevent issues when order is drafted. 2020-04-08 09:56:18 +00:00
Marco Almeida 80576cb149
Revert deprecation of the $type parameter on the get_european_union_countries method
See woocommerce#26105
2020-04-07 23:01:46 +01:00
Christopher Allford 2fedf9306e Corrected the filter prefix for get_path_define_tokens 2020-04-07 10:25:57 -07:00
Vedanshu Jain c2d6d230f9
Merge pull request #26094 from woocommerce/bump/min-wp-version
Updated min WP version to 5.2
2020-04-07 17:26:06 +05:30
Nestor Soriano 0eed82b3b7 Fix code standards violations introduced in #25092 2020-04-07 12:28:30 +02:00
Claudio Sanches 58db7314a8 Added validation for product fields. 2020-04-07 11:29:54 +02:00
Peter Fabian 5a1ad5daf1 Updated min WP version to 5.2 2020-04-07 11:25:29 +02:00
Vedanshu Jain 46caa40854
Merge pull request #26085 from woocommerce/add/25849-implement-additional-tracks-take-2
Implement additional tracks take 2
2020-04-07 14:48:19 +05:30
Christopher Allford 172ceb51e8
Merge pull request #26084 from woocommerce/add/cart-checkout-block-settings-data
add customised cart & checkout block settings to wc-tracker snapshot
2020-04-06 18:22:24 -07:00
Rua Haszard 7b55096288 fix logic errors in get_blocks_from_page:
- declare closure use (dependency) on $block_name from surrounding func
- re-index the filtered array so $blocks[0] returns first filtered block
2020-04-07 10:23:03 +12:00
Rua Haszard bc8553f3d5 refactor block tracker data into standard function:
- use parse_blocks to detect block instead of SQL match
- method is now generic, can get data about any block on any woo page
2020-04-07 09:40:22 +12:00
Vedanshu Jain 3bf473517d
Merge pull request #25708 from woocommerce/update/reserve-stock-for-checkout
Introduce a `reserved stock` class and database table to prevent race conditions during checkout
2020-04-07 02:16:22 +05:30
Vedanshu Jain 057b352de7
Merge pull request #26016 from woocommerce/fix/26010
Setup Wizard: Default 100% of users to new OBW.
2020-04-07 02:10:09 +05:30
Claudio Sanches e95f34e81e Fixed coding standards and hooks priority 2020-04-06 17:10:09 -03:00
Vedanshu Jain dff7d8fd44
Merge pull request #26039 from soulseekah/master
Fix WC_Product_Data_Store_CPT::update_product_stock race condition
2020-04-07 00:44:33 +05:30
Vedanshu Jain 237463c39b
Merge pull request #25800 from woocommerce/fix/25748
Fixes tax rounding issues
2020-04-07 00:24:34 +05:30
Vedanshu Jain 5adb16e287
Merge pull request #25904 from woocommerce/fix/25073
Change string for untested WC extensions to avoid confusion
2020-04-06 23:18:42 +05:30
Christopher Allford b43ad106ef Added WPMU_PLUGIN_DIR and removed the path define token for ABSPATH
There's no need for the ABSPATH define since the WC plugin is always a child of a plugin directory anyway.
2020-04-06 07:17:01 -07:00
Vedanshu Jain 251e1ea273
Merge pull request #25851 from woocommerce/add/tracks-props-filter
Tracks: Add Ability to Filter Event Props
2020-04-06 18:25:58 +05:30
Vedanshu Jain a8d60a8864
Merge pull request #25856 from woocommerce/fix-reset-action-scheduler-db-update-routine
Fix minor inconsistencies in the WC 4.0 database update routines
2020-04-06 18:07:39 +05:30
Vedanshu Jain e3eb30c509
Merge pull request #26066 from woocommerce/fix/26002
Fix/26002
2020-04-06 18:05:47 +05:30
Vedanshu Jain 52ded367f5
Merge pull request #26075 from woocommerce/fix/26015
Prune elements with display none to fix regression.
2020-04-06 18:03:45 +05:30
Néstor Soriano 13765d9e91
Merge pull request #25092 from leanzafrancesco/fix/25091
Fix/25091 - Wrong totals in orders with taxable and non-taxable products and percentage coupons
2020-04-06 12:31:07 +02:00
Rebecca Scott 3807b809b4 Localise edit product header in products tracking 2020-04-06 11:22:24 +10:00
Rebecca Scott b8c2ce48b8 Revert "Revert "Implement additional tracks""
This reverts commit c24b565477.
2020-04-06 10:27:45 +10:00
Rua Haszard 3f42fbbeba remove stale/redundant comments 2020-04-06 12:10:35 +12:00
Rua Haszard e93bb453e1 use anonymous functions for array_filter when finding cart etc blocks 2020-04-06 12:08:37 +12:00
Rua Haszard 029e27cc25 add customised cart & checkout block settings to wc-tracker snapshot 2020-04-06 11:59:31 +12:00
Christopher Allford a7c0dec33a Added a function to fetch all of the path define tokens that may be present in template paths 2020-04-05 13:21:50 -07:00
Christopher Allford 33e81654a9 Made the path tokenization deterministic
Since the tokens are replaced in a first-discovered first-replaced order, we may accidentally create tokenized paths like '{{ABSPATH}}/test' instead of the desired '{{WP_CONTENT_DIR}}test'. By ordering them according to specificity however, we ensure that we tokenize as much of the path as possible.
2020-04-05 12:41:39 -07:00
Christopher Allford e270dfce2e Extracted the template path tokenization so that it can be applied to more than one define more readily 2020-04-05 12:06:04 -07:00
Christopher Allford 91c608f38e Merge branch 'master' into refactor/23783 2020-04-05 10:55:00 -07:00
Yoav Farhi af288e6ae1 make sure the woocommerce-helper rtl css file is loaded 2020-04-05 10:59:32 +03:00
Christopher Allford e3c120c1d9
Merge pull request #26034 from woocommerce/fix/package-update-error
Corrected error messaging on update for expired WooCommerce.com subscriptions
2020-04-03 08:35:46 -07:00
Mike Jolley 1acae4ef92 woocommerce_payment_complete priority 2020-04-03 15:58:59 +01:00
Mike Jolley f248902454 Update versions 2020-04-03 15:56:43 +01:00
Mike Jolley 4faea42c23 Change priorities 2020-04-03 15:55:15 +01:00
Mike Jolley e965f854d6 Missing class name 2020-04-03 15:55:15 +01:00
Mike Jolley 62e099bd84 Add table schema 2020-04-03 15:55:15 +01:00
Mike Jolley c983677a6f Implement stock functions 2020-04-03 15:55:15 +01:00
Mike Jolley 802fff94c2 Remove stock methods from order class 2020-04-03 15:55:14 +01:00
Mike Jolley 910a13f544 Fire action hooks rather than call stock holding functions directly 2020-04-03 15:55:14 +01:00
Mike Jolley 02cf328afe Remove check for held stock minutes during stock checks - this will be handled elsewhere 2020-04-03 15:55:14 +01:00
Mike Jolley 51aca598b9 Only implement get_query_for_stock in data store 2020-04-03 15:55:14 +01:00
Mike Jolley 7228d67799 Remove helpers from order functions 2020-04-03 15:55:14 +01:00
vedanshujain 3bd34184e4 Fixed bool error on when to disable feature 2020-04-03 15:55:14 +01:00
Claudio Sanches 2ebd86f2dc Revert "Revert "Add support for '_held_for_checkout` records to prevent race conditions."" 2020-04-03 15:55:13 +01:00
vedanshujain 6612d1f859 Prune elements with display none to fix regression.
In an earlier emogridier version (til WC 3.9.3) this was happening by
default, however now we have to do this explicitly since we update
emogrifier to > 3.x.
2020-04-03 13:47:04 +00:00
Garrett Hyder fadb5d0704 Merge branch 'privacy-policy-update' of github.com:garretthyder/woocommerce into privacy-policy-update 2020-04-02 13:11:24 -07:00