Commit Graph

19779 Commits

Author SHA1 Message Date
Rodrigo Primo 3fd6a66229
Merge pull request #25405 from woocommerce/fix/25385
Use wp_mail() default args in WC_Email
2020-01-16 15:23:30 -03:00
Claudio Sanches bccb93fa3c
Merge pull request #25378 from woocommerce/fix/25361
Add license key support to MaxMind GeoLite2 database downloads
2020-01-15 20:51:14 -03:00
Claudio Sanches eedf82da38 Fixed coding standards 2020-01-15 20:40:55 -03:00
Christopher Allford e56e5dfc50 Pushed the first woocommerce_geoip_updater execution to fifteen days in the future
This will prevent the routine from deleting the pre-update archive that we just moved in the previous update routine.
2020-01-15 10:25:51 -08:00
Christopher Allford 2b503e0409 Changed the MaxMind database update process to move the existing archive instead of deleting it 2020-01-15 10:24:13 -08:00
Claudio Sanches d9c22d60be Use wp_mail() default args in WC_Email 2020-01-15 13:33:12 -03:00
Ron Rennick fda63f4536 move action scheduler to external via composer 2020-01-15 10:31:04 -04:00
Claudio Sanches 5bafac3012 Improved maxmind_missing_license_key_notice logic 2020-01-14 23:32:55 -03:00
Christopher Allford 42269f965c Added clarification that the MaxMind license key is not strictly necessary 2020-01-14 14:09:51 -08:00
Christopher Allford 27bcba1ac7 Added a deprecation to the old Geolite library wrapper class' public methods 2020-01-14 13:44:41 -08:00
Christopher Allford c34a5b6ffe Added an update task to increase the database version 2020-01-14 13:39:47 -08:00
Christopher Allford 1ac8eebac3 Added clarity to the file path in the integration settings 2020-01-14 13:32:59 -08:00
Christopher Allford e851160927 Removed the erroneous space on the woocommerce_geoip_updater scheduled event 2020-01-14 13:20:41 -08:00
Rodrigo Primo 241c6cd590 Make context for admin notice documentation more clear 2020-01-14 17:07:12 -03:00
Claudio Sanches 92478b4739 Introduced woocommerce_maxmind_geolocation_update_database_periodically filter 2020-01-14 16:57:07 -03:00
Rodrigo Primo efb200799d Merge branch 'fix/25361' of github.com:woocommerce/woocommerce into fix/25361 2020-01-14 16:47:06 -03:00
Rodrigo Primo 23e1abe1dc Fix typo in php docblock 2020-01-14 16:45:57 -03:00
Claudio Sanches f9c31589c6 Fixed conditional code 2020-01-14 16:44:01 -03:00
Claudio Sanches 10cdbf88be Use shop base address as default customer location 2020-01-14 16:29:48 -03:00
Claudio Sanches 992e13fb08 Updated implementation of geolite2 2020-01-14 16:24:07 -03:00
Claudio Sanches 46110fa39c Introduced woocommerce_get_geolocation filter 2020-01-14 15:54:24 -03:00
Claudio Sanches 978c5b5fb9 Apply woocommerce_maxmind_geolocation_display_notices filter in notices class 2020-01-14 15:22:53 -03:00
Claudio Sanches b3b4e92fe1 Moved HTML to a single file 2020-01-14 12:20:46 -03:00
Christopher Allford 0f18570827 Added the database path to the integration page for documentation purposes 2020-01-13 21:02:22 -08:00
Christopher Allford b577b8a386 Changed the geoip update cron to run every 15 days to better comply with MaxMind's TOS 2020-01-13 17:02:41 -08:00
Claudio Sanches 1c874264d8 Removed MaxMind from System Status page 2020-01-13 21:48:23 -03:00
Christopher Allford 25dbc47da9 Added a note that the MaxMind integration will only do country lookups. 2020-01-13 14:43:00 -08:00
Christopher Allford 7a5083e47b Revert "Added a database option to allow for selecting different MaxMind databases"
This reverts commit d32c470cea.
2020-01-13 14:41:24 -08:00
Christopher Allford d32c470cea Added a database option to allow for selecting different MaxMind databases 2020-01-13 14:10:08 -08:00
Claudio Sanches f9d8b85c04 Remove notice when license key is present 2020-01-13 17:40:10 -03:00
Christopher Allford ef0eccf0ac Added upgrade step for removing the legacy MaxMind database 2020-01-13 11:18:14 -08:00
Christopher Allford 48d819ebeb Added support for non-standard upload folder paths 2020-01-13 11:00:23 -08:00
Christopher Allford 6d3a3053c5 Moved the database file into the woocommerce_uploads folder 2020-01-13 08:53:43 -08:00
Christopher Allford 4f6aec61fd Added support for a randomized MaxMind database file prefix 2020-01-13 08:16:44 -08:00
Joshua Flowers 902e1cc184 Check for the WooCommerce Admin class before adding notice 2020-01-13 17:43:27 +08:00
Joel Rowley d6771dc681 Prevent fatal error in set_current_gateway with no WC session 2020-01-13 14:18:49 +05:30
Christopher Allford f5d07c954c Adjusted the MaxMind license key notice to be clearer 2020-01-10 13:07:26 -08:00
Claudio Sanches 107720dc08 Make is_package_shippable less strict 2020-01-10 17:05:28 -03:00
Claudio Sanches 49aed6f6ca Remove alternatives for deprecated methods 2020-01-10 16:31:27 -03:00
Claudio Sanches c3abe8ac65 Added missing license key notice and triggers 2020-01-10 15:07:05 -03:00
Claudio Sanches 48547143f4 Fixed integration ID 2020-01-10 15:02:56 -03:00
Claudio Sanches 91ec28f167 Updated integration ID and included methods to display notices 2020-01-10 15:02:11 -03:00
Claudio Sanches cfeb07eaf7 Removed legacy code 2020-01-10 13:18:25 -03:00
Claudio Sanches 8aa7e62a21 Fixed fatal error in system status page 2020-01-10 12:22:42 -03:00
Claudio Sanches 2554cbf6e0 Prevent fatal error if MaxMind Reader is not installed 2020-01-10 12:16:53 -03:00
Claudio Sanches 0e119cb97a Fixed missing methods, added deprecated notices and @since 2020-01-10 11:58:53 -03:00
Christopher Allford 93e1d606ed Fixed a bug where empty database paths might break the update 2020-01-10 02:47:23 -08:00
Christopher Allford 19ded6609d Refactored the MaxMind database class to not use static methods in order to make testing the integration class easier 2020-01-10 02:09:51 -08:00
Christopher Allford 26e0b71fce Added support for mod_maxminddb's MM_COUNTRY_CODE server variable 2020-01-10 01:23:06 -08:00
Christopher Allford 0f6da046a1 Refactored the IP geolocation method 2020-01-10 00:08:24 -08:00
Christopher Allford b7521368a7 Fixed the response for the geolocation filter 2020-01-10 00:07:55 -08:00
Christopher Allford bbbfc3bfab Moved the MaxMind geolocation lookup into the integration class 2020-01-09 23:46:25 -08:00
Christopher Allford 02ee3f695e Moved the database update from the WC_Geolocation class to the MaxMind-specific integration 2020-01-09 23:22:42 -08:00
Christopher Allford 6e41f370a5 Added a documentation link to the license key setting description 2020-01-09 21:39:28 -08:00
Christopher Allford 2df3af1e63 Deprecated the WC_Geolocation::get_local_database_path method 2020-01-09 21:31:12 -08:00
Christopher Allford f91ff82806 Moved the loading of the database class into the integration 2020-01-09 21:29:47 -08:00
Christopher Allford d45a3541f4 Removed the unnecessary GeoLite2 version check 2020-01-09 20:58:42 -08:00
Christopher Allford 0d4b8f4bd3 Added sanitization to the license key in download URLs 2020-01-09 20:44:13 -08:00
Christopher Allford 6af0edfd94 Added a deprecation notice for the GEOLITE2_DB constant 2020-01-09 16:21:33 -08:00
Christopher Allford 72a84911ea Simplified the URL generation for geolocation database downloads 2020-01-09 16:18:20 -08:00
Christopher Allford 7cdd19da3f Fixed the erroneous return in WC_Geolocation::get_local_database_path 2020-01-09 16:16:34 -08:00
Christopher Allford bf057927ae Moved the loading of integration classes into the WC_Autoloader 2020-01-09 15:46:01 -08:00
Christopher Allford 98119047bf Added back the WC_Geolocation's get_local_database_path method since it was publicly used 2020-01-09 00:56:22 -08:00
Christopher Allford 3e597e6f68 Replaced the Geolocation database fetching functionality with MaxMind integration 2020-01-09 00:31:51 -08:00
Christopher Allford 000a75c23b Fixed the validation for MaxMind license keys 2020-01-08 22:56:24 -08:00
Christopher Allford 95e59fc777 Made the database service class methods static for convenience \ 2020-01-08 21:59:04 -08:00
Christopher Allford 1eb49ef8b8 Added filterable support for fetching the database path
This replaces the corresponding geolocation class functionality. We are deprecating the woocommerce_geolocation_local_database_path filter in favor of the woocommerce_maxmind_geolocation_databse_path filter. Since we want the option to turn this into a feature plugin, it's wise to make sure nothing is too generic.
2020-01-08 21:48:05 -08:00
Christopher Allford 46d7f16b19 Added support for downloading and extracting the GeoLite2 database 2020-01-08 21:09:35 -08:00
Christopher Allford 45157ff4e1 Added a default integration settings page for managing MaxMind Geolocation services 2020-01-08 21:08:25 -08:00
Christopher Allford a477f9367d Added support for creating default integrations 2020-01-08 21:05:14 -08:00
Christopher Allford 300064187b Moved the MaxMind DB Reader library into composer and pinned the latest version 2020-01-07 15:25:58 -08:00
Claudio Sanches cd137915b8 Set correct post type for product variation
And catch any WC_Data_Exception
2020-01-06 21:36:54 -03:00
Claudio Sanches 3ebda4a431 Use WC_Data_Exception in WC_Product_Variation_Data_Store_CPT 2020-01-06 21:35:23 -03:00
Claudio Sanches 85a077b939 Coupon race condition prevention 2020-01-06 19:44:24 -03:00
Jeremy Pry 19684ceb6c
Add second parameter to `woocommerce_valid_order_statuses_for_payment` filter.
Everywhere the `woocommerce_valid_order_statuses_for_payment` filter is used, a second parameter is passed: the `WC_Order` object. This parameter was missed in #25158.

Omitting this parameter can cause errors in other extensions expecing that it will be present when hooking into the filter.
2019-12-31 15:13:50 -05:00
Vedanshu Jain 842861005c
Merge pull request #25312 from woocommerce/fix/25268
Fixed number of filter args in WC_Emails
2019-12-26 16:59:17 +05:30
Sergey Ratushnuy e3ac006420 Add `woocommerce_top_rated_widget_args` filter for WC_Widget_Top_Rated_Products widget 2019-12-26 11:51:34 +02:00
Christopher Allford a7daebc6fd Fixed an exception that was thrown when a country had no states when checking for package shippability 2019-12-26 13:55:42 +05:30
Christopher Allford e800b40ad6 Made packages with incomplete destinations unshippable 2019-12-26 13:55:41 +05:30
Christopher Allford 874be93c14 Removed the lowercase conversion of product search terms
When searched in a case sensitive manner, the conversion to lowercase causes uppercase matches that would have been found to be lost. This change increases the tolerance of the OR search format while also removing this unintended side-effect.
2019-12-24 15:00:40 -08:00
Claudio Sanches eb57532740 Fixed number of filter args in WC_Emails 2019-12-24 12:09:50 -03:00
Claudio Sanches 7701d4b57c
Merge pull request #25286 from woocommerce/fix-phpcs-violations
Fix PHPCS violations automatically using PHPCBF
2019-12-23 12:22:42 -03:00
David Levin 40c76b83a2 update order to play nice with gateways, add paid by customer when order is paid in full 2019-12-22 20:14:31 -08:00
David Levin e4fcfc4d1a add net payment calculation, and re-order refund item to bottom of rows 2019-12-20 14:28:06 -08:00
David Levin 34ff4544ff trying to get net payment to work 2019-12-20 12:27:17 -08:00
David Levin b7c455c9d1 Add line for net payment post refund 2019-12-20 12:06:11 -08:00
Rodrigo Primo 7337ab60c2 Fix PEAR.Functions.FunctionCallSignature violations
This commit fixes all violations of the PEAR.Functions.FunctionCallSignature sniff automatically using phpcbf.
2019-12-20 15:25:23 -03:00
Rodrigo Primo 86c1b61f03 Fix Generic.WhiteSpace.ScopeIndent violations
This commit fixes all violations of the Generic.WhiteSpace.ScopeIndent sniff automatically using phpcbf.
2019-12-20 14:48:11 -03:00
Rodrigo Primo 2c74233be2 Fix WordPress.WhiteSpace.DisallowInlineTabs violations
This commit fixes all violations of the WordPress.WhiteSpace.DisallowInlineTabs sniff automatically using phpcbf.
2019-12-20 14:27:07 -03:00
Rodrigo Primo 487f96d844 Fix WordPress.DateTime.CurrentTimeTimestamp vilations
This commit fixes all violations of the WordPress.DateTime.CurrentTimeTimestamp sniff automatically using phpcbf.
2019-12-20 14:23:05 -03:00
Rodrigo Primo 62d6b05b58 Fix Generic.Formatting.MultipleStatementAlignment violations
This commit fixes all violations of the Generic.Formatting.MultipleStatementAlignment sniff automatically using phpcbf.
2019-12-20 14:21:08 -03:00
Rodrigo Primo 179dd7003e Fix Generic.Arrays.DisallowShortArraySyntax violations
This commit fixes all violations of the
Generic.Arrays.DisallowShortArraySyntax sniff automatically using
phpcbf.
2019-12-20 14:18:04 -03:00
Rodrigo Primo 94373f78ea Fix WordPress.Arrays.MultipleStatementAlignment errors automatically using phpcbf 2019-12-20 13:51:26 -03:00
Rowayda.Khayri f6574e3f91 fix a typo 2019-12-20 18:45:34 +02:00
David Levin b5bdb3dae0 change the order of shipping and fees in order line items 2019-12-19 12:11:50 -08:00
David Levin 25603cc190 display actual item price before discount in order item cost 2019-12-19 08:14:03 -08:00
David Levin 7ecae84d99 Rename coupons to discounts in order summary 2019-12-19 08:00:21 -08:00
David Levin 8c62fc72a6 update order summary totals 2019-12-19 07:53:35 -08:00
David Levin d25178b793 rename fee method again 2019-12-18 22:19:34 -08:00
Matt Harvey 11ee9525b3
Merge branch 'update/order-details-3' into update/order-details-3 2019-12-18 22:09:59 -08:00
Matt Harvey 4326e39250 Leave other fee total logic alone, reduce the fee array to get a simple sum 2019-12-18 22:08:39 -08:00
David Levin 5df30cdbd6 rename method to get fee totals 2019-12-18 21:34:40 -08:00
Matt Harvey 73189340c8 Merge branch 'master' into update/order-details-4 2019-12-18 21:00:32 -08:00
Matt Harvey 4eeec4705d Abstract fee calculation and expose as method to abstract Object class. 2019-12-18 20:58:39 -08:00
David Levin c6cd7331f9 update order details summary with items subtotal and start to add fees 2019-12-18 20:51:45 -08:00
Justin Shreve a5ee52a6c6 Add WP version check before recommending WooCommerce Admin 2019-12-18 09:29:21 -05:00
Rohan V 83c88e47a5
Add fix to increase column size for existing installations 2019-12-18 13:24:18 +05:30
Rohan V 2541786ef5
Increase field size for new installation 2019-12-18 12:49:32 +05:30
vedanshujain ad2f76275a Applied coding standards 2019-12-17 19:13:19 +05:30
vedanshujain ba2d825800 Use DB timestamp to ensure consistency between servers. 2019-12-17 19:13:19 +05:30
vedanshujain 9b7343d23b Applied coding standards 2019-12-17 19:13:19 +05:30
vedanshujain 47ba1d49da Cascade to return null to prevent notice when array is empty.
Another situation where this change is required when there are two coupons in an order but only one coupon has limit. In this case array will be present but one of the coupon will not have a corresponding record which will throw a notice.
2019-12-17 19:13:19 +05:30
vedanshujain 53bfcea110 Use same filter for stocks and coupon for consistency. 2019-12-17 19:13:19 +05:30
vedanshujain 72545c44b7 Add support for `_held_for_checkout` records to improve performance.
This will also improve transactional stability and avoid race conditions by providing a way to lock usage counts.
2019-12-17 19:13:19 +05:30
Rodrigo Primo ae1717cd4f Fix PHPCS violations automatically using PHPCBF 2019-12-13 17:51:14 -03:00
Rodrigo Primo f06ad5d78a Replace removed WordPress.Security.NonceVerification.NoNonceVerification
WordPress Coding Standard 2.0 removed the sniff
WordPress.Security.NonceVerification.NoNonceVerification:

```
The WordPress.Security.NonceVerification sniff used the same error code for both an error as well as a warning.
The old error code NoNonceVerification is no longer used.
The error now uses the Missing error code, while the warning now uses the Recommended error code.
```

(from
d45f5e5cf3/CHANGELOG.md (200-rc1---2018-12-31))

This commit updates WooCommerce code and replaces all instances where WordPress.Security.NonceVerification.NoNonceVerification verification was used with either WordPress.Security.NonceVerification.Missing or
WordPress.Security.NonceVerification.Recommended. In a few cases WordPress.Security.NonceVerification.NoNonceVerification was used but was not needed, so instead of replacing the sniff, the line was removed. In two other cases, I removed other unrelated sniffs that were not needed.
2019-12-13 17:45:32 -03:00
Rodrigo Primo 9c4de8f5e7 Fix indentation 2019-12-13 16:48:17 -03:00
Rodrigo Primo d451b68488
Merge pull request #24929 from helgatheviking/feature/woocommerce_process_variation_object
Add woocommerce_admin_process_variation_object before $variation->save()
2019-12-13 16:46:22 -03:00
Rodrigo Primo 00c40dab1a
Add pay order product has enough stock filter (#25230)
* [#25021] Add filter when checking if product has enough stock while paying for order

* [#25021] Retain original < check, invert bool

* [#25021] Make filter more readable
2019-12-13 11:16:30 -03:00
Rodrigo Primo e963d7cfab Fix minor imprecision in wc_is_wp_default_theme_active() documentation 2019-12-13 09:59:20 -03:00
Peter Fabian 72925ef41c Centralize check for default themes.
This should make Storefront appear in the Setup Wizard again.
2019-12-11 18:35:04 +01:00
Claudio Sanches 2975b3a7b7 Rate limit feature 2019-12-11 01:38:19 -03:00
Claudio Sanches 589d8c4591 Updated WooCommerce::$version 2019-12-10 22:55:08 -03:00
Claudio Sanches f7632de06e
Merge pull request #25164 from om4james/webhook-delete-cache
Delete cached webhook data when a webhook is deleted
2019-12-10 22:45:42 -03:00
Claudio Sanches 02ae29c8fc Fixed support to older versions of WordPress 2019-12-10 22:12:50 -03:00
dsmithweb 5a17c63cc9 Update links 2019-12-10 18:41:55 -06:00
Claudio Sanches 57d5c88b13
Merge pull request #24876 from akshaya-rane/fix-product-bulk-edit
refs #24638 Fixed Stock status update on Bulk Edit
2019-12-10 12:29:48 -03:00
Peter Fabian d8f49787a4 Better reflect variable purpose with updated name. 2019-12-10 14:22:30 +01:00
Peter Fabian fd66112bb7 Add WP version number class to Setup Wizard/OBW body element. 2019-12-10 13:32:13 +01:00
Claudio Sanches 104f40c36e
Merge pull request #24281 from woocommerce/fix/24269
Handle multiple decimal points
2019-12-09 14:07:29 -03:00
Andrej Mernik d20d429e32 Add postcode validation for Slovenia (#25174)
Add postcode validation for Slovenia
2019-12-09 10:09:45 -03:00
Claudio Sanches 85635773e9 Fixed coding standards 2019-12-06 12:51:10 -03:00
Claudio Sanches 78e382e4d6 Fixed incorrect concatenation of variation sale prices with ".00" 2019-12-06 12:37:23 -03:00
Claudio Sanches 0d1d0d6653 Fixed coding standards 2019-12-06 11:18:13 -03:00
Claudio Sanches b4af5f3c89 Updated regex to allow only one decimal point 2019-12-06 11:11:47 -03:00
James Collins b262ac8e53 Fix for duplicate webhook deliveries 2019-12-06 09:54:24 +08:00
James Collins 0246b02a94 Merge branch 'master' into webhook-delete-cache 2019-12-06 08:57:54 +08:00
Khokan Sardar 51252a6f8e Fixed issue #24575 (#24586)
* Fixed issue #24575

* Fixed implementation for #24575
2019-12-05 21:23:40 -03:00
Juancho Pestana b8217fa080 Fix #24365: Prevent billing address from being updated on shipping update. (#24374)
* Prevent billing address from being updated on shipping update.

* Set billing address if empty.

* Fix coding standard issue.

* Fixed missing tab
2019-12-05 21:17:01 -03:00
Claudio Sanches 5dac360e8a
Merge pull request #24208 from woocommerce/fix/order-screen-tax-calculation-to-honor-rounding-setting
Honor tax rounding preference in edit item and refund flows
2019-12-05 20:52:48 -03:00
Claudio Sanches 2e94410dc4
Merge pull request #24683 from n-dawson/fix-archive-orderby-param
Refine static homepage check to exclude blog archive queries. Fixes #…
2019-12-05 20:41:59 -03:00
Claudio Sanches 4ea81923da
Merge pull request #24935 from woocommerce/fix/24845-wpcom-customizer
Do not run send_frame_options_header when on the customizer
2019-12-05 20:28:55 -03:00
Rodrigo Primo 27915dd696 Exception when WC_Product_Variation is instantiated with the wrong type
This commits changes WC_Product_Variation to raise an exception when the
class is instantiated with an ID that belongs to a post object that is
not a product variation.

This is necessary to avoid problems like the one described in #24956
where passing a variable product ID to WC_Product_Variation would result
in transparently modifying the variable product title and excerpt.
2019-12-05 15:45:48 -03:00
Rodrigo Primo 61a843679a Fix WPCS violations automatically using phpcbf 2019-12-05 15:45:12 -03:00
Claudio Sanches d7e2a98aaf
Merge pull request #24828 from woocommerce/fix/24695
Adds shared code between Orders and Cart calculation logic.
2019-12-05 12:39:50 -03:00
Peter Fabian 44d39c369e Fixed the PHPCS to reflect new rules. 2019-12-05 16:00:18 +01:00
Peter Fabian 4dfa68b62d More PHPCS fixes. 2019-12-05 15:46:13 +01:00
Peter Fabian 2e81f21e29 Improved variable naming and comments. 2019-12-05 15:37:33 +01:00
Peter Fabian 159199f254 Check the nonce before the rate limiting. 2019-12-05 15:36:50 +01:00
Peter Fabian 85c4a5beed PHPCS fixes. 2019-12-05 15:30:53 +01:00
Gerhard Potgieter 7d39222334
Merge pull request #25162 from woocommerce/fix/24018
Hid variable parent products from "Add Products" search on order page
2019-12-05 14:22:43 +02:00
Rodrigo Primo 6b61d5f025
Merge pull request #24934 from woocommerce/add/filter_invalid_variations_notice
Introduce show_invalid_variations_notice filter
2019-12-05 09:08:24 -03:00
Peter Fabian 0d3074a554 Added rate limiting to Add payment method. 2019-12-05 12:03:02 +01:00
Gerhard 216a86b558 Change filter name to woocommerce_show_invalid_variations_notice and also pass through the $product_object variable. 2019-12-05 08:08:07 +02:00
Christopher Allford b67d094601 Added support for comma-delimited lists of types to exclude 2019-12-04 14:39:41 -08:00
Rodrigo Primo 3af024fc5c
Merge pull request #25031 from woocommerce/feature/24956
Introduced wc_get_product_object() helper
2019-12-04 16:53:04 -03:00
Rodrigo Primo aaea7b1c55
Merge pull request #25001 from woocommerce/feature/inline-notices
Initial support to inline notices
2019-12-04 16:50:40 -03:00
Rodrigo Primo fe0c1c441e
Merge pull request #24852 from JacobMC/remove_function_causing_php_error
Refactor to remove PHP 7 Error
2019-12-04 16:29:11 -03:00
Claudio Sanches e3b2d9f10c Merge branch 'master' into feature/inline-notices 2019-12-04 16:26:10 -03:00
Claudio Sanches 5fdb880831
Merge branch 'master' into feature/24956 2019-12-04 16:18:39 -03:00
Claudio Sanches 8033d5751e Changed wc_get_product_classname function name to wc_get_product_object 2019-12-04 16:15:16 -03:00
Claudio Sanches a12c25862b
Revert "Add support for '_held_for_checkout` records to prevent race conditions." 2019-12-04 16:03:05 -03:00
Claudio Sanches 0686e6f1cd
Merge pull request #25000 from woocommerce/feature/pay-button-support
Initial support for "pay button"
2019-12-04 16:02:02 -03:00
Claudio Sanches f07ed76e43 Fixed coding standards 2019-12-04 15:53:48 -03:00
Rodrigo Primo 4af9a94129 PHPCS fixes 2019-12-04 15:52:20 -03:00
Claudio Sanches b76bebab8d Improved escaping and HTML formatting
Fixed coding standards
2019-12-04 15:52:00 -03:00
Claudio Sanches adbb4fd2d3
Merge pull request #24937 from jenkoian/wc-placeholder-attrs
Add support for custom attributes to wc_placeholder_img().
2019-12-04 15:42:41 -03:00
Claudio Sanches 24c473f932
Merge pull request #24991 from woocommerce/add/new-onboarding-ab-test
Onboarding - Show the new experience to 10% of new users
2019-12-04 11:00:23 -03:00
James Collins b29f8cc1bd Deleted cached webhook data when deleting a webhook 2019-12-04 12:04:35 +08:00
Christopher Allford d3a7266848 Hid variable product types from "Add Products" search on order management page 2019-12-03 14:17:51 -08:00
Christopher Allford d1e25c9118 Added support for excluding certain product types from AJAX product searches 2019-12-03 14:14:47 -08:00
Claudio Sanches 3519b5bd5c
Merge pull request #25049 from woocommerce/fix/24953
Prevent creating products before registering related post types and taxonomies.
2019-12-03 18:02:22 -03:00
Claudio Sanches 3beb581215
Merge pull request #25074 from woocommerce/fix/24959
Added Photoswipe and jQuery-UI CSS minification
2019-12-03 17:59:51 -03:00
Claudio Sanches 258066dc2b
Merge pull request #25077 from woocommerce/update/coupon-object-update-hook
Fix second param of action hook woocommerce_coupon_object_updated_props
2019-12-03 17:53:04 -03:00
Claudio Sanches 174a722adf
Merge pull request #25131 from woocommerce/remove-wccom-site-api-permalink-require
Remove permalink reliance
2019-12-03 17:48:23 -03:00
Claudio Sanches 924109b80c
Merge pull request #25160 from bgrgicak/update/wccom-6777
Fix PHP Notice:  Undefined index: folder_exists
2019-12-03 17:48:05 -03:00
Claudio Sanches 0c486785ad
Merge pull request #25089 from woocommerce/fix/24009
Add support for '_held_for_checkout` records to prevent race conditions.
2019-12-03 17:47:22 -03:00
Claudio Sanches 3d394dd72c Use wc_get_order() instead of "new WC_Order" 2019-12-03 16:43:00 -03:00
Claudio Sanches 988b72e461 Updated filter name to woocommerce_hold_stock_for_checkout
Also fixed coding standards
2019-12-03 16:38:17 -03:00
Bero df21888b59 check if isset folder_exists in move_product step 2019-12-03 20:03:17 +01:00
Claudio Sanches 8b64471f3a Remove extra variable 2019-12-03 15:35:06 -03:00
Claudio Sanches 6a395e2485
Merge pull request #25064 from woocommerce/fix/24315
Optimize variable product duplication slug generation
2019-12-03 15:28:55 -03:00
Claudio Sanches cd4b2ac5b8
Merge pull request #25084 from woocommerce/fix/25004
Fixed manual sorting for products shortcode
2019-12-03 15:15:30 -03:00
Christopher Allford 91877b8f42 Revert "Changed the default sorting for the products shortcode to "menu_order""
This reverts commit 4a8645c9b4.
2019-12-03 09:54:23 -08:00
Claudio Sanches 15ffaeee6b
Merge pull request #25101 from woocommerce/remove-call_user_func_array
Remove a few calls to func_get_args() and call_user_func_array()
2019-12-03 14:51:43 -03:00
Rodrigo Primo 02ae8d1206
Merge pull request #24292 from woocommerce/fix/24116
Prevent PHP notices in WooCommerce widgets using Gutenberg's Legacy Widget Block
2019-12-03 14:25:05 -03:00
Rodrigo Primo 123169baa5
Merge pull request #24892 from woocommerce/update/check-textdomain
Check text domains in libraries
2019-12-03 14:12:07 -03:00
Claudio Sanches cbeb95379e Fixed PHPCS warnings and code clean up 2019-12-03 14:04:15 -03:00
Gerhard da33f216ea PHPCS fixes 2019-12-03 16:22:13 +02:00
Gerhard 1f678767a9 Introduce woocommerce_order_payment_status_changed action and logic around it when an order progresess from a pending payment to a paid status, in prep for Order status work. 2019-12-03 16:20:24 +02:00
Justas Butkus 34f54071bb Revert "Build the REST API URL before checking for wccom-site"
This reverts commit 0674b421ec.
2019-12-03 09:20:28 +02:00
Claudio Sanches 3122d28472 Fixed text domains 2019-12-02 18:38:21 -03:00
Rodrigo Primo 7edd0561d3
Merge pull request #25098 from woocommerce/fix/wccom-back-url-encode
Url encode "wccom-back" param in in-app purchase product link
2019-12-02 18:00:55 -03:00
Claudio Sanches af849fbd8a
Merge pull request #25112 from woocommerce/add/wccom-installer-api-error-code
Improve error codes for plugin installer API authentication
2019-12-02 17:46:31 -03:00
Claudio Sanches 0674b421ec Build the REST API URL before checking for wccom-site 2019-12-02 17:37:48 -03:00
Rodrigo Primo 00896ffb11
Merge pull request #25026 from woocommerce/fix/25022
Made usage tracking link in setup more transparent
2019-12-02 17:19:10 -03:00
Rodrigo Primo 10e1c61731
Merge pull request #25071 from woocommerce/add/tracks-processing-orders
Include processing orders in tracker data.
2019-12-02 17:09:57 -03:00
Claudio Sanches 2133ae9acb
Merge pull request #25132 from woocommerce/fix/24812
Added empty categories to the product exporter admin view
2019-12-02 17:01:41 -03:00
Justas Butkus e0613db386 Account for early start-up phase
Using `$wp` doesn't work in certain scenarios, where the entire system
didn't complete bootstrapping.
The raw query, after escaping the values, should sufficiently cater for
the need.
2019-12-02 21:56:42 +02:00
Rodrigo Primo c86116a001
Merge pull request #24986 from woocommerce/fix-variation-missing-image-notice
Prevent notice in PHP 7.4 when a variable product has no images
2019-12-02 16:53:41 -03:00
Rodrigo Primo 86f59dff09
Merge pull request #24961 from woocommerce/fix/admin-caching-incr
Changed wp_cache invalidation from using increment to using microtime.
2019-12-02 15:32:17 -03:00
Claudio Sanches c6b2581a0c
Merge pull request #25140 from bgrgicak/update/wccom-6777
Return folder_exists error as success
2019-12-02 15:25:34 -03:00
Rodrigo Primo ebc9551c6e
Merge pull request #24849 from woocommerce/feature/24839
Introduced woocommerce_kses_notice_allowed_tags filter
2019-12-02 15:21:59 -03:00
Bero 33d9f33fa3 folder_exists plugin info added 2019-12-02 16:11:44 +01:00
4selin 8007c7c3a3 Address in shipping calculator malformed for Canada #25094 2019-11-30 19:55:35 +03:00
Christopher Allford baeae0652c Added a check to prevent variable product parents from being added to orders. 2019-11-29 17:06:50 -08:00
Christopher Allford 928ec871fa Code style fixes 2019-11-29 17:06:33 -08:00
Bero db112275c2 Return folder_exists error as success 2019-11-29 15:40:53 +01:00
Peter Fabian fa38299ad1 Added abstraction for checking the modus of order creation. 2019-11-29 15:32:38 +01:00
Peter Fabian 9a91341334 Only update the IP address when order gets created from admin.
This should prevent potential conflicts/race conditions with callbacks from payment gateways updating the order in parallel.
2019-11-28 15:10:33 +01:00
Peter Fabian 309c48ab0e Deprecated old cache function and replaced it with a new one. 2019-11-28 14:03:57 +01:00
Christopher Allford 44aed47f4d Added empty categories to the product exporter admin view 2019-11-27 12:08:56 -08:00
Justas Butkus dbc0c5ab85 Remove permalink reliance
Some sites don't have permalinks enabled (e.g. local dev environments) and
can't use the WC site API functionality.

The `rest_get_url_prefix` elsewhere is only used in permalink context (e.g.
`get_rest_url` uses it conditionally), while `$wp->query_vars` are always
populated, even in rewrite condition, thus making them more accessible.
2019-11-27 21:45:21 +02:00
Peter Fabian 278cf53f2f
Merge pull request #25125 from woocommerce/fix/25029.3
Fix select2 style and admin screen button alignments in WP 5.3
2019-11-27 17:58:46 +01:00
Peter Fabian 8379e46772
Merge pull request #24278 from woocommerce/fix/23299
Display schema for the latest 5 reviews inside product's schema
2019-11-27 17:56:54 +01:00
Peter Fabian 8a0a5805e4
Merge pull request #25085 from woocommerce/fix/24648
Improve WC & Twenty twenty compatibility
2019-11-27 17:54:44 +01:00
Viszt Péter 3d6c3b3551 Fixes for alignment issues on the settings screen introduced by WP 5.3 2019-11-27 13:05:20 +01:00
vedanshujain aaa85ac74c Use standard way to calculate total in `get_subtotal_to_display` for consistency.
We were calculating subtotal to display slightly differently then we would have calculated subtotal in the cart. This was affecting subtotal value in invoices and in order confirmation screen.

This patch updates how we calculate subtotal to display such that we calculate in same way.
2019-11-27 04:43:23 +05:30
vedanshujain 8c2c83d488 Use `wc_round_tax_total` to make it consistent with how we round taxes.
When price includes taxes, we round down. This patch uses the correct method to round taxes depending on the mode instead of plain rounding.
2019-11-27 03:13:39 +05:30
Peter Fabian f50d8ffdd1 Fixed PHPCS. 2019-11-26 20:54:04 +01:00
vedanshujain 2ac3a0dfc8 Code standard fixes. 2019-11-26 18:36:23 +05:30
vedanshujain 5ef41f1ecc Empty cart before test to make sure everything in cart exists 2019-11-26 18:21:24 +05:30
vedanshujain 1de30e8963 Refactor so that trait don't have class specific functions. 2019-11-26 01:30:45 +05:30
Denis Dvali 4bc4faf7af Adding new explicit error codes for WC.COM installer API authentication errors. 2019-11-25 19:32:10 +03:00
vedanshujain 60cd7b3651 Refactor Order Class to use shared calculation logic.
We added a trait to move shared logic betweem Orders and Cart. This commit refactors Order class to use that shared logic.
Also adds a test for a failing case.
2019-11-25 17:53:14 +05:30
vedanshujain bee7ea4490 Add trait which contains common total calc logic.
`WC_Abstract_Order` and `WC_Cart_Totals` have their own logic to calculate totals. This means that we would have to fix in two places. This commit adds a trait which can be used to place shared logic between above two classes.
2019-11-25 17:53:14 +05:30
Paul Dechov 7f65a33fe8 Honor tax rounding preference in edit item and refund flows
The default value ('no') of the setting to round taxes at subtotal was not being honored on the Edit Order screen, which resulted in off-by-one discrepancies between the checkout item total and the edited or refunded item total.

This change is to round to the proper precision (w.r.t. the 'woocommerce_tax_round_at_subtotal' setting) for the default value of the form, as well as when the values are dynamically recomputed.
2019-11-25 17:49:43 +05:30
Denis Dvali 234bb9139f Move "no permissions" error data (error code, message, http code) to
a constant within a dedicated error messages class.
2019-11-25 13:46:07 +03:00
Peter Fabian f3892359f3 Make thumbnail larger, improve shop layout. 2019-11-24 09:51:15 +01:00
Rodrigo Primo 36cdc3cf8f Simplify and modernize WC_Emails::queue_transactional_email()
This commit replaces calls to call_user_func_array() with the spread operation.
2019-11-22 15:25:44 -03:00
Rodrigo Primo 9bebc4e69e Simplify and modernize wc_walk_category_dropdown_tree()
This commit replaces calls to call_user_func_array() and func_get_args() with the spread operation. Both to make more explicit that this is a variadic function and to do argument unpacking when calling the walker method.
2019-11-22 15:25:44 -03:00
Rodrigo Primo 193395ddf5 Simplify and modernize two methods
This commit replaces calls to call_user_func_array() with argument unpacking using the spread operator that was added in PHP 5.6 in the following methods:

- WC_Admin_Setup_Wizard::run_deferred_actions()
- WC_Mail::send()
2019-11-22 15:25:08 -03:00
Peter Fabian 9c74bf79ea Rather than setting the background in CSS, use the color picked in the
customizer.

This also fixes the background in the block editor and tinymce.
2019-11-22 15:37:54 +01:00
Denis Dvali 0810c4a027 Url encode value of "wccom-back" GET param in product links on in-app marketplace. 2019-11-22 15:02:58 +03:00
Justin Shreve 1fabf2f145 Handle PR feedback 2019-11-21 12:23:05 -05:00
Christopher Allford a0c4d54b4a Updated NonceVerification code sniff suppressions
The suppressions come in two flavors, a warning and an error. The suppressions have been updated to respect those states accordingly.
2019-11-21 09:19:56 -08:00
Justin Shreve ff68f30c2c Update opt-in value to 'yes' 2019-11-21 12:00:05 -05:00
Justin Shreve 18925f2218 Adds an a/b test for the new onboarding experience 2019-11-21 12:00:04 -05:00
Christopher Allford 8066f43188 Merge branch 'master' into fix/25004 2019-11-21 08:14:03 -08:00
Rodrigo Primo e292e95542 Update WPCS rule name that was change after an update 2019-11-21 12:17:10 -03:00
Rodrigo Primo 49b1294494 Simplify and modernize wc_print_r()
Replaces a call to call_user_func_array() with argument unpacking using the spread operator.
2019-11-21 12:04:08 -03:00
Rodrigo Primo 6cd08dc7bd Use the spread operator instead of call_user_func_array() in WC_Data_Store
This commit replaces a call to call_user_func_array() in WC_Data_Store::__call() with argument unpacking using the spread operator which was introduced in PHP 5.6. This change should improve WooCommerce performance a tiny bit since WC_Data_Store::__call() is called somewhat frequently and call_user_func_array() has a bad performance reputation. I added one unit test to make sure this change doesn't break the functionality of the altered method.
2019-11-21 11:52:47 -03:00
vedanshujain 70a54d0639 Added Unit Tests for `held_for_checkout` records. 2019-11-21 18:11:37 +05:30
vedanshujain 882b441bfb Remove order_id param because order is not pending (see desc).
In the query inside method `wc_get_hold_stock_quantity` we have a clause of `status = wc_pending`. Call for this method here is already nested inside an `if` condition which checks that order is not pending. So this parameter is not needed here and only adds complexity to the final query.
2019-11-21 13:49:49 +05:30
Jacob McKinney 0d35e2e5eb Removed variable and set exception paramater to array containing the order id. 2019-11-20 22:52:04 -06:00
Christopher Allford 8fd99a74b9 Added descriptive text to the usage tracking documentation link in the setup wizard 2019-11-20 12:47:56 -08:00
vedanshujain e87024bb81 Add support for '_held_for_checkout` records to prevent race conditions.
When creating an order, if manage inventory is enabled then add a `_held_for_checkout` record with a expiry timestamp embedded. This is added in an atomic manner along with making a check whether we have current stock or not.
This record is removed when order status goes to either `processing` or `completed`.
2019-11-21 01:21:08 +05:30
Christopher Allford 661f2b7722
Added a comment clarifying the suffix substring when checking slug uniqueness 2019-11-20 10:02:34 -08:00
Christopher Allford 55f49ae26a Added an appropriate @since tag to the generate_unique_slug method 2019-11-20 09:55:35 -08:00
Christopher Allford 4a8645c9b4 Changed the default sorting for the products shortcode to "menu_order"
In order to take advantage of the "Sorting" admin feature, we need to make use of the menu order sorting. Initially we were using the title, which would ignore whatever the user set.
2019-11-20 09:19:54 -08:00
Christopher Allford b12574e9e4 Fixed code sniffs 2019-11-20 08:16:19 -08:00
Christopher Allford 358825f006 Added a transient clear when product ordering is changed 2019-11-20 06:50:32 -08:00
Gerhard 2a4a1a5842 Remove unused $updated_props variable 2019-11-20 14:47:44 +02:00
Michael Weichselgartner 2092da00c4 Fix second param of action hook woocommerce_coupon_object_updated_props
Changed second param from $updated_props to $this->updated_props
2019-11-20 14:42:09 +02:00
Gerhard Potgieter 95a0a4c0a4
Merge pull request #24930 from arnofo/feature/empty-cart-action-new-parameter
pass the clear persistent cart variable to the cart emptied actions
2019-11-20 12:52:36 +02:00
Gerhard Potgieter 3e116716cd
Merge pull request #24944 from AdelDima/patch-1
Update abstract-wc-csv-batch-exporter.php
2019-11-20 12:33:40 +02:00
Christopher Allford c2bc312e97 Added Photoswipe and jQuery-UI CSS minification 2019-11-19 10:40:28 -08:00
Peter Fabian daf4a53acf Make single images larger. 2019-11-19 19:36:10 +01:00
Peter Fabian bc04b8f45b Added basic declaration for WC support to Twentytwenty. 2019-11-19 17:58:16 +01:00
Rodrigo Primo 81187dc359
Merge pull request #25062 from itzmekhokan/fix/25056
Fixed issue #25056
2019-11-19 11:58:25 -03:00
Gerhard 3581a6c578 Include tracker fields for processing order totals and dates. 2019-11-19 15:10:43 +02:00
Christopher Allford 753f39ff27 Added unique slug generation for variable product duplication
The standard wp_unique_post_slug() function will run one query per name collision, leading to a large number of queries being made when a product template is duplicated repeatedly. We can avoid this by doing the unique generation ourselves.
2019-11-18 13:49:41 -08:00
Christopher Allford 7f44e23813 Resolved all of the phpcs errors 2019-11-18 13:43:03 -08:00
Rodrigo Primo 8675e26c28
Merge pull request #24884 from woocommerce/fix/24881
Return correct country code if default location isn't found
2019-11-18 17:10:35 -03:00
Rodrigo Primo 28bc4b242c
Merge pull request #25028 from woocommerce/feature/25019
Introduced hooks before and after settings form
2019-11-18 16:49:11 -03:00
Rodrigo Primo ec37b2bb27
Merge pull request #25041 from woocommerce/fix/25039
Fixed "Add payment method" menu highlight in My Account page
2019-11-18 15:57:52 -03:00
Rodrigo Primo 0a5ca3f144
Merge pull request #24756 from woocommerce/fix/24723
Changed thank you page text to follow PayPal guidelines
2019-11-18 15:29:59 -03:00
Claudio Sanches dd97b00815 Added "reviewBody" to review schema
Update get_comment_* functions args
2019-11-18 11:47:56 -03:00
khokan-cn 55e2a0e199 Fixed issue #25056 2019-11-18 18:03:59 +05:30
Gerhard Potgieter 822d1ebb40
Merge pull request #24879 from woocommerce/add_order_note_before_do_action
Add order note before do_action() to maintain order of notes
2019-11-18 14:02:03 +02:00
Gerhard Potgieter aaee28fe1e
Merge pull request #24798 from woocommerce/fix/24792
Do not set tracking cookie on ajax requests
2019-11-18 14:00:21 +02:00
Peter Fabian 38db309e07 Updated documentation. 2019-11-15 16:00:51 +01:00
Peter Fabian 45ca8eb867 Prevent creating products before registering related post types and taxonomies. 2019-11-15 15:50:18 +01:00
Rodrigo Primo dd54b73280
Merge pull request #24870 from woocommerce/update/formatted-address-filters
Pass "$this" to Order's formatted address filters
2019-11-14 17:38:12 -03:00
Rodrigo Primo 5ee7197c0f Fix PHPCS errors using PHPCBF 2019-11-14 17:32:24 -03:00
Rodrigo Primo 967fc364be
Merge pull request #24846 from woocommerce/fix/tracker-php-warning
[Tracker] Prevent PHP warning when order date is empty [part 2]
2019-11-14 17:28:15 -03:00
Claudio Sanches a7ba80a1f7 Fixed My Account menu highlight when adding payment methods 2019-11-14 09:51:49 -03:00
Claudio Sanches ba0773d12e Apply wc_get_product_classname() in the current code base 2019-11-13 15:30:09 -03:00
Claudio Sanches 24c5bf41c8 Set the ID in the current class 2019-11-13 15:30:06 -03:00
Claudio Sanches b7514b0bfc Fixed coding standards 2019-11-13 15:30:00 -03:00
Claudio Sanches 24560f93bf Introduced wc_get_product_classname function 2019-11-13 15:29:55 -03:00
Claudio Sanches 0f28a61910
Merge pull request #25017 from itzmekhokan/add/25016
woocommerce_upsells_display order filter added
2019-11-13 13:38:42 -03:00
Claudio Sanches 0624894462 Introduced hooks before and after settings form 2019-11-13 13:20:18 -03:00
Christopher Allford 357cd28b77 Made the usage tracking information link in the setup wizard more transparent 2019-11-12 13:27:31 -08:00
itzmekhokan 0716648c28 woocommerce_upsells_display order filter added 2019-11-11 22:35:32 +05:30
Luminus Olumide Alabi 36821c88a8 Add 8 more countries to the list 2019-11-09 10:54:09 +00:00
Luminus Olumide Alabi a09efed82e Update the list of non-EU countries using VAT 2019-11-08 17:14:18 +00:00
Claudio Sanches d8fed95403 Convert all notice data into HTML data 2019-11-07 20:34:49 -03:00
Claudio Sanches af4ef7ea0d Pass input ID to wc_add_notice() 2019-11-07 20:25:06 -03:00
Claudio Sanches 7024fc8483 Change notices to accept extra data 2019-11-07 20:23:30 -03:00
Claudio Sanches fdd391e10e Introduced wc_get_pay_buttons() function 2019-11-07 17:23:38 -03:00
Claudio Sanches d53b73b56c Added support for "pay button" feature 2019-11-07 17:22:33 -03:00
Luminus Olumide Alabi f8709ab83f Account for non-EU countries that collect VAT and rename tax to VAT on the frontend for them 2019-11-07 19:48:05 +00:00
David Stone 0d5c697123 Check that is really an attachment and not the global $post object.
Prevents Notices of Trying to access array offset on value of type bool because $src variables will be false.
2019-11-06 00:26:10 -07:00
Peter Fabian b3115bccc5 Changed caching invalidation by using increment to using microtime.
This is a similar problem that WP core faced in https://core.trac.wordpress.org/ticket/23448.
2019-11-03 14:14:53 +01:00
Peter Fabian a2cd974d79 Don't display Downloads section on refund emails. 2019-11-01 15:51:30 +01:00
itzmekhokan 3abae6db1b Fixed coding standards for this comment. 2019-11-01 15:35:23 +01:00
itzmekhokan 8b99e00b2d Fixed wordpress coding standard 2019-11-01 15:35:08 +01:00
itzmekhokan e9833c1ea0 Fixed issue #24430 2019-11-01 15:34:50 +01:00
Adel Tahri 859a041e80
Update abstract-wc-csv-batch-exporter.php
Update "Exit if accessed directly"
2019-10-31 15:58:54 +01:00