Commit Graph

169 Commits

Author SHA1 Message Date
Claudiu Lodromanean 0cd54b67c7
Merge pull request #20606 from woocommerce/refactor/order-again
Refactor "order again"
2018-06-26 12:10:55 -07:00
Mike Jolley 5ad0e12602 Store meta after login so we know when cart needs to merge 2018-06-22 12:39:21 +01:00
Rodrigo Primo 43d22a2349 Merge branch 'master' into update/use-post-author-for-customer-id 2018-06-18 15:17:19 -03:00
Claudio Marangon e3447635ae Conform returned error messages
The <strong>Error:</strong> should be removed because:

- the other errors in this function don't provide it either
- the process_registration() function in class-wc-form-handler.php also adds this string so it's added twice
2018-06-12 15:48:59 +02:00
Rodrigo Primo 77add46705 Pass user_id via $wpdb->prepare() 2018-06-11 11:04:19 -03:00
Rodrigo Primo dd8bf8b522 Merge branch 'master' into update/use-post-author-for-customer-id 2018-06-11 10:44:14 -03:00
TheDramatist 93e7419b17 Simplified wc_review_is_from_verified_owner (#20393)
* Simplified wc_review_is_from_verified_owner

* wc_review_is_from_verified_owner simplified
2018-06-06 12:16:43 +01:00
TheDramatist 090b7c89f4 wc_meta_update_last_update_time cleanning (#20382) 2018-06-05 13:31:05 +01:00
Khan M Rashedun-Naby 34360dff0a wc_create_new_customer logic simplified 2018-05-25 16:53:27 +06:00
Rodrigo Primo c49059ce7a Merge branch 'master' into update/use-post-author-for-customer-id 2018-05-08 17:34:09 -03:00
Rodrigo Primo b97f2749d6 Update wc_customer_bought_product() and customers report to use post_author instead of _customer_user 2018-05-07 17:25:58 -03:00
Rodrigo Primo f725dc17af Set post_author to 0 on all orders that belong to a deleted customer 2018-05-07 15:37:25 -03:00
Mike Jolley c765ce644d Inactive account handling 2018-04-30 15:38:45 +01:00
claudiulodro f9e45bea91 Bring up-to-date with master and resolve merge conflicts 2018-04-17 13:27:39 -07:00
Mike Jolley 93d20d9c93 Data removal handling 2018-04-13 18:03:02 +01:00
Mike Jolley 53a93fd3b1 Clean up user data on delete. 2018-04-13 15:07:38 +01:00
Claudio Sanches 9d42c323bf Fixed includes/wc-user-functions.php PHPCS violations 2018-03-08 18:26:56 -03:00
Steve Grunwell 493298504d Rewrite wc_get_customer_last_order() to leverage the customer data store.
The wc_get_customer_last_order() function (used by the v1 API) was performing a hard-coded SQL query against the postmeta table, regardless of the data store used by the WC_Customer class. This commit effectively makes the function act as a wrapper around WC_Customer::get_last_order().
2018-01-10 18:39:35 +00:00
Claudio Sanches da6c9c769a Include 'product_url' wc_get_customer_available_downloads() results
Also required to fix #17925
2017-11-29 19:49:54 -02:00
Gerhard Potgieter 95b669280a Refactor wc_update_new_customer_past_orders to not call update_post_meta directly but use the datastore. Check if order has downloadable items and then regenerate permissions. 2017-11-20 08:44:42 +02:00
JeroenSormani b397b37b3e Remove 'woocommerce_lock_down_admin' option and use filter only instead 2017-11-19 14:17:37 +01:00
Jeremy Madison 0b7f92ac84 Issue #17505: Apply filters to registration-error-email-exists error. (#17507)
* Issue #17505: Apply filters to registration-error-email-exists error message.

* Inlined apply_filters and fixed filter name
2017-11-07 20:16:56 +00:00
Mike Jolley 7606666de9 woocommerce_pre_customer_bought_product 2017-11-01 15:48:46 +00:00
Gabor Javorszky d530556a0f Add short circuit to customer bought product function 2017-10-30 17:20:55 +00:00
Mike Jolley fae130d038 Allow display_name to be searchable - this will commonly be full name
Closes #17104
2017-10-09 19:20:22 +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
Mike Jolley 3939f50ced Download display in account/checkout 2017-07-11 13:45:35 +01:00
Job 9ca5556067 Login > Log in spelling
“Log in” is the verb, not “login”
2017-06-15 11:53:59 +02:00
Claudio Sanches df0ec12fb4 Deprecated wc_get_customer_avatar_url() in favor of get_avatar_url()
And remove duplicated code.
2017-06-09 16:25:57 -03:00
Mike Jolley 4367c9f6d4 Use user_can function
Use user can rather than roles directly.

If the user can edit posts, assume they are allowed an archive.

Fixes #15508
2017-06-09 15:18:35 +01:00
Rasmus Bengtsson 6a7fc8650f Remove unused local variables 2017-05-15 12:06:52 +02:00
Mike Jolley b258e64902 Add $order checks to ensure object is set 2017-04-12 13:46:14 +01:00
Claudio Sanches dbbe4617ee Do not force integer since will be saved as string by WordPress 2017-03-10 01:58:57 -03:00
Claudio Sanches 948963f5c7 Uses GMT/UTC+0 when update customer lastt_update 2017-03-10 01:57:53 -03:00
Claudio Sanches a10fa76438 Fixed empty file object in downloads data and removee extra download_name 2017-03-06 19:45:03 -03:00
pierrebuet f6c9dce9b4 fix user id for download file (#13220) 2017-02-17 11:55:11 +00:00
Brent Shepherd 3f338cd3e1 Fix wc_paying_customer() refund check
wc_paying_customer() needs to check against 'shop_order_refund', which is
the actual return value of WC_Order_Refund::get_type(). No object will return
'refund', so a customer would always be declared as a paying customer even
for refund orders.
2017-01-19 11:16:43 -08:00
Mike Jolley 53436d2043 No need to update totals
#12237
2016-12-15 15:07:48 +00:00
Mike Jolley 1b6d7acd24 Data store for downloads 2016-11-18 17:13:02 +00:00
Mike Jolley 599a2ad296 Product CRUD improvements (#12359)
* args is not used any more - remove todo

* Added test for attributes

* wc_get_price_excluding_tax usage

* parent usage

* Fix rating counts

* Test fixes

* Cleanup after tests

* Make sure status transition code runs even during API calls, not just in admin.

* Default visibility

* Fix attribute setting in API

* Use get name instead of get title

* variation id usage

* Improved cross sell templates

* variation_data

* Grouped product sync

* Notices

* Sync is not needed in API

* Delete

* Rename interfaces

* Update counts in data store
2016-11-16 12:17:00 +00:00
Mike Jolley 5f4dbdb733 [Product CRUD] Variations - setters, getters and admin. (#12228)
* Started on variation changes

* Stock functions

* Variation class

* Bulk change ->id to get_id() to fix variation form display

* Missing status

* Fix add to cart

* Start on stored data save

* save variation

* Save_variations

* Variation edit panel

* Save variations code works.

* Remove stored data code and fix save

* Improve legacy class

* wc_bool_to_string

* prepare_set_attributes

* Use wc_get_products

* More feedback fixes

* Feedback fixes
2016-11-09 16:05:49 +00:00
Mike Jolley 32e814eef1 Use all paid statuses in $customer->get_total_spent() 2016-11-03 11:27:03 +00:00
Rami Yushuvaev f27499b501 i18n Improvements (#12078)
* use %s in translations strings

* merge simmilar error strings

* i18n: use sprintf() in translation strings to make them easier to understand for translators

* i18n: remove sprintf() function from translation string with unused parameter

* i18n: move colons and brackets into the translation strings

* revert comit addaa5d

* Fix broken sprintf()

* i18n: move colons into the translation strings on error messages

* Fix Travis-CI Error: operator must be surrounded by a single space
2016-10-24 08:33:32 +01:00
Mike Jolley cfbb8d6601 Use meta as a cache for order/spent methods.
Closes #12080
2016-10-14 15:11:10 +01:00
Nirav Mehta a0c3c29005 Allow extending customer available downloads (#12019)
* Fix: Escape HTML entities during output of coupon description on admin page

* Added filter for customer available downloads
2016-10-11 15:36:03 +01:00
Mike Jolley 78bde4ad09 Tweak download layout 2016-09-12 23:00:31 +01:00
Aristeides Stathopoulos fde1037757 fix failing tests. 2016-09-01 23:50:14 +03:00
Aristeides Stathopoulos a19848978a WordPress.WhiteSpace.ControlStructureSpacing.NoSpaceAfterCloseParenthesis 2016-08-27 07:47:24 +03:00
Aristeides Stathopoulos 6c30f84fa2 WordPress.Arrays.ArrayKeySpacingRestrictions.SpacesAroundArrayKeys 2016-08-27 06:23:21 +03:00
Aristeides Stathopoulos b063bcfe4c last item in a multiline-array should end in a comma 2016-08-27 04:46:45 +03:00
Claudio Sanches 838f3737ea [2.6] Fixed downloadable variable product URL, closes #11699 2016-08-18 00:53:27 -03:00
Mike Jolley 5afac69f10 Fix write context errors 2016-08-15 17:50:02 +01:00
Mike Jolley f4a4f6c361 Reduce stock and other notices 2016-08-09 14:15:04 +01:00
Mike Jolley 6a493f7350 order total 2016-08-08 17:06:12 +01:00
Mike Jolley 84c52370fa more getters 2016-08-05 15:57:40 +01:00
Mike Jolley 39b4831e95 get_id 2016-08-05 15:56:23 +01:00
Mike Jolley 837e08143b Merge branch 'master' into orders-crud-classes
# Conflicts:
#	includes/abstracts/abstract-wc-order.php
2016-08-03 12:32:27 +01:00
Matias Saggiorato e97acc82b5 Fixed emails not properly encoded in download URLs 2016-08-01 15:22:39 -03:00
Claudio Sanches 7d9d091767 Fixed mixed tabs and spaces 2016-07-11 16:56:35 +02:00
Mike Jolley 9a77620cc4 Split download permission query from order retrieval to reduce overhead.
Closes #11274 @claudiosmweb
2016-06-29 12:06:03 +01:00
Mike Jolley 67de655f71 wc_paying_customer unit test compat 2016-06-22 13:06:02 +01:00
Scrutinizer Auto-Fixer 7cef8ae4c9 Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2016-06-06 16:50:18 +00:00
Claudio Sanches b6d33ee906 WP-API 2016-04-19 12:49:16 -03:00
Claudio Sanches fce5584185 Makes wc_create_new_customer() pluggable
And fixed some coding standards.

Closes #10683
2016-04-18 15:30:57 -03:00
Gabor Javorszky 49ff906322 Fixes comparison functions for customer total orders / spent
No issue. For much performance improvement.

If the moeny spent is 0, or the total order count is also 0, but actually set, the if clause will return false. Even after the body recalculates, for example the money spent, it will still be 0, which means it will never be stored on the user meta, and that body won't be short circuited.

In the case of sites with a lot of orders (customer has ~100k), that query takes about 13 seconds, and due to how the API works, during one request, it runs 4 times (we're working on solving that one though).

We probably want to see whether the meta is set or not. If it's not set, it will be an empty string.
2016-04-11 18:06:36 -05:00
Mike Jolley c1e8dd1fe8 Use wc_get_orders iternally 2016-03-09 16:11:05 +00:00
Claudio Sanches c46521ae80 Created functions to fetch customer last order and to grap gravatar url 2016-03-01 20:07:05 -03:00
Mike Jolley 1ee2b431a3 Show all downloads regardless of file
Closes #10388
2016-02-19 17:17:14 +00:00
Claudio Sanches 2de00c61ff Added account endpoint for customer payment methods 2016-02-16 13:57:46 -02:00
Justin Shreve 8b01290e56 Add punctuation to docblocks. update_user_meta hook should be in single quotes. 2016-02-10 08:47:37 -08:00
Justin Shreve 09ba8c0fc8 Only track meta updates for certain fields. 2016-02-10 08:28:24 -08:00
Justin Shreve 1b2195b819 Track a users last updated time (profile/user attributes) and display it in the WC Customer API. 2016-02-10 08:28:24 -08:00
Brent Shepherd 6d2b570f30 Fix Unknown column '_customer_user' notice
When deleting a user. Also ensures the customer value on orders is set
correctly to a guest user (0).
2016-01-06 17:53:21 -08:00
Mike Jolley 6892d73ea9 Store product ids for terms in term meta rather than transient
Data is kept in sync by looking at when terms are set for an object and
then clearing the meta for old and new terms.
2015-11-14 16:25:09 +00:00
Claudio Sanches 5893875b0c Removed period for file headers 2015-11-03 11:53:50 -02:00
Claudio Sanches ee30b5b308 Fixed php docs standards 2015-11-03 11:31:20 -02:00
Claudio Sanches cf6fb76741 Created function to disable author archives for customers
cc @mikejolley
2015-10-26 15:38:44 -02:00
Jeff Stieler 1b370bb64a Helper method to retrieve review verification status from comment meta, generating it on the fly for existing reviews. 2015-10-20 22:05:17 -06:00
Jeff Stieler 80628e9f97 Store all purchased product ids for a given customer in a single transient. 2015-10-20 22:03:29 -06:00
Claudio Sanches 5372579546 Fixed the hook name for #9290
cc @jeffstieler
2015-10-13 15:13:31 -06:00
Jeff Stieler aa86069e56 When a WordPress user is deleted, turn any orders they have into Guest orders. 2015-10-05 14:38:20 -06:00
Claudio Sanches f447a66281 Introduces woocommerce_update_new_customer_past_order action, closes #9078 2015-09-15 19:56:59 -03:00
Mike Jolley 0da69f2bef Query within wc_customer_bought_product(). 2015-08-12 10:44:44 +01:00
Mike Jolley 5c9ac6a893 Avoid double escape when passing in arrays to sql queries. Use esc_sql 2015-08-07 11:37:19 +01:00
Claudio Sanches 9e41552342 Removed all "@return void" 2015-07-16 16:55:48 -03:00
Ben Bidner 2740db17c0 Merge conflict - esc customer data 2015-06-01 12:57:48 +01:00
nickrouty 0f88f6386b Verify order was found
Verify the order was found before evaluating the user_id on the $order object. Would previously throw an error if attempting to view an invalid order number.
2015-04-14 15:16:34 -07:00
Mike Jolley ddb6c585bc Merge pull request #7862 from javorszky/download_perm
Add null date check for download permissions
2015-04-13 09:37:55 +01:00
Gabor Javorszky 5f8f1fc10f Add null date check for download permissions
Fixes #7861

* implements check if `access_expiry` is 0 epoch

Sadly there's no way to circumvent WordPress's sanitization without using raw query in `WC_Meta_Box_Order_Downloads::save`, but it's a lot easier to check for 0 epoch.
2015-04-01 01:04:22 +02:00
Gabor Javorszky e76749de03 Adds filter to download permissions results
The justification for this filter is that Subscriptions will be saving download permissions on the subscription itself, not the original order. This filter would allow us in the future to remove the entry for a file for the original order if the same file has a subscription associated with it.
2015-03-30 14:19:47 +02:00
Mike Jolley f55e7d6969 wc_customer_bought_product transient
Closes #7322
2015-03-27 13:17:54 +00:00
Mike Jolley 97c1a32aa7 Small improvement to #7322 2015-03-27 13:08:27 +00:00
nils-fredrik@maksimer.no 07f7db297f Fix for #7752
wc_create_new_customer() returns identifying error codes for
identifiable errors.
2015-03-18 00:18:52 +01:00
Nicola Mustone 40a7605c99 fix missing downloads 2015-02-19 14:42:24 +01:00
Gerhard 7beb159927 Remove posts join from wc_get_customer_available_downloads, speeds query up by 50% 2015-02-18 12:04:19 +02:00
Claudio Sanches de4d70d16a Fixed the product_id type in wc_get_customer_available_downloads() 2015-01-21 10:21:42 -02:00
Claudio Sanches b896c5063f Stop erros when the user does not exist in wc_customer_bought_product() function, closes #7145 2015-01-19 00:25:32 -02:00
Mike Jolley 03043a7c02 Expiry date along with download details
Closes #7096
2015-01-13 12:29:37 +00:00
Mike Jolley 4769d27415 Added missing global $wpdb; 2015-01-12 17:18:17 +00:00
Mike Jolley 2c32f6cdd0 Add functions to get money spent/order count for customers and fix in API Closes #7083 2015-01-12 17:09:46 +00:00