Commit Graph

684 Commits

Author SHA1 Message Date
Patrick Garman fd3a39345f
Return amount refunded as a float
An amount refunded should be numeric, I was receiving pHP notices that a non numeric value was encountered. Seems this is something potentially new as of PHP 7.1? Is there any reason we should **not** return a float here? Any null or empty response from the SQL query would be 0, which would still be accurate for the total that was refunded for that order.

```2018/01/27 16:50:50 [error] 46797#0: *2930 FastCGI sent in stderr: "PHP message: PHP Warning:  A non-numeric value encountered in /wp-content/plugins/woocommerce/includes/admin/meta-boxes/views/html-order-items.php on line 212
PHP message: PHP Stack trace:
PHP message: PHP   1. include() /cms/wp-admin/post.php:174
PHP message: PHP   2. do_meta_boxes() /cms/wp-admin/edit-form-advanced.php:714
PHP message: PHP   3. WC_Meta_Box_Order_Items::output() /cms/wp-admin/includes/template.php:1063
PHP message: PHP   4. include() /wp-content/plugins/woocommerce/includes/admin/meta-boxes/class-wc-meta-box-order-items.php:41```
2018-01-27 17:07:20 -06:00
Rodrigo Primo 9c4c006baa Fix: set orderby and order when calling WC_Customer_Download_Data_Store::get_downloads()
This commit fixes a bug in WC_Customer_Download_Data_Store::get_downloads() that made impossible to change the order in which the query returned the results. This method accepts the arguments `order_by` and `order` but it was ignoring them and always using the default values ('permission_id' and 'ASC' respectively).

One of the assertions of the WC_Customer_Download_Data_Store::get_downloads() test method was modified to make sure the code now works.

This bug was introduced by commit a443419.
2018-01-26 15:55:13 -02:00
Peter Westwood 0b19427d1d Order: Make note of two more meta keys that we store for an order. 2018-01-23 19:27:20 -07:00
Rodrigo Primo 1195cf9eee Improve WC_Customer_Download_Data_Store::get_downloads() performance
This commit improves WC_Customer_Download_Data_Store::get_downloads() performance by changing the way the SQL query is built. Before this change, this method would get all table fields even when just the permission_id field is returned. Now the method will get from the database only the fields that will be returned. The fields retrieved from the database can be controlled using the parameter `$args['return']`:

- 'objects' (default): all fields are retrieved from the database and an array of WC_Customer_Download objects is returned.
- 'ids': gets and return only permision_ids
- comma separated list of fields (new option added by this commit): gets and return only the required fields. Examples: 'user_email,download_id,order_id' or 'order_id,download_count'.
2018-01-22 17:25:26 -02:00
Rodrigo Primo 16c9bc9694 Fix PHPCS violations in class-wc-customer-download-data-store.php 2018-01-22 15:16:59 -02:00
Mike Jolley 24efb439fb Order items should only save changes. 2018-01-19 14:36:08 +00:00
Mike Jolley c64c726da9 Set instance id 2018-01-15 14:49:55 +00:00
Mike Jolley 054e68a047 Instance ID methods 2018-01-15 14:31:05 +00:00
Mike Jolley 58efd51a9c phpcs 2018-01-15 12:24:05 +00:00
Rodrigo Primo 7f43c39f2f Bump WC version to 3.4.0 2018-01-09 15:42:13 -02:00
Rodrigo Primo bf5c6f17a7 phpcs fixes 2018-01-09 15:42:08 -02:00
Rodrigo Primo 9de8478b42 Merge branch 'master' into update/use-post-author-for-customer-id 2018-01-09 15:21:12 -02:00
Rodrigo Primo aad2c83994 Remove unused variables
This commit removes two unused variables from WC_Product_Data_Store_CPT class.
2018-01-03 16:00:28 -02:00
Rodrigo Primo 22f1e549ef Manually fixes remaining coding standard violations 2018-01-03 15:57:33 -02:00
Rodrigo Primo a2b8e38a61 Fix coding standards violations automatically using phpcbf 2018-01-03 15:27:48 -02:00
Claudiu Lodromanean 20f698db2b
Merge pull request #18219 from woocommerce/fix/18197
Compare the date modified when loading session data.
2017-12-22 08:17:14 -08:00
Mike Jolley e9105bd37d Fix tests 2017-12-21 19:00:55 +00:00
Fulvio Notarstefano e718d7bd40 [#18223] Rename var to a more apt name 2017-12-19 17:19:10 +08:00
Fulvio Notarstefano ee123fb739 [#18223] Add argument to woocommerce_product_related_posts_query filter 2017-12-19 10:18:33 +08:00
Mike Jolley 6fd3d9c100 Compare the date modified when loading session data. 2017-12-18 16:43:18 +00:00
Mike Jolley da0bda4a04 Add refunded payment prop after an API refund succeeds. 2017-12-15 16:23:26 +00:00
Rodrigo Primo 997a6fa40d Make sure post_author is used only after WC 3.3.0 DB upgrade routine is executed 2017-12-08 15:55:53 -02:00
Rodrigo Primo ad4304450d Set post_author to 0 for refund orders 2017-12-08 12:32:45 -02:00
Rodrigo Primo fee1dcf5f9 Merge branch 'master' into update/use-post-author-for-customer-id 2017-12-08 10:09:57 -02:00
Claudio Sanches 2f6f6112c2 Merge branch 'master' into feature/webhook-crud 2017-12-07 18:21:52 -02:00
Mike Jolley c3623a9967 Update docblock for $include_taxes
Closes #18053
2017-12-07 11:46:35 +00:00
Claudio Sanches 0f4f8a3f16
Merge branch 'master' into feature/webhook-crud 2017-12-04 12:37:10 -02:00
Mike Jolley 0a9485c465 Merge branch 'master' into feature/11259
# Conflicts:
#	assets/css/admin-rtl.css
#	assets/css/admin.css
#	includes/admin/list-tables/class-wc-admin-list-table-products.php
#	includes/class-wc-install.php
#	includes/wc-update-functions.php
2017-12-04 14:14:03 +00:00
Arif Widianto c4a2ed88c3 Change to get_display_name from object 2017-12-02 07:30:39 +07:00
Claudiu Lodromanean 224fa43fe2
Merge pull request #17986 from woocommerce/fix/12439-pending-delivery
Fixed webhook initial test delivery ping
2017-12-01 10:31:46 -08:00
Claudiu Lodromanean 1a2a332f54
Merge pull request #17939 from woocommerce/feature/17734
Apply Webhooks CRUD into REST API
2017-12-01 10:07:21 -08:00
Claudio Sanches f5cddc4f36 Fixed webhook initial test delivery ping
Part of #12439
2017-12-01 14:04:59 -02:00
Claudio Sanches 01b3f2bac4 Trigger webhook when delivery URL is changed 2017-11-30 16:48:16 -02:00
Claudio Sanches 575e2d2224 Advanced webhooks search 2017-11-28 17:39:42 -02:00
Claudio Sanches c6f8e95b97 Merge branch 'master' into feature/webhook-crud 2017-11-28 15:09:10 -02:00
Rodrigo Primo 61c7abce4f First pass at using post_author instead of the post meta '_customer_user' 2017-11-28 10:13:30 -02:00
Arif Widianto 793476e05f Removed, display_name was not part of user meta 2017-11-28 08:36:09 +07:00
Claudio Sanches 8ed6e7436f
Merge pull request #17909 from woocommerce/update/phpcs-violations
Fix some PHPCS violations
2017-11-27 18:42:24 -02:00
Rodrigo Primo e006e14d23 Ignore PHPCS in two instances
Ignoring PHPCS in two lines of the code where apparently it is not possible to fix the violations. I tried using what @claudiosanches suggested in this comment https://github.com/woocommerce/woocommerce/pull/17909#issuecomment-347168029 but both tags didn't work. Lets revisit this when PHPCS 3.2.0 is released and we can selectively disable rules (see https://github.com/squizlabs/PHP_CodeSniffer/issues/604).
2017-11-27 11:00:42 -02:00
Rodrigo Primo 3d6bd30d8a Fix some PHPCS violations in includes/data-stores/abstract-wc-order-data-store-cpt.php 2017-11-24 17:25:31 -02:00
Rodrigo Primo 5e43d92e07 Fix some PHPCS violations in includes/data-stores/class-wc-order-data-store-cpt.php 2017-11-24 17:25:16 -02:00
Mike Jolley c5a80d080b Rename so delete is hidden 2017-11-23 14:41:17 +00:00
Mike Jolley 8dea28e6c2 Save default cat when saving products 2017-11-23 14:26:43 +00:00
Rodrigo Primo e12fa54bc6 phpcbf automatic coding standard fixes 2017-11-23 12:16:47 -02:00
claudiulodro a878b0cde5 Some phpcs 2017-11-22 14:03:26 -08:00
Arif Widianto 0b42515c93 Provides edit display name in my-account page (#17606) 2017-11-22 15:20:49 +07:00
claudiulodro 9ec24731bb Generalize child_is_in_stock 2017-11-21 15:06:35 -08:00
claudiulodro a73436bdcd Merge remote-tracking branch 'origin/master' into HEAD 2017-11-20 14:43:12 -08:00
claudiulodro cebe335dda Update routine 2017-11-20 14:21:08 -08:00
claudiulodro 03d51e5471 Tweak variable on backorder logic 2017-11-20 11:32:30 -08:00
claudiulodro b64b26d030 Variable products are on backorder if all children are backordered 2017-11-20 11:19:06 -08:00
Claudio Sanches 13978e496b
Merge branch 'master' into feature/webhook-crud 2017-11-20 10:34:35 -02:00
Mike Jolley a23541ad5d Fix 4.9 conflict with variation names
`santiize-title` works differently with `/` chars in 4.9. This update
routine keeps variations functioning by doing a DB update on read.

Fixes #17775
2017-11-18 14:53:18 +00:00
Claudiu Lodromanean 9c1d3b8108
Merge pull request #17726 from woocommerce/fix/17713
non-enabled children should not be ignored
2017-11-17 10:07:38 -08:00
claudiulodro dddf0ee473 Variable product sync 2017-11-17 08:46:49 -08:00
Mike Jolley a899b53b57 Unit test fix: Exclude syntax_highlighting 2017-11-16 18:58:09 +00:00
Claudio Sanches 9fe0c7261e Merge branch 'master' into feature/webhook-crud 2017-11-16 12:20:22 -02:00
Mike Jolley 11d0293ddd non-enabled children should not be ignored
This fixes #17713 by also returning private children (non-enabled).
2017-11-16 11:56:51 +00:00
Mike Jolley 7347b25ce0 Restore removed action 2017-11-13 19:07:02 +00:00
Mike Jolley 3e7968d37b Merge branch 'master' into pr/16418 2017-11-13 14:37:18 +00:00
Claudio Sanches 6553a71586 Fixed how read empty dates while reading webhooks from database 2017-11-10 11:58:25 -02:00
Claudio Sanches 61efd99c61 Fixed WC_Webhook_Data_Store::get_webhooks_ids transient 2017-11-09 11:03:14 -02:00
Mike Jolley 7fa02bd4cb Missing cache clear on delete 2017-11-08 12:21:03 +00:00
Claudio Sanches bf6436e0c9 Cache search webhooks results and added method to count webhooks by status 2017-11-07 17:42:14 -02:00
Claudio Sanches 47ac2f140c Search webhooks with data store 2017-11-07 16:10:38 -02:00
Claudio Sanches 7043245cb5 Merge branch 'master' into feature/webhook-crud 2017-11-07 12:42:28 -02:00
Mike Jolley fa30b0bb07 Use wp_unslash 2017-11-06 15:48:11 +00:00
Herb Miller 4c9d411b08 Issue #17570 - stripslashes when setting customer data from the session 2017-11-06 15:47:31 +00:00
Mike Jolley 635ea09127 Merge branch 'master' into cache-variable-products-queries 2017-10-27 18:53:40 +01:00
Rodrigo Primo a3f14c7256 Caches call to load product variation attributes
This commit adds product variation attributes to WP cache when they are first loaded to avoid running the same database queries when the same product is loaded multiple times. This cache will be invalidated whenever product attributes are changed.

Fixes #17120
2017-10-27 10:01:23 -02:00
Mike Jolley 08c4953b61 Clear counts cache when updating product attributes
Closes #17377
2017-10-26 20:16:52 +01:00
Rodrigo Primo fb70ae3fea Coding standards fixes 2017-10-25 17:53:17 -02:00
Claudiu Lodromanean a396a6c83e Merge pull request #17372 from woocommerce/fix/17369
Add cache invalidation for wc_get_product_terms
2017-10-25 10:30:44 -07:00
Mike Jolley a467d35acd Add cache invalidation for wc_get_product_terms
Closes #17369
2017-10-25 13:27:18 +01:00
claudiulodro e6a9a5f79b Fix date query meta unset checking 2017-10-24 13:07:21 -07:00
Mike Jolley 29e175901f Added an update_prices_from_children routine and fixed sync_prices 2017-10-17 10:06:49 -07:00
Claudio Sanches 368d958be4 Merge branch 'master' into feature/webhook-crud 2017-10-10 16:13:37 -03:00
Claudio Sanches c00fce3f94 Merge pull request #16490 from woocommerce/feature/16445
Webhooks CRUD and Data Store
2017-10-10 16:10:31 -03:00
claudiulodro 3723b95d7e Make parse_date_for_wp_query public 2017-09-26 12:03:11 -07:00
Mike Jolley 9c327f09db Sale logic only applies to simple products - fixes tests 2017-09-26 12:53:38 +01:00
Mike Jolley 4695d7a251 Handle sale dates on the fly in case of missed cron schedule.
Closes #16907
2017-09-25 14:19:20 +01:00
Joel Rowley 521bde2fba Bugfix: coupon object cache not being cleared upon deletion 2017-09-09 22:47:25 -04:00
Boro Sitnikovski 5224eab917 Update PR with new logic 2017-09-05 19:56:56 +02:00
Boro Sitnikovski 85e3cee634 Use prop getters/setters instead 2017-09-05 15:17:16 +02:00
Mike Jolley 2da895c68d Update price if product type changes
Fixes #16650
2017-08-30 16:23:57 +01:00
Mike Jolley c29b9acb5b Fix variable name
Closes #16636
2017-08-29 11:19:03 +01:00
Claudio Sanches c03520a661 Allow pre query filter return an empty array 2017-08-28 16:23:12 -03:00
Claudio Sanches d5aae55725 Prevent "Argument #N is not an array" warning when WP_User_Query returns null 2017-08-28 16:15:19 -03:00
Claudio Sanches f8c18ba899 Introduced pre query filter to WC_Customer_Data_Store::search_customers() 2017-08-28 16:14:13 -03:00
Josh Smith 49c7449e8b Merge remote-tracking branch 'upstream/master' 2017-08-23 22:41:04 +00:00
Mike Jolley 804feb9333 Store fee amount and prevent totals going negative 2017-08-23 12:15:06 +01:00
Josh Smith 39544cb27b [#12517] Remove calls to action woocommerce_process_product_file_download_paths since download ids should no longer change. They are now static UUIDs. 2017-08-23 03:22:33 +00:00
Josh Smith df64c48103 [#12517] In deprecated function call for update_download_id, use __METHOD__ instead of hard coded function name 2017-08-23 03:21:35 +00:00
Josh Smith ee13db49a2 [#12517] Move download log table to const and helper, output download log report titles in standalone function, reorganize download log data store read for code readability 2017-08-23 03:10:14 +00:00
Josh Smith 868a0e0e84 Merge remote-tracking branch 'upstream/master' 2017-08-23 02:33:01 +00:00
Claudio Sanches 03a189726e Introduces woocommerce_get_product_id_by_sku filter
Closes #16559
2017-08-22 15:04:21 -03:00
Mike Jolley fb2d8cb394 Prevent regular price being lower than the sale price
Closes #16560
2017-08-22 11:43:48 +01:00
Josh Smith 413444c616 Merge remote-tracking branch 'upstream/master' 2017-08-20 04:09:17 +00:00
Claudio Sanches 95de32d9c7 Changed webhook table name for #16390 2017-08-18 13:41:02 -03:00
Jeremy Pry 2d4b7356df Update some docblocks with proper parameters 2017-08-18 12:18:19 -04:00
Mike Jolley e99471c0cd Removed manual discounts code 2017-08-18 10:36:10 +01:00
Claudio Sanches 2a3d37cc89 Webhooks does not have meta data 2017-08-17 19:42:54 -03:00
Claudio Sanches 2d19d47357 Fixed spacing 2017-08-17 19:04:36 -03:00
Claudio Sanches 3266fd48fe Fixed how to auto set dates 2017-08-17 18:43:08 -03:00
Claudio Sanches 1829c81689 Fixed coding standards 2017-08-17 11:14:41 -03:00
Claudio Sanches 9fac34fbcb Save webhook results on wp cache 2017-08-17 11:07:30 -03:00
Claudio Sanches dcf3e27155 New helpers to load webhooks 2017-08-17 10:51:20 -03:00
Claudio Sanches 00185c5911 Webhook data store 2017-08-17 00:08:32 -03:00
claudiulodro ae80d12d80 Merge master 2017-08-14 11:12:09 -07:00
Mike Jolley 1545e46fd5 cache clearing 2017-08-11 16:17:13 +01:00
Mike Jolley 5587ff6874 Variation data store should remove product_type term on save
Closes #16409
2017-08-11 12:32:12 +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 f71dc64d35 Manual discounts and negative taxes 2017-08-09 18:53:10 +01:00
Mike Jolley f480c98d11 Data stores 2017-08-09 16:17:02 +01:00
Josh Smith d8b6b2042a Merge remote-tracking branch 'upstream/master' 2017-08-08 21:20:35 +00:00
Boro Sitnikovski 9022261f13 Fix cache issue.
From discussion with @mikejolley:

The class is not doing its job of invaliding cache after adding a line item.
At any point (action hook), a 3pd can call `get_items` and it will cache the items for that particular order so any subsequent calls to it will return bad data.
Unless you ADD items, `get_items` will return good data.
So adding items in this case is not invalidating, so that's the bug.

Relates to: https://github.com/woocommerce/woocommerce-bookings/issues/1310
2017-08-07 15:29:17 +02: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
Josh Smith dfeead42a5 [#12517] Add download log report to WC admin reports, with link from Order details Downloads section 2017-08-03 21:24:53 +00:00
claudiulodro 91f1d41842 Clarify logic 2017-08-01 13:21:23 -07:00
claudiulodro 5e8f957f3a Formatting 2017-08-01 12:52:12 -07:00
Josh Smith 3953fd081c [#12517] Get data for get_download_count from download log table 2017-07-31 03:44:11 +00:00
Josh Smith 399269a4f1 [#12517] Implement logging product downloads into new logging table 2017-07-30 22:38:17 +00:00
claudiulodro e1fad0d7eb Bring up to date with master 2017-07-28 14:27:19 -07:00
claudiulodro b5e5f035fb Clean up 2017-07-28 13:27:19 -07:00
claudiulodro e335724c50 Finalize product query 2017-07-28 11:59:44 -07: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
claudiulodro ec6d11bd67 Just needs visibility support and cleanup 2017-07-25 10:01:24 -07:00
claudiulodro 689c5e7006 Better code 2017-07-25 08:36:01 -07:00
claudiulodro cdbead8961 Clean up and tests 2017-07-24 15:05:23 -07: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
Mike Jolley 3faa1c1ee9 Unset variable prices on read.
Closes #16145
2017-07-20 12:48:14 +01:00
Mike Jolley 8d277a263b Sort by order + zone ID as a fallback in shipping zones
Fixes #16170
2017-07-19 10:16:50 +01:00
jaydeeprami 55100562b3 Fix typo in '@oaram' to '@param' 2017-07-19 08:14:41 +05:30
Claudio Sanches 90691e881f Merge pull request #16140 from woocommerce/update/16136
Added `woocommerce_data_store_wp_{$this->meta_type}_read_meta` filter
2017-07-17 19:24:44 -03: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
Mike Jolley a2a34cf0be Added `woocommerce_data_store_wp_{$this->meta_type}_read_meta` filter
#16136
2017-07-17 10:34:44 +01:00
claudiulodro 8c8684b8aa Move meta query init above sku query 2017-07-14 10:10:37 -07:00
claudiulodro b04534bb85 Hook everything up to wc_product_query 2017-07-14 10:01:25 -07:00
claudiulodro f66198c37d Initial working wc_get_products 2017-07-14 09:50:20 -07:00
claudiulodro 753979ec49 WC_Product_Query 2017-07-12 13:58:39 -07:00
Mike Jolley 6421b2a0be Fix rtrim for non - separators 2017-07-12 15:17:48 +01:00
Daniel Rey Lopez 04a83b0faa Change the "Rest of the World" zone name to "Locations not covered by your other zones" everywhere 2017-07-11 08:19:42 +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 b9757cca00 leave objects alone rather than slashing in the meta api
Has tests. Prevents notices when you pass an object to add_meta_data.
2017-07-04 16:09:21 +01:00
Mike Jolley 6bc1c16d77 Merge pull request #15900 from JustinSainton/patch-4
Add search_customers() filter
2017-07-04 10:54:50 +01:00
Justin Sainton 31d8a4a6d7 Add additional parenthesis.
Maybe don't throw fatal errors.
2017-07-03 10:19:57 -07:00
Mike Jolley 8ab1ef459c WP_Query expects paged, not page
Fixes #15930
2017-07-03 12:24:30 +01:00
Justin Sainton 29c9fa55d8 Add search_customers() filter
Includes each of the parameters passed to the method, as well as a context parameter for each query.

Our specific use case for this is for a custom wholesale ordering system, where we're wanting to limit the search to a specific role - so customizing the arguments here would be really helpful.

Ironically, proposed the same thing three years ago and the committed filter no longer exists: e91ca49b6d
2017-06-30 13:52:24 -07:00
Mike Jolley 3bfd2bab48 Prevent extra slashes on meta values
by_mid functions do not expect slashes

Fixes #15868
2017-06-29 22:41:11 +01:00