Commit Graph

1563 Commits

Author SHA1 Message Date
Peter Fabian 147266f44f Updates to reflect PR feedback. 2020-02-04 21:43:29 +01:00
Christopher Allford 1d1413b4ee Replaced direct access of many constants with the Constants library 2020-01-31 22:18:47 -08:00
Peter Fabian 248e69960b Merge branch 'master' into update/order-detail-summary 2020-01-30 17:41:32 +01:00
Peter Fabian ec8d477b09 PHPCS fix. 2020-01-30 17:09:33 +01:00
Christopher Allford 6ad091a9b7 Changed all of the constant accesses into corresponding Automattic\Jetpack\Constants usages 2020-01-28 21:21:29 -08:00
Peter Fabian 1f9cd9eae9
Merge pull request #24066 from malviyaritesh/fix/24062
Filter meta value even if key not found
2020-01-23 14:59:39 +01:00
Claudio Sanches 85a077b939 Coupon race condition prevention 2020-01-06 19:44:24 -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
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 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 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 d25178b793 rename fee method again 2019-12-18 22:19:34 -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
Matt Harvey 4eeec4705d Abstract fee calculation and expose as method to abstract Object class. 2019-12-18 20:58:39 -08:00
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
Francesco Leanza 59af851069
Merge branch 'master' into fix/25091 2019-12-09 16:46:02 +01: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
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
Rodrigo Primo 4af9a94129 PHPCS fixes 2019-12-04 15:52:20 -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
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
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 1de30e8963 Refactor so that trait don't have class specific functions. 2019-11-26 01:30:45 +05:30
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
Francesco Leanza dd3427958b Fixed order totals calculation if it contains taxable and non-taxable products and percentage coupons
Added PHPUnit tests
2019-11-21 11:28:22 +01:00
Claudio Sanches d53b73b56c Added support for "pay button" feature 2019-11-07 17:22:33 -03: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 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 9641963001
Merge pull request #24740 from woocommerce/feature/24654
Make WC_Abstract_Order::recalculate_coupons() public
2019-10-02 15:56:36 +05:30
Vedanshu Jain 2188f9b788
Merge pull request #24341 from woocommerce/fix/24238
Check for max discount to be -ve to prevent overwriting fee.
2019-10-02 14:32:15 +05:30
Claudio Sanches 8c88cd9b6f Make WC_Abstract_Order::recalculate_coupons() public 2019-10-01 17:19:33 -03:00
Rodrigo Primo 4550bb6661
Merge pull request #24544 from woocommerce/fix/checkout-permalink
Prefer wc_get_checkout_url() instead of wc_get_page_permalink( 'checkout' )
2019-09-25 20:38:38 -03:00
Ayesh Karunaratne eec96d367c
Fix a typo in WC Payment Gateway abstract '3rd party gateway size' 2019-09-18 10:22:16 +05:30
vedanshujain 6f2d64dcb4 Check for max discount to be -ve to prevent overwriting fee.
When we refund fee and some other line item whose value is more than fee in a single requst, value of line item will overwrite refund fee.

This is because where we check to make sure that we do not discount more than total possible value (to prevent negative total), we do not account for the fact that sometimes the cart could contain refund items. In those cases max_discount * -1 will always be larges then fees total.

This commit adds a check to make sure that max discount * -1 is indeed negative before overwriting fee total.
2019-09-03 20:45:33 +05:30
itzmekhokan dcf3d71c79 Fixed issue #24458 2019-09-02 12:40:44 +05:30
Claudio Sanches e814105728 Prefer wc_get_checkout_url() instead of wc_get_page_permalink( 'checkout' ) 2019-08-30 13:06:50 -03:00
Claudio Sanches 78c5a37b4b Prevent PHP notices in WooCommerce widgets using Gutenberg's Legacy Widget Block 2019-08-01 14:43:59 -03:00
Gerhard Potgieter 52f1eb4060
Revert "Prevent negative prices on products" 2019-07-15 08:50:11 +02:00
Claudio Sanches 77191a97f8
Merge pull request #23705 from woocommerce/fix/23696
Prevent negative prices on products
2019-07-12 12:56:34 -03:00
Mike Jolley c928188831 Update from master 2019-07-10 12:57:02 +01:00
Claudio Sanches 01f5a09d27
Merge pull request #23338 from woocommerce/update/23335
More useful actions in during CRUD save events
2019-07-08 18:56:14 -03:00
rmalviya b5447cd060 Filter meta value even if key not found
Resolves #24062.
2019-07-03 22:25:51 +05:30
Claudio Sanches deec93f8ca
Merge pull request #23769 from mch0lic/master
Forward query (GET) parameters when executing a batch REST API request.
2019-06-24 12:39:36 -03:00
Mike Jolley 950f31a9e0 Remove abstract rest class that is in the package 2019-06-21 13:40:10 +01:00
Mike Jolley 7451659b24 Delete REST API abstract classes 2019-06-19 11:49:28 +01:00
Jared Burke 332c94c13a Fix fatal error when applying a virtual coupon to an order placed by a guest 2019-06-06 15:37:08 -05:00
Ajay Ghaghretiya c9bcce3a31 #23850 Fixed the coupon usage limit issue when apply coupon from admin panel (#23851)
* fix the coupon usage limit issue

* fix the if condition for the usage limit

* fixed coding standard

* fix the if conditions for coupon usage limit per user
2019-06-03 10:47:32 -03:00
Gerhard Potgieter b2ed079520 Manual orders coupon usage limits by email (#23775)
* Add functionality to wp-admin order to check for coupon usage based on email addresses, similar to how WC_Cart handles this seperately, included unit tests.

* Only do the coupon by email usage check if order is from a guest. Fix issue with unit test.
2019-05-27 11:45:29 -03:00
Claudio Sanches 28d49031d3
Merge pull request #23695 from james-allan/calc-base-zip-city
Calculate base store taxes including the store's zip and city
2019-05-22 20:49:57 -03:00
sergey.r 98586f10f4 Catch WC_REST_Exception while calling do_action( "woocommerce_rest_insert_{$this->post_type}_object" 2019-05-22 13:00:34 +03:00
Mindaugas Budreika d67381148a Forward query (GET) parameters when executing a batch REST API request. 2019-05-20 14:24:48 +04:00
Boris Djemrovski c45e06a130 get_formatted_line_subtotal takes Item object instead of an array 2019-05-16 12:04:34 +02:00
Gerhard Potgieter 30ce9ff6a3
Merge pull request #23689 from woocommerce/add/get_used_coupon_codes
Deprecate get_used_coupons in favor of get_coupon_codes
2019-05-15 15:34:40 +02:00
James Allan 6069854d9f Replace wc_get_base_location() with individual getters 2019-05-15 15:43:15 +10:00
Claudio Sanches b68b35336f Prevent negative prices for products 2019-05-14 13:22:06 -03:00
Gerhard Potgieter b7facc0674
Merge pull request #23663 from danielbitzer/add_get_coupons_method
Add WC_Abstract_Order::get_coupons()
2019-05-14 11:35:21 +02:00
Gerhard efe3e4c5d6 Move get_used_coupons to WC_Abstract_Legacy_Order and renamed get_used_coupon_codes to get_coupon_codes. 2019-05-14 11:19:48 +02:00
Daniel Bitzer 0705730121 Add WC_Abstract_Order::get_coupons() 2019-05-14 15:46:48 +09:30
James Allan 45b461639e Calculate base store taxes including the store's zip and city 2019-05-14 13:43:57 +10:00
Gerhard 31acfbcb4a Deprecate WC_Abstract_Order::get_used_coupons in favor of WC_Abstract_Order::get_used_coupon_codes, this reflects the actual data being returned better. 2019-05-13 14:40:54 +02:00
Nathan Dawson 6088f7c353 Fixes #23578 - Check taxes are enabled before adding totals row to orders 2019-05-01 22:05:46 +01:00
Mike Jolley 47eee0143f Restore order note on exception 2019-04-17 13:07:52 +01:00
Mike Jolley a0d4f6174c Consistent CRUD classes with before/after save hooks 2019-04-17 12:47:35 +01:00
Timmy Crawford e1c09b4609
Merge pull request #22973 from woocommerce/update/22545
Revised sale start/end date save logic
2019-03-14 17:53:40 -07:00
Mike Jolley cd92c68476 fix offset check 2019-03-11 15:00:42 +00:00
Mike Jolley c56d3ede9f Remove day offsets 2019-03-08 13:35:30 +00:00
Mike Jolley 76fabc9b7e
Merge pull request #22771 from martinsnajdr/flatrate-shipping-cost-filters
Shipping method get_option function filters
2019-03-04 13:49:22 +00:00
Martin Šnajdr 4f9d47ea25 PR requested changes: shipping instance option filter moved to get_instance_option function, filters renamed. 2019-02-27 17:31:51 +01:00
Mike Jolley 9529d6eee7 Use total, not amount, when calculating fees 2019-02-20 16:22:20 +00:00
Martin Snajdr 1c678372d4 Shipping cost filters removed & added two additional parameters get_option function filters 2019-02-20 15:59:40 +01:00
Martin Snajdr dfd4f4ea6d Filters added to shipping method function get_option 2019-02-20 11:54:59 +01:00
Mike Jolley b8921f9fba
Merge pull request #22420 from woocommerce/refactor/tax-rounding-methods
Refactor tax rounding methods for consistency
2019-02-12 16:13:58 +00:00
Mike Jolley 889cf64ac4 Merge branch 'performance/wc-get-product-class' 2019-02-07 13:34:18 +00:00
Claudiu Lodromanean 2d2d7a7053
Merge pull request #22613 from woocommerce/performance/set-props
Performance: `set_props`
2019-02-06 10:02:54 -08:00
Mike Jolley a4acf5643a
Merge pull request #22533 from woocommerce/fix/21265
Exclude `paged` from price slider
2019-02-04 10:18:51 +00:00
Mike Jolley 8b7414cfb5 Apply fix to rating filter 2019-02-01 14:13:37 +00:00
Mike Jolley 1e3e5a4528
Merge pull request #22580 from woocommerce/fix/22515
recalculate coupons after adding coupon to order
2019-01-31 14:38:59 +00:00
Mike Jolley 5e9253980b
Merge pull request #22566 from jenkoian/change-for-network-media-library-compatibility
Remove possibe superfluous wp_attachment_is_image() filter.
2019-01-31 14:20:35 +00:00
Mike Jolley 74cd1ced37 Merge branch 'fix/20710' 2019-01-31 13:37:02 +00:00
Mike Jolley 77eba86818 Get rid of reflection method to speed up set_props 2019-01-30 16:21:06 +00:00
Mike Jolley 9a8d11e9f6 phpcs 2019-01-30 16:20:49 +00:00
Mike Jolley 7eda1bb412 Only use WP Error when needed 2019-01-30 16:20:41 +00:00
Mike Jolley 59e0867afe Add missing post_password prop 2019-01-30 16:01:54 +00:00
Ron Rennick 3f24ad8d4c phpcs sniff fixes for abstract-wc-order.php 2019-01-27 11:38:08 -04:00
Ron Rennick d32f189f27 recalculate coupons after adding to order 2019-01-26 23:57:32 -04:00
Ian Jenkins d7e32e1c77 Remove possibe superfluous wp_attachment_is_image() filter.
The reason to remove this is that this function uses get_post() under
the hood which always assumes the attachment is on the same site, where
as if you're using a plugin such as
https://github.com/humanmade/network-media-library it might not be.

I'm not sure if there's any adverse affects of not doing this filtering,
from my testing, it still seems to work in the same way.
2019-01-25 15:11:58 +00:00
claudiulodro 8078e6bfc2 Simplified title check that works on all wc widgets 2019-01-24 10:47:05 -08:00
Ron Rennick 8709351994 update function name to `wc_attribute_taxonomy_slug` 2019-01-23 11:11:27 -04:00
Ron Rennick b868b484f7 fix merge conflicts 2019-01-23 10:53:42 -04:00
Mike Jolley 084dab4553
Merge pull request #22476 from woocommerce/fix/22470
Hide ratings when reviews are disabled
2019-01-22 13:32:22 +00:00
Mike Jolley 5cb60b840c
Merge pull request #21859 from ChromeOrange/master
Add filter to save_payment_method_checkbox
2019-01-22 12:05:42 +00:00
Gerhard 98948a2faf PHPCS fixes 2019-01-17 08:32:42 +02:00
Mike Jolley 50a86a1a33
Merge pull request #21562 from terence1990/feature/rest-api-crud-params-filter
Add a filter to WC_REST_CRUD_Controller::get_collection_params method to allow developers to change params
2019-01-16 11:32:03 +00:00
Mike Jolley 42f77950bd Make total recalc use unrounded tax values to fix test WC_Tests_Order_Coupons::test_add_coupon_to_order 2019-01-11 13:17:06 +00:00
Mike Jolley 28ac24d870 update_taxes can safely round all values, as lines would already be rounded if applicable 2019-01-11 13:12:31 +00:00
Mike Jolley 50ca24e5d9 set_coupon_discount_amounts should support woocommerce_tax_round_at_subtotal 2019-01-11 13:09:20 +00:00
Mike Jolley caffa319f4 set_item_discount_amounts should support woocommerce_tax_round_at_subtotal 2019-01-11 13:06:26 +00:00