Commit Graph

19405 Commits

Author SHA1 Message Date
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
Ian Jenkins 2340f269cf Add support for custom attributes to wc_placeholder_img().
When displaying a list of images you often want a specific class to be
attached to each image, therefore you pass through a custom class using
the attr parameter. Unfortunately this doesn't get passed through to a
placeholder image should one be needed. This means that, for example, if
you're custom class center an image or something, it won't be honoured
for placeholders, which can lead to some wonky image listings.

You can work around this currently by leverging the
`woocommerce_product_get_image` filter, but it's a bit gnarly as you
need to do some regexing or string splitting or something and checking
class names and what not. This provides a much easier way, by
supporting custom attrs on placeholder images as is the case for non
placehodler images.
2019-10-30 15:08:19 +00:00
Gerhard 0cda53580f Do not run send_frame_options_header when on the customizer 2019-10-30 15:37:04 +02:00
Gerhard 40faecc8e7 Add show_invalid_variations_notice filter to hide the invalid variations notice. 2019-10-30 15:17:31 +02:00
Arnaud Faucon e8b1d617a1 pass the clear persistent cart variable to the cart emptied actions 2019-10-30 09:14:45 +01:00
Kathy Daring e55af6431c Add woocommerce_admin_process_variation_object before $variation->save() 2019-10-29 11:50:52 -06:00
vedanshujain 4a375e3e9c Revert PR 24526.
This reverts PR 24526 because in the refund mail this completely removes the downloadble product. We should instead only remove the downloadble link and keep the details of the product.
2019-10-27 18:14:44 +02:00
Claudio Sanches f49f516077
Merge pull request #24848 from woocommerce/fix/24838
Remove selectWoo as script dependency since allow to disable selectWoo
2019-10-25 06:59:08 -03:00
Vedanshu Jain 8b04f37d22
Merge pull request #24810 from woocommerce/add/in-app-purchases-subs-cache-cleaning
Clean subscriptions' cache for auto-install flow
2019-10-25 10:27:47 +04:00
Claudio Sanches 2c965fcd4f Fixed translatable string, and duplication in WP_Background_Process 2019-10-24 10:22:43 -03:00
Menaka S 0ec7da3925 Add new function WC_Order::add_status_transition_note 2019-10-24 12:53:42 +05:30
Claudio Sanches 9b87f512d2 Return correct country key if default location not found 2019-10-23 14:27:11 -03:00
Claudio Sanches 237a047e26 Removed itemReviewed since is already nested to Product schema 2019-10-22 18:00:25 -03:00
Menaka S 3f99d2264b Add order note before do_action() is called so that the order of order notes is maintained 2019-10-22 11:13:15 +05:30
Akshaya Rane 19e3131d5e Modified comment message 2019-10-22 10:56:08 +05:30
Akshaya Rane b8cdeb2164 Fixed standards error 2019-10-22 00:21:44 +05:30
Akshaya Rane 8ed29fad7f refs #24638 Fixed Stock status update on Bulk Edit 2019-10-21 22:45:05 +05:30
Claudio Sanches c8a7b341fc Included order object to formatted address filters 2019-10-18 18:24:38 -03:00
Julia Amosova 14e5d6b3ea Capitalize `T` in `Move to trash` on order page 2019-10-18 14:44:47 +01:00
tgglv 386aedd73d Move flushing subscriptions' cache upper to run in once per install
Relates: https://github.com/Automattic/woocommerce.com/issues/6535
2019-10-18 10:36:30 +05:00
Rodrigo Primo bb4ded8324 Update links to bug report and feature request issue templates
The name of the bug report and feature request issue templates was
changed in #24844. This commit updates two places where links pointing
to those templates were outdated.
2019-10-17 16:28:01 -03:00
tgglv b3c5dec0e7 Merge remote-tracking branch 'origin/master' into add/in-app-purchases-subs-cache-cleaning 2019-10-17 09:52:41 +05:00
tgglv 34e873ca33 Move WC Helper subscriptions' cache cleaning before asking for subs
Relates: https://github.com/Automattic/woocommerce.com/issues/6535
2019-10-17 09:52:00 +05:00
Claudio Sanches 0112ee58a3
Merge pull request #24843 from sisou/patch-2
Use full year and 24h format in order note tooltip
2019-10-16 17:05:58 -03:00
Claudio Sanches 8a85136561 Introduced woocommerce_kses_notice_allowed_tags filter 2019-10-16 16:45:50 -03:00
Claudio Sanches 9f01e546fb Remove selectWoo as script dependency since allow to disable selectWoo 2019-10-16 16:26:47 -03:00
Claudio Sanches ff80f08353 Fixed coding standards 2019-10-16 15:49:03 -03:00
Claudio Sanches 3604c4939a Prevent PHP warning in tracker 2019-10-16 15:47:32 -03:00
Claudio Sanches 63c2bdafd2
Merge pull request #24793 from xristos3490/fix/24791
Fix/24791
2019-10-16 15:41:51 -03:00
tgglv 2ca1aeac42 Merge remote-tracking branch 'origin/master' into add/in-app-purchases-subs-cache-cleaning 2019-10-16 20:14:54 +05:00
Sören Schwert 8d0e37e6ca
Use full year and 24h format in order note tooltip 2019-10-16 14:59:36 +02:00
Jacob McKinney 34036d8f7d Replaced call to func_get_args() in WC_Order_Factory::get_order() with a variable to store the original passed arguments. 2019-10-15 22:11:44 -05:00
vedanshujain 451139e68e Use MIN_PHP and MIN_WP constants in PHP_MIN_REQUIREMENT value so that we don't have to change it everytime. 2019-10-15 16:07:03 +05:30
vedanshujain ec490409ea Refactor to use constant so that we have easy way to reset admin notice version 2019-10-15 16:07:02 +05:30
xristos3490 9eafb785e9 Cleanup 2019-10-15 12:37:21 +03:00
xristos3490 16dac4864b Add use of wp_unslash 2019-10-15 12:36:14 +03:00
tgglv 2c1663446b Run WC Helper subs cache cleaning before getting product info
Relates: https://github.com/Automattic/woocommerce.com/issues/6535
2019-10-11 18:01:09 +05:00
tgglv c277696b65 Make WCCOM helper subs cache cleaning public
Relates: https://github.com/Automattic/woocommerce.com/issues/6535
2019-10-11 17:59:39 +05:00
Gerhard e22a024473 Cookies should only be set in wp-admin, avoid setting when doing ajax requests since that is seen as an admin request as well. 2019-10-10 08:29:10 +02:00
Gerhard badb135bd6 Add 404 check when creating add to cart url for single products. 2019-10-09 12:44:47 +02:00
Claudio Sanches af59ab4a2a Exit after redirect 2019-10-09 12:35:24 +02:00
xristos3490 4e2205e17d Fix file perms 2019-10-09 11:26:32 +03:00
xristos3490 d776c19dd4 Replace stripslashes with stripslashes_deep on non-scalar setting values 2019-10-09 11:25:41 +03:00
Gerhard Potgieter af01e9374d
Merge pull request #24759 from rafsuntaskin/patch-1
Added delimiter property with filter
2019-10-08 11:23:12 +02:00
Gerhard Potgieter 2d796f825e
Merge pull request #24760 from jorostoyanov/jorostoyanov-patch-1
Add woocommerce_after_order_refund_item_name hook
2019-10-08 11:21:51 +02:00
Rafsun Chowdhury 59c503b1c7
Update with suggested review changes 2019-10-05 19:47:16 +06:00
vedanshujain 20e1584654 Update `$version` to `3.8.0` because its used for checking DB Upgrades 2019-10-03 12:11:31 +05:30
vedanshujain cd2a63c293 Update version to 3.8-beta.1 2019-10-03 12:07:16 +05:30
Joro Stoyanov 5c55eea31c
Add woocommerce_after_order_refund_item_name hook 2019-10-03 08:53:10 +03:00
Rafsun Chowdhury b3d21cb8ae
Added delimiter property with filter
Added support for custom delimiter #24579
2019-10-03 08:43:04 +06:00
Timothy Jacobs b9bb4a7c6a
Use a separate first parameter for the WP_Error
This matches the pattern used elsewhere in WooCommerce and allows access to the original `WC_Product` object if an error is to be returned.
2019-10-02 15:01:09 -04:00
Vedanshu Jain f36580a77e
Merge pull request #24757 from woocommerce/fix/display-post-type-count
Fixed post type count only when avaliable in REST API
2019-10-03 00:27:26 +05:30
Vedanshu Jain cb12010627
Merge pull request #24295 from woocommerce/fix/24096
Remove %20 from fields in External Products form
2019-10-03 00:15:52 +05:30
Claudio Sanches 78452a3f0f Fixed post type count only when avaliable in REST API 2019-10-02 15:03:46 -03:00
Claudio Sanches 2453dc9fe1 Fixed check for the method 2019-10-02 14:36:05 -03:00
Claudio Sanches 4c023c5e8a Changed thank you page text to follow PayPal guidelines
Also fixed coding standards
2019-10-02 14:21:12 -03:00
Claudio Sanches 3c9b9ac6a0 Revert changes from PayPal 2019-10-02 14:20:13 -03:00
Claudio Sanches 20ee6c7aed Fixed coding standards 2019-10-02 14:18:03 -03:00
Claudio Sanches b655af2e3b Changed thank you page text to follow PayPal guidelines 2019-10-02 14:17:25 -03:00
Vedanshu Jain c671e89769
Merge pull request #24750 from woocommerce/fix/24667
Handle 0 attribute value for variations correctly.
2019-10-02 21:28:23 +05:30
Peter Fabian 3cbea2a902 Simplify 'any-check' to only include empty string. 2019-10-02 16:58:45 +02:00
Claudio Sanches 71d7ac5741 Removed duplicated include of WC_Admin_Importers 2019-10-02 11:35:27 -03:00
Claudio Sanches 830553accd Fixed coding standards 2019-10-02 11:21:19 -03:00
Peter Fabian 4cfe22eef9 Made the attribute value comparison strict. 2019-10-02 16:05:44 +02:00
Gerhard Potgieter c01a0916c3
Merge pull request #24559 from itzmekhokan/fix/24458
Fix backordered product missing backordered label on frontend
2019-10-02 15:28:26 +02:00
Vedanshu Jain f15353cce5
Merge pull request #24745 from woocommerce/fix/24489
Also consider refunded item quantity while increasing stock.
2019-10-02 18:39:03 +05:30
Peter Fabian 258e49a8de Allow attribute value 0 to work correctly with variations (especially add to cart and select variation). 2019-10-02 14:58:40 +02:00
Vedanshu Jain 98f8cf3c2c
Merge pull request #24741 from woocommerce/add-filter-to-get-european-union-countries
Add filter to the method WC_Countries::get_european_union_countries()
2019-10-02 18:26:01 +05:30