Commit Graph

1303 Commits

Author SHA1 Message Date
Mike Jolley bc7484f473 Merge branch 'master' into pr/16959
# Conflicts:
#	includes/abstracts/abstract-wc-order.php
2017-10-31 13:33:09 +00:00
Mike Jolley 9521a0ba1f Improve tax class check and handle non-taxable items 2017-10-30 13:23:15 +00:00
Ewout Fernhout 029e93fd4f
Use item tax class rather than product tax class for getter
Fixes #17449
2017-10-30 11:04:56 +01:00
Mike Jolley e72a297842 Break up logic so is callable is only checked on internal meta keys 2017-10-27 16:23:05 +01:00
Cesar Rodas 32da25c4f1 Improved "is_internal_meta_key"
Improved is_internal_meta_key to check if the meta_key has a setter or a getter before returning TRUE and calling doing_it_wrong
2017-10-23 22:22:31 -03:00
Mike Jolley 39443d23e5 Fix meta data clone for products 2017-10-16 21:05:29 -07:00
Rodrigo Primo fa0e5569f8 Add 'parent' to the list of valid tax classes for product variations
Commit d9f9e74bd added a check to `WC_Product::set_tax_class()` to only accept valid tax classes, but this created a bug for product variations as this type of product has an extra tax class called 'parent'.

This commit fixes this problem by adding a new method to `WC_Product` that returns a list of valid tax classes. `WC_Product_Variation` then override this method, returning another list including the tax class 'parent'.

Fixes #17024
2017-10-09 16:20:03 -03:00
Rodrigo Primo d769ef24f2 Coding standards fixes 2017-10-09 16:19:24 -03:00
Claudio Sanches b25e08e1cc Merge pull request #17058 from woocommerce/fix/17047-alt
Fix meta data returns in API using JsonSerializable
2017-10-04 11:48:46 -03:00
Mike Jolley 240a321dd0 Revert get_meta_data changes and return array of WC_Meta_Data objects 2017-10-04 14:12:43 +01:00
victorfreitas 9dcfe4883a Fix error when invalid parent term 2017-10-03 17:59:58 -03:00
Mike Jolley 7460189752 Handle WC_Meta_Data in get_data() and API
Fixes #17003
2017-10-02 13:12:33 +01:00
Diego Zanella e93ad155df Added support for "is_vat_exempt" flag on orders
Added check for the presence of the "is_vat_exempt" meta against an order. When present, such information is used during tax calculation to remove the taxes applied to an order.
2017-09-27 18:56:11 +01:00
Mike Jolley 00b8e395f8 Unused variable 2017-09-27 17:12:50 +01:00
Diego Zanella 5e23770d74 Added actions before calculatins order totals and taxes 2017-09-27 16:07:02 +01:00
Mike Jolley 5dcde7b093 Use discounts class for validation logic 2017-09-27 12:54:04 +01:00
Mike Jolley 25337b21ce If sorting by date in the REST API, fallback to ID
Ref: #16911
2017-09-25 13:31:25 +01:00
Brent Shepherd 81b9160973 Add offending key to error message 2017-09-15 15:58:34 -07:00
Brent Shepherd f404affff4 Tweak internal meta notice
To remove ambiguity with accessing properties via $object->meta_key
syntax, which was deprecated with WC 3.0.
2017-09-15 15:48:53 -07:00
Mike Jolley d09d7d1358 wc_get_relative_url/wc_is_external_resource helpers 2017-09-08 12:20:03 +01:00
Mike Jolley ee3ea1b739 Only make http resources relative - https can be left alone.
Closes #16737
2017-09-07 16:55:29 +01:00
Mike Jolley d08bf4b489 Add option to disable validation when applying coupons
Closes #16720
2017-09-06 11:26:34 +01:00
Mike Jolley 2a71a66fc9 Order screen refinements and preview window 2017-09-04 17:42:31 +01:00
Mike Jolley fe847630b2 Tests when tax is not enabled 2017-08-29 12:38:35 +01:00
Mike Jolley 31a90bdd85 Handle prices including tax calcs 2017-08-25 18:21:27 +01:00
Mike Jolley 4ac1ed84cc Fallback no coupon data 2017-08-25 16:15:28 +01:00
Mike Jolley 2682d86660 Move comment 2017-08-25 16:09:56 +01:00
Boro Sitnikovski 3cd1bedade Set coupon virtual state on when initializing virtual coupons during recalculation 2017-08-25 17:07:07 +02:00
Mike Jolley 961c190985 Comments 2017-08-25 14:42:56 +01:00
Mike Jolley 1e65a918d5 Pull meta to apply coupons which do not exist 2017-08-24 17:08:45 +01:00
Josh Smith 49c7449e8b Merge remote-tracking branch 'upstream/master' 2017-08-23 22:41:04 +00:00
Claudiu Lodromanean 56e1207903 Merge pull request #16583 from woocommerce/update/apply-fees
Improved apply fees
2017-08-23 13:35:18 -07:00
Mike Jolley 2beddc59a7 docblocks 2017-08-23 14:38:00 +01:00
Mike Jolley e0de3643bc ID is unused 2017-08-23 14:28:25 +01:00
Mike Jolley 9483a7ec19 invalid return 2017-08-23 14:27:30 +01:00
Mike Jolley c60859bf3c types 2017-08-23 14:27:10 +01:00
Mike Jolley a7b697b679 type checks 2017-08-23 14:25:41 +01:00
Mike Jolley 714c4c672e unused prop 2017-08-23 14:21:42 +01:00
Mike Jolley be042ee8f3 Set to amount before calc 2017-08-23 12:24:33 +01:00
Mike Jolley 804feb9333 Store fee amount and prevent totals going negative 2017-08-23 12:15:06 +01:00
Josh Smith 148fa16055 [#12517] Removing unnecessary isset on check for download id in WC_Product 2017-08-23 02:27:42 +00:00
Josh Smith 413444c616 Merge remote-tracking branch 'upstream/master' 2017-08-20 04:09:17 +00:00
Mike Jolley d9f9e74bd9 Only set valid tax classes in product abstract 2017-08-18 17:06:22 +01:00
Mike Jolley e99471c0cd Removed manual discounts code 2017-08-18 10:36:10 +01:00
claudiulodro 9a47146716 Fix discounts rounding issues 2017-08-15 14:11:25 -07:00
claudiulodro ae80d12d80 Merge master 2017-08-14 11:12:09 -07:00
Mike Jolley be11c1089f Fix tests 2017-08-14 16:03:50 +01:00
Mike Jolley 7ddfe0703b Store coupon item taxes 2017-08-14 15:57:51 +01:00
Beka Rice c54b0ecd9d Pass WC_Shipping_Method instance to availability filters 2017-08-11 16:36:18 -04:00
Mike Jolley b826d02f9b Split tax across items for discounts 2017-08-11 17:53:49 +01:00
Josh Smith fe01910b8b Fixing spacing on WC_Product and WC_Install 2017-08-11 16:49:49 +00:00
Mike Jolley 3496e8dca4 Match order of cart discount 2017-08-11 16:16:09 +01:00
Mike Jolley 56726deb5a Fix recalculate_coupons 2017-08-11 13:52:40 +01:00
claudiulodro 28f0431c56 Coupon usage counts 2017-08-10 11:27:13 -07:00
claudiulodro f1e6fd53bd Prevent double coupons 2017-08-10 11:14:01 -07:00
Mike Jolley db87fc68b9 Fix refs 2017-08-10 16:33:21 +01:00
Mike Jolley 30c80c6ad5 Fix tax recalc 2017-08-10 16:22:17 +01:00
Mike Jolley 22d6c789ab herpa derpa 2017-08-10 15:57:34 +01:00
Mike Jolley e90fb6d54f fix discount apply and save 2017-08-10 15:33:01 +01:00
Mike Jolley cd8fb23884 Add ability to get local item rather than from DB 2017-08-10 14:38:02 +01:00
Mike Jolley e2599d83c8 Apply methods 2017-08-10 14:22:27 +01:00
Mike Jolley 3dc9f06f6a Remove fixed discounts correctly 2017-08-10 12:06:03 +01:00
Mike Jolley 06381f28bd Edit items rather than recreate 2017-08-10 11:38:09 +01:00
claudiulodro a416ebe09b It kind-of works. 2017-08-09 14:55:35 -07:00
Mike Jolley 5874fb8715 Type and sum fix 2017-08-09 19:11:02 +01:00
Mike Jolley c556facd41 Fix percent coupon and display 2017-08-09 19:02:10 +01:00
Mike Jolley f71dc64d35 Manual discounts and negative taxes 2017-08-09 18:53:10 +01:00
Mike Jolley 2def474421 Order calc 2017-08-09 16:19:10 +01:00
Josh Smith d8b6b2042a Merge remote-tracking branch 'upstream/master' 2017-08-08 21:20:35 +00:00
Mike Jolley e9c3ebebdc Merge branch 'master' into feature/discounts-class
# Conflicts:
#	includes/abstracts/abstract-wc-data.php
#	woocommerce.php
2017-08-08 15:49:59 +01:00
Mike Jolley 3778918a0a Merge branch 'master' into pr/14751
# Conflicts:
#	includes/class-wc-structured-data.php
2017-08-08 15:28:31 +01:00
Claudio Sanches 53ea3c8b96 Merge branch 'master' into fix/16347 2017-08-07 16:36:36 -03:00
Mike Jolley 847e4859f8 Include add_payment_method in gateway abstract 2017-08-07 12:38:50 +01:00
Josh Smith 644ac674d7 [#12517] Replace download_id on customer download and product download with static UUID instead of filename based hash, to preserve download links, logs, and permissions across filename changes 2017-08-05 04:42:31 +00:00
Mike Jolley 6af275da6e Only return tax classes if product is taxable.
Fixes #16241
2017-08-03 08:44:02 +02:00
Mike Jolley f47bb39a06 Merge pull request #15479 from woocommerce/add/poc-no-managing-meta-directly
Proof of concept to error when internal meta props are accessed directly
2017-07-27 15:54:24 +01:00
Mike Jolley 306db69eaf Remove order subclass 2017-07-27 10:49:47 +01:00
claudiulodro cfb04f0ead Boolval wasnt added til php 5.5 2017-07-26 13:48:36 -07:00
claudiulodro d15a2f5f6a Make tax calculation optional 2017-07-26 13:46:50 -07:00
claudiulodro 77838d05bb Fix unknown item variable 2017-07-26 10:25:08 -07:00
Mike Jolley b9b4336c1b Removed some duplicate keys 2017-07-26 16:50:34 +01:00
Mike Jolley abdb325d83 Order items 2017-07-26 15:47:30 +01:00
Mike Jolley 1faae6a7aa Order subclass 2017-07-26 14:32:43 +01:00
Mike Jolley 250dabaf41 WC_Cart_Totals subclass 2017-07-26 12:44:06 +01:00
Jaydeep Rami 46d3638089 Fix missing return statement (#16148)
* Fix missing return statement

* Fix missing return statement

* Fix missing return statement

* Fix missing return statement

* Fix missing return statement

* Fix missing return statement
2017-07-20 18:01:14 +01:00
Jaydeep Rami 3522857d23 Fix typo in WooCommerce plugin (#16135)
* Fixed typo

* Fixed more typo

* Fixed more typo

* Fix tyop

* Fix more typo

* Fix more typo

* Fix typo

* Fix typo

* Fix typo

* Fix typo datatime object

* Fix short name of compat

* Fix typo: update short name

* Fix typo "deactive" to "deactivate" and short BW - Compat

* Fix typo "Backwards compat"

* Fix typo 'parameters'

* Fix more typo 'pararmeters'

* Fix typo 'compund'

* FIx typo order

* Fix typo

* Fix typo 'incorrecly'

* Fix typo 'genarate'

* Fix typo 'reletive'

* Fix typo 'Handly'

* Fix typo 'rotatated'

* Fix typo

* Fix typo 'additonal'

* Fix typos
2017-07-17 11:10:52 +01:00
Akeda Bagus 53807185a8
Fixed typos.
These typos are catched by `misspell` program.

```
find . -type f | grep -v assets | grep -v dummy-data | grep -v i18n | grep -v node_modules | grep -v .git | grep -v apigen |  xargs misspell -w
```

Some results were excluded because of 3rd party ownership and non-english
sentences.
2017-07-10 12:56:28 +07:00
Mike Jolley e539d3125a Refactor shipping rate to include instance IDs 2017-07-07 14:14:29 +01:00
Brent Shepherd 1992d90d37 Revert "Merge pull request #14706 from crodas/make_get_item_consistent"
This reverts commit 56ffa3d2aa, reversing
changes made to 64a60de24f.
2017-06-27 22:28:23 -07:00
claudiulodro 4515e5fca9 Fix undefined/incorrectly used variables 2017-06-09 14:10:55 -07:00
Boro Sitnikovski 68d512ae01 Address PR comments 2017-06-08 13:00:28 +02:00
Boro Sitnikovski 0271a9e2fe Update version 2017-06-07 16:20:09 +02:00
Boro Sitnikovski 00847da730 Fix 2017-06-07 12:33:05 +02:00
Boro Sitnikovski 1584836fa9 Code style fixes 2017-06-07 12:31:42 +02:00
Boro Sitnikovski b5fd62274f Map the correct function and use notice instead of exception 2017-06-07 12:30:03 +02:00
jgacuca567 4a9950b4c5 Changed their to there 2017-06-06 17:30:20 -04:00
Boro Sitnikovski efd42e6bc4 Proof of concept to error when internal meta props are accessed directly 2017-06-06 19:13:53 +02:00
Claudio Sanches 46846ed4e0 Merge pull request #15416 from woocommerce/fix/15407
Correctly append cache
2017-06-02 12:18:55 -03:00
Mike Jolley da91857a84 Correctly append cache
Fixes #15407
2017-06-02 13:34:09 +01:00
Cesar Rodas c96c62f380 Improved how taxes are applied
If by default the taxes are based on the shipping address and the current order doesn't have any, it would use the billing address rather than using the Shopping base location.

It's basically what WooCommerce is [doing already in Javascript](https://github.com/woocommerce/woocommerce/blob/master/assets/js/admin/meta-boxes-order.js#L526-L575). This kind of checks should be done in the backend, never in the client side.
2017-06-01 15:51:55 -04:00
Cesar Rodas 5997ffd4b1 Fixed coding styles issues 2017-06-01 11:46:05 -04:00
David de Boer d788b15073 Set delete_meta_data @param to accept a string
Set delete_meta_data @param to accept a string
2017-06-01 01:47:52 +02:00
Claudio Sanches d9e946491f Merge pull request #15357 from woocommerce/fix/15274-meta
Add ability to invalidate cache by object ID
2017-05-31 11:53:53 -03:00
Mike Jolley cb59bd0487 Merge pull request #15351 from woocommerce/fix/15329
Use get_max_purchase_quantityin cart template and fix logic
2017-05-31 11:39:53 +01:00
Mike Jolley 56ffa3d2aa Merge pull request #14706 from crodas/make_get_item_consistent
Make get item consistent
2017-05-31 11:10:09 +01:00
Mike Jolley 2366a036e3 Add id cache group to invalidate by ID 2017-05-30 14:37:29 +01:00
Mike Jolley 38bcdcfb28 Use get_max_purchase_quantityin cart template and fix logic
Closes #15329
2017-05-30 11:02:56 +01:00
Cesar Rodas 8c67ae6a7a Make `get_item` to rely no `get_items` 2017-05-29 12:38:25 -04:00
Cesar Rodas 563aa887f7 Apply woocommerce_order_get_items filter to get_item 2017-05-24 17:30:14 -04:00
Cesar Rodas ea9c573f2c Improved WC_Order::get_item()
Do not load all items, just load the items with a given order_item_type.
2017-05-23 20:12:47 -04:00
Cesar Rodas b612bab38b Fixed coding styles 2017-05-23 19:18:31 -04:00
Cesar Rodas b158ba2c47 Merge remote-tracking branch 'origin/master' into improve_meta_data_updates 2017-05-23 17:34:12 -04:00
Mike Jolley a3b89a9efc Merge pull request #15144 from timondavis/fix/15103-cannot_set_default_variation_to_string_zero
#15103 Variation default value of '0' fails to save on product.
2017-05-23 19:31:38 +01:00
Mike Jolley 6dfdc86111 Merge branch 'pr/14678' 2017-05-23 19:16:37 +01:00
Mike Jolley 109e951de3 Renamed filters and actions 2017-05-23 19:16:30 +01:00
Mike Jolley c16acc6b51 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	assets/css/wc-setup-rtl.css
#	assets/css/wc-setup.css
2017-05-23 19:00:24 +01:00
Mike Jolley d3666738d8 Merge branch 'pr/15069' 2017-05-23 18:56:58 +01:00
Mike Jolley 00e5189a05 Merge pull request #15070 from rasmusbe/phpdoc-missing-return-throws
Phpdoc: Add missing return and throws
2017-05-23 18:50:58 +01:00
Mike Jolley db012b3a12 Merge pull request #15011 from woocommerce/fix/14999
Add abspath checks
2017-05-23 15:57:35 +01:00
Mike Jolley d31a58b117 More abspath 2017-05-23 15:40:19 +01:00
Timon Davis af308da6b9 Fix bug #15103 where site operator cannot assign a variation with value of '0' as the default choice on the customer facing form.
The WC_Product::set_default_attributes function uses an array_filter (using the default callback for filtration)
to remove null and false values from the defaults array for a given product.  The issue here is that, in the above use case,
the array_filter will evaluate '0' as 0 and therefore as false.  Ultimately, array_filter then prevents the value from being
recorded, moving forward.

I've added a new filter callback to includes/wc-attribute-functions which will disregard all FALSE PHP equivalents except for
'0' (as a a string).  Also, I've updated the filter_array call in WC_Product::set_default_attributes so that it uses this new callback,
instead of the PHP default. Finally, I've added a phpunit test to assert that, when storing default variations / attributes on a product,
the false/true PHP synonyms are evaluating and storing like one would normally expect, with the exception that (string) '0'
evaluates as true in this special case.

This solution could potentially be broadened to facililate similar rules elsewhere, but the need raised in the bug is specific and
this is a specific solution.
2017-05-18 02:43:14 -07:00
Mike Jolley dd798d219e Make calculate tax function clear taxes if disabled on recalculation
Fixes #15057
2017-05-15 14:55:39 +01:00
Rasmus Bengtsson 185934fad9 Fix phpdoc to include params and correct types 2017-05-15 13:50:52 +02:00
Rasmus Bengtsson 4f00d7e5e3 PHPDoc: Add missing return statement 2017-05-15 13:37:59 +02:00
claudiulodro 3861e32803 Migrate wc_get_orders 2017-05-12 11:45:01 -07:00
Mike Jolley bc4d36fd3f Add abspath checks
Closes #14999
2017-05-10 19:03:19 +01:00
Rasmus 98833fa9c5 Fix param documentation for WC_Product::is_type 2017-05-09 14:10:27 +02:00
Claudio Sanches 257594a67c Merge pull request #14945 from woocommerce/pr/14875
Pr/14875
2017-05-08 13:56:12 -03:00
Mike Jolley 03a69e1d44 Prepend new item keys with `$items_key` to make them unique.
Fixes #14875
2017-05-08 17:44:10 +01:00
Mike Jolley dd3be1278b Merge pull request #14733 from woocommerce/feature/13646
WC_Object_Query & WC_Order_Query
2017-05-07 14:24:12 +01:00
Claudio Sanches 9930099b98 Merge pull request #14846 from woocommerce/fix/non-numeric-warning-order
Fix non numeric warning for orders.
2017-05-04 18:35:51 -03:00
Boro Sitnikovski f493afe718 intval -> floatval 2017-05-04 10:09:16 +02:00
Claudio Sanches 84dfaf3c09 Merge pull request #14851 from franticpsyx/clone-meta-data
[3.0] Clone each meta stdClass object when cloning a WC_Data object
2017-05-03 18:03:54 -03:00
Manos Psychogyiopoulos 8f7671f066 Clone each meta object when cloning WC_Data object to avoid modifying original meta stdClass objects 2017-05-03 16:37:01 +03:00
Boro Sitnikovski 8f63211f1c Fix non numeric warning for orders. 2017-05-03 08:31:35 +02:00
claudiulodro c93c45b15e Docblock 2017-04-28 09:55:49 -07:00
claudiulodro 30d2332f48 Handle paginate 2017-04-27 19:14:48 -07:00
claudiulodro 4eb1396e85 Offload more to subclasses 2017-04-27 14:09:10 -07:00
claudiulodro db3de7375d Tweaks from feedback 2017-04-27 11:07:03 -07:00
Mike Jolley 796ab0f257 Merge pull request #14756 from woocommerce/fix/14753
Compare with timestamp and remove start date once passed for sale products
2017-04-27 18:06:18 +01:00
Cesar Rodas 7a8011e878 Merge remote-tracking branch 'origin/master' into improve_meta_data_updates 2017-04-27 12:29:09 -04:00
Mike Jolley a68934d7db Merge pull request #14731 from crodas/make_sure_meta_data_cache_is_not_shared
Make sure the meta data cache is not shared among instances
2017-04-27 16:50:10 +01:00
claudiulodro 6aecb15505 Reduce scope 2017-04-27 08:38:18 -07:00
Mike Jolley eedcdd97ba Compare with timestamp and remove start date once passed for sale products
Fixes #14753
2017-04-27 14:35:33 +01:00
Cesar Rodas 2e6dc17bd5 Improved update_meta_data function
Also updated unit tests that was expecting the meta data as stdclass objects
2017-04-27 09:28:19 -04:00
Mike Jolley a6329fa68c Merge pull request #14752 from woocommerce/pr/14732
revert price handling of get_price_html()
2017-04-27 13:03:15 +01:00
Mike Jolley db5e2572f6 clean up 2017-04-27 13:01:52 +01:00
claudiulodro 2fad12221d Better comments 2017-04-26 11:04:28 -07:00
Cesar Rodas 91de312eb2 Make sure the meta data cache is not shared among instances
See #14620 for more context. In there I thought this was the desired behaviour and I enhanced it. After talking with @mikejolley he explained to me that it was not by designed.

This commit makes sure the meta data cache is not shared among instances
2017-04-26 13:51:52 -04:00
Kathy Darling 36dbe64170 revert price handling so null price still is filtered by woocommerce_get_price_html. closes #14727. 2017-04-26 12:37:30 -05:00