Commit Graph

664 Commits

Author SHA1 Message Date
Claudio Sanches 6be1569955 Start indexing variations with 1, closes #15081 2017-06-05 17:42:58 -03:00
Mike Jolley fc4a9d185e Move changes after set name 2017-05-31 16:28:55 +01:00
Claudio Sanches bc3c7f6bbd Merge branch 'master' into fix/15315 2017-05-31 11:59:49 -03:00
Mike Jolley 6883b49e81 Atom sucks 2017-05-31 15:57:49 +01:00
Mike Jolley eda55579b7 Merge pull request #15373 from woocommerce/feature/product-csv-import-export
Product CSV Import Export
2017-05-31 13:57:37 +01:00
Mike Jolley 21300951f1 Fix tests due to generated names 2017-05-31 13:48:28 +01:00
Mike Jolley 32ab4fb47f Merge pull request #15360 from woocommerce/fix/15228
Store user ID and use that to determine if the session should be loaded or not.
2017-05-31 13:03:29 +01:00
Mike Jolley 532ddfa6b0 Merge conflicts 2017-05-31 12:23:52 +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 60def8cde0 Store user ID and use that to determine is session data should overwrite user data. 2017-05-30 17:03:55 +01:00
Mike Jolley 3dd7cbf59b Revert d570a81241 2017-05-30 16:54:37 +01:00
Cesar Rodas 001cf94ff3 Fixed typo 2017-05-30 10:37:29 -04:00
Mike Jolley ed32f9c792 Only delete if the object has an ID 2017-05-30 14:44:28 +01:00
Mike Jolley 2346af1816 Update title if changed
This could be the result of a term name changing, parent changing etc.

Fixes #15315

May degrade performance if reading many variations.
2017-05-30 13:20:36 +01:00
Mike Jolley f1d718d38a Format parent stock qty on read
Fixes #14759
2017-05-29 10:03:35 +01:00
Mike Jolley 2e5053633b CRUD should update post type on update so it matches expected value. 2017-05-25 12:09:59 +01:00
Kelly Dwan 0a265b53a2 Add display_name to customer data store 2017-05-24 13:57:11 -04:00
Mike Jolley f866f164eb Merge pull request #15244 from woocommerce/improvement/15187
Order query unit tests and fixes.
2017-05-24 12:03:40 +01:00
claudiulodro 201ea727db Simplify status check 2017-05-23 18:52:03 -07:00
claudiulodro 4faad7d964 Finish unit tests and bugfixes 2017-05-23 18:44:37 -07: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
Mike Jolley 383a318f59 Merge pull request #14949 from aelia-co/Improvement-customer-total-spent-filter
New filters for customer total spent
2017-05-23 20:37:58 +01:00
Diego Zanella 89efc65327 Fixed call to woocommerce_customer_get_total_spent_query filter
* Variable `$customer` was passed to `$wpdb->get_var()` instead of the filter.
2017-05-23 20:35:21 +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
Diego Zanella a6bcc73846 Added $customer to filter woocommerce_customer_get_total_spent_query 2017-05-23 17:06:16 +01:00
Diego Zanella 885cb14029 Merge branch 'master' into Improvement-customer-total-spent-filter 2017-05-23 17:05:08 +01:00
Mike Jolley 2383799409 A single multi-word attribute is fine for variation titles
Closes #15225
2017-05-23 10:52:44 +01:00
Mike Jolley fc8100877c Undo change 2017-05-22 12:19:54 +01:00
Mike Jolley 2082d84e4d Always sync incorrect titles on variation read regardless of version
For #15158
2017-05-19 11:28:13 +01:00
Mike Jolley eb147197a2 Variations should inherit purchase_note from parent.
Fixes #15115
2017-05-18 14:47:00 +01:00
Mike Jolley 351b0e0c67 Support limiting in search_customers 2017-05-16 10:16:57 +01:00
Rasmus Bengtsson 185934fad9 Fix phpdoc to include params and correct types 2017-05-15 13:50:52 +02:00
Rasmus Bengtsson 4a3902cd48 PHPDoc: Add missing throws statement 2017-05-15 13:39:03 +02:00
Rasmus Bengtsson 4f00d7e5e3 PHPDoc: Add missing return statement 2017-05-15 13:37:59 +02:00
Rasmus Bengtsson 6a7fc8650f Remove unused local variables 2017-05-15 12:06:52 +02:00
claudiulodro 9e9b9b86ba Cant use empty check in customer query var 2017-05-14 17:05:46 -07:00
claudiulodro cec2c3b7dc Couple requested changes 2017-05-13 12:22:22 -07:00
claudiulodro fe40e9b96a Make date queries work properly 2017-05-12 15:25:15 -07:00
claudiulodro 5b578c389f Use previous filter name 2017-05-12 13:14:52 -07:00
claudiulodro eee2ef82e8 Deprecate ->get_orders 2017-05-12 13:06:17 -07:00
Mike Jolley e777b4d557 Merge branch 'feature/product-csv-import-export' into feature/csv-exporter 2017-05-12 21:03:20 +01:00
claudiulodro 3861e32803 Migrate wc_get_orders 2017-05-12 11:45:01 -07:00
Claudiu Lodromanean c6fc0003c3 Merge pull request #14971 from woocommerce/improvement/13646
WC_*_Query date queries
2017-05-11 21:43:41 -07:00
Claudio Sanches 663c1d5f51 Merge pull request #15012 from woocommerce/fix/14994
Correctly set rating during updates
2017-05-10 19:08:38 -03:00
claudiulodro e31cbfd5c4 Formatting for readibility 2017-05-10 14:33:29 -07:00
Mike Jolley 4cacceeede Variation handling 2017-05-10 22:16:53 +01:00
claudiulodro d461ea86d6 Use local timezone for yyyy-mm-dd queries 2017-05-10 13:08:47 -07:00
claudiulodro db1d5ac987 Simplify logic 2017-05-10 12:02:15 -07:00
claudiulodro a0727fb8a1 Change to date array 2017-05-10 11:49:11 -07:00
Mike Jolley 37a544dd6f Ensure needle is set
Fixes #15004
2017-05-10 19:30:34 +01:00
Mike Jolley cd9119443a Correctly set rating during updates
Fixes #14994
2017-05-10 19:21:38 +01:00
claudiulodro 5d86b2f001 Formatting 2017-05-09 14:55:39 -07:00
claudiulodro 93835f69db New working date query format 2017-05-09 14:49:45 -07:00
claudiulodro c89e389b3f Good progress towards better date queries 2017-05-09 11:37:45 -07:00
Mike Jolley 19fb7ac079 Fix hardcoded table name 2017-05-09 19:17:24 +01:00
Diego Zanella 3f3f2bdc2c New filters for customer total spent
* Added new filters to allow altering the calculation of customer's total spent:
  * `woocommerce_customer_get_total_spent`
  * `woocommerce_customer_get_total_spent_query`
2017-05-08 19:39:13 +01:00
Mike Jolley a741f2c7bf Make other queries match the new query in 14936 2017-05-08 19:08:59 +01:00
Mike Jolley b961d6fb74 Correctly exclude terms in wc_get_related_products
Fixes #14909
2017-05-08 14:15:16 +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 421c9a3ba7 Introduced woocommerce_shop_order_search_results filter
Closes #14857
2017-05-03 18:14:41 -03:00
Claudio Sanches 63552c9757 Fixed conflict between global attributes and custom attributes.
Check if is a custom attribute before trying to get an ID from a global attribute.
2017-05-03 16:30:50 -03:00
claudiulodro 7c393a4469 Better time handling 2017-04-28 14:01:06 -07:00
claudiulodro 1bb46ad876 Array filter results 2017-04-28 10:12:31 -07:00
Mike Jolley af09548ec0 Add missing shipping_company from internal props in data store
Fixes #14768
2017-04-28 13:44:22 +01:00
claudiulodro 30d2332f48 Handle paginate 2017-04-27 19:14:48 -07:00
claudiulodro 0721354ff2 Add paginate 2017-04-27 15:02:02 -07:00
claudiulodro 11c7722eff Update tests 2017-04-27 14:46:00 -07:00
claudiulodro 059389c684 Missed a spot 2017-04-27 14:13:06 -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
claudiulodro 6aecb15505 Reduce scope 2017-04-27 08:38:18 -07:00
claudiulodro 020e24225a Line up array 2017-04-26 14:20:44 -07:00
claudiulodro 1647e253a0 Add filters 2017-04-26 11:19:54 -07:00
claudiulodro 2fad12221d Better comments 2017-04-26 11:04:28 -07:00
claudiulodro 9f0f0cd246 Polish and cleanup 2017-04-26 10:49:19 -07:00
Mike Jolley 481a5045aa Merge pull request #14622 from jaumarar/patch-2
Fix: Creating customer triggers password changed
2017-04-26 14:32:28 +01:00
Mike Jolley 234bc3c017 Missing arg in data store too 2017-04-26 11:08:47 +01:00
Cesar Rodas 38f379a7d7 Make get_item() consistent (like get_items())
Right now get_item() is loading an item from the database directly. It doesn't
take advantage of our cache and it doesn't check if the item is already loaded in memory.

There is also another bug (or feature?) that it will let you load any item, even if the item is not related to the current order. I believe this is a bug, if somebody really wants to load any item regardless of the order they should use `WC_Order_Factory::get_order_item`.

Another bug is that items loaded with get_item() are not related to the order object, therefore any calls to Order::save() won't persist the changes made to the item.

This commits makes sure the item returned by get_item is loaded similarly like get_items() does, taking advantage of the cache and the $items protected property (chances are the item is already in memory, ready to be used).

If a given item is not found false will be returned. If item exists but it is not related to the current object it will return false as well (If this behaviour is wanted, I can easily change it load the item anyways instead of returning false).
2017-04-26 02:54:14 -04:00
claudiulodro efa1dbbda5 Basic working order queries 2017-04-25 14:52:17 -07:00
Mike Jolley 8e624e6230 Filter invalid products before returning them for wc_get_products
Closes #14592
2017-04-25 14:03:30 +01:00
Jaume 5e53ed70d8 Fix: Creating customer triggers password changed
Sending POST /wc/v1/customers or POST /wc/v2/customers with the required args triggers the 'Notice of Password Changed' after creating the customer due to update() calls when the password still has a value.
2017-04-22 20:06:56 +02:00
Mike Jolley a325d03deb wc_get_orders support for guest orders and unit tests
Fixes #14575
2017-04-20 18:05:58 +01:00
Claudio Sanches 0b60af0774 Merge pull request #14415 from woocommerce/fix/save-post-infinite-loops
Prevent infinite loops during save_post
2017-04-20 00:44:57 -03:00
Claudio Sanches c90e71e890 Merge pull request #14509 from woocommerce/fix/14480
Only return product by SKU if published
2017-04-19 14:38:14 -03:00
Claudio Sanches 0d46a89f83 Check only if is not in trash 2017-04-19 14:27:19 -03:00
Mike Jolley bdb01c4bea is_existing_sku should check all post statuses except for trash
Fixes #14525
2017-04-19 11:32:49 +01:00
Claudio Sanches f61646d1a2 Only return product by SKU if published
Fixes #14480
2017-04-18 21:32:52 -03:00
Mike Jolley d4a8f3c25b fix coupon update 2017-04-15 21:48:22 +01:00
Mike Jolley 1f28b9d0b8 Other object types 2017-04-15 21:18:24 +01:00
Mike Jolley 27c9006f77 Product data store loop protection 2017-04-15 21:04:41 +01:00
claudiulodro 96ed33f227 Use read_downloads in variations 2017-04-14 14:18:08 -07:00
Mike Jolley 21da0cf71f Ensure name and file is set 2017-04-12 14:11:04 +01:00
Claudio Sanches 627d7a8790 Merge pull request #14278 from woocommerce/fix/14209-alt
Variation Attribute Name Fixes (simplified)
2017-04-11 17:25:28 -03:00
Mike Jolley 5cfed7569c Simplify wc_is_attribute_in_product_name and change separator 2017-04-11 21:12:30 +01:00
Claudio Sanches 3278d9e5d7 Merge pull request #14255 from woocommerce/fix/14163
Download permissions; Convert dates to timestamp on read so UTC is preserved.
2017-04-11 16:51:20 -03:00
Mike Jolley 510adc652c Download permissions; Convert dates to timestamp on read so UTC is preserved.
Fixes #14163
2017-04-11 13:13:03 +01:00
Mike Jolley 899176bee7 woocommerce_update_customer_args filter 2017-04-11 12:47:53 +01:00
Claudiu Lodromanean 903b176b99 Attribute title tweaks 2017-04-10 13:16:58 -07:00
Mike Jolley 243b7a0d3f Exclude location meta from setters 2017-04-10 12:16:25 +01:00
Govind Kumar 2ea79cc5ed Fixed issue #14124 2017-04-07 19:14:10 +05:30
Claudio Sanches 708df27719 Merge pull request #14117 from woocommerce/fix/14108
If variation tax class meta is not set, it should be 'parent' to support 2.6 data
2017-04-07 13:29:40 -03:00
Mike Jolley 7418b9f8b8 If variation tax class meta is not set, it should be 'parent' to support 2.6 data
Fixes #14108
2017-04-07 17:13:59 +01:00
Claudio Sanches 51c00cce09 Merge pull request #14099 from dixitadusara/issue-14089B
Modified suggestion of Invalid argument supplied for foreach ref #14089
2017-04-07 12:33:01 -03:00
Mike Jolley 4f412678bd Ensure meta_value has valid keys in read_attributes
Fixes #14085
2017-04-07 10:59:59 +01:00
dixitadusara e527b6608c modified suggestion of Invalid argument supplied for foreach ref #14089 2017-04-07 15:27:52 +05:30
dixitadusara 3ba9063d3d Invalid argument supplied for foreach - class-wc-product-data-store-cpt.php ref #14089 2017-04-07 13:24:34 +05:30
Mike Jolley 1b5cad3d78 Fix variation category restriction and limit to x uses
Fixes #14068
2017-04-06 21:51:11 +01:00
Claudio Sanches 14572c8d80 Merge pull request #13991 from woocommerce/fix/13928
When setting props, exclude deprecated ones
2017-04-06 16:20:34 -03:00
Mike Jolley 2877752e1f array_flip 2017-04-06 20:18:14 +01:00
Claudio Sanches 0529e4efab Merge pull request #14026 from woocommerce/fix/13978
Fix variable stock syncing
2017-04-06 16:06:26 -03:00
Mike Jolley 8f2287be12 Use get_children for comparison 2017-04-06 19:47:22 +01:00
Mike Jolley 5701b1f7e2 Get cross sells from parent
fixes #14054
2017-04-06 19:01:57 +01:00
Claudio Sanches 42ca7bda3d Merge pull request #13989 from woocommerce/fix/product-meta-save_post
Fix saving meta when using `save_post`.
2017-04-06 14:38:16 -03:00
Mike Jolley fd3e656912 Pull tax status from parent since there is no UI to set at variation level 2017-04-06 17:54:34 +01:00
Claudio Sanches 9a219b71da Merge pull request #14036 from woocommerce/fix/14032
Make sure we have a prefix for strstr
2017-04-06 10:25:46 -03:00
Mike Jolley 822412d03c Make sure we have a prefix for strstr
Closes #14032
2017-04-06 14:11:00 +01:00
Mike Jolley a7a896008c Fix up the child_is_in_stock function 2017-04-06 12:26:19 +01:00
Mike Jolley d570a81241 Set session data only if the value is empty in customer object. Prevents session data overwriting customer data on login.
Fixes #13906
2017-04-06 10:28:32 +01:00
Mike Jolley 70778abade When setting props, exclude deprecated ones
Fixes #13928
2017-04-05 23:16:45 +01:00
Justin Shreve 15bf1da7d5 Call save_meta_data before wp_update_post for data stores that use it, and refresh meta cache after. 2017-04-05 14:39:41 -07:00
Claudiu Lodromanean c02cee595e Add missing download_id param 2017-04-05 13:37:42 -07:00
Mike Jolley 359213d720 Fix direction 2017-04-05 20:25:21 +01:00
Mike Jolley 0035afc5a0 Make sure we have number > 0 so all variations are not deleted 2017-04-05 20:22:05 +01:00
Claudio Sanches f250cac8d1 Merge pull request #13967 from woocommerce/fix/13933
Use parent settings for determining if variations are sold individually.
2017-04-05 15:33:17 -03:00
Claudiu Lodromanean 5389844a1b Use parent data for sold_individually 2017-04-05 11:02:26 -07:00
Mike Jolley 27b35c0515 Using WPDB is quicker than wp_update_post 2017-04-05 18:40:59 +01:00
Mike Jolley ab4c921bd1 Wrap in try catch so WC_Data_Exceptions are caught on bad email. 2017-04-05 16:36:28 +01:00
Mike Jolley 71ce5b85bc Merge pull request #13884 from woocommerce/fix-13875-13877
Private and variable product fixes
2017-04-03 19:16:35 +01:00
Mike Jolley 0a96f17747 Flip orderby 2017-04-03 12:12:13 +01:00
Mike Jolley 8598f82c8a If user can edit private products, search them
Fixes #13877
2017-04-03 12:04:59 +01:00
Mike Jolley 31cd2dcb90 Merge pull request #13853 from woocommerce/crud-security-hardening
CRUD security/hardening
2017-04-03 11:09:38 +01:00
Mike Jolley 999a597055 Escaping in search orders 2017-03-31 17:14:08 +01:00
Mike Jolley 8a201b64c5 Only set dates if set/not null
Fixes #13848
2017-03-31 12:38:18 +01:00
Mike Jolley 14802a0307 Remove double unserialization 2017-03-31 12:10:20 +01:00
Mike Jolley 12e28a83f3 WC_Product_Variable_Data_Store_CPT::read_variation_attributes() cast to int 2017-03-31 11:37:12 +01:00
Mike Jolley 0d1cfe6fd2 Use prepare on `type` in payment token data store 2017-03-31 11:22:47 +01:00
Mike Jolley f1a699c259 Cleanup 2017-03-31 11:18:22 +01:00
Mike Jolley a443419006 remove extract and sanitize orderby against whitelist 2017-03-31 11:15:55 +01:00
Mike Jolley 399c141377 Fix slug updating in CRUD
Fixes #13824
2017-03-29 13:41:23 +01:00
Claudio Sanches 1c369e41e0 Merge pull request #13810 from woocommerce/fix-typo
Fix typo
2017-03-28 15:22:45 -03:00
Claudiu Lodromanean 28726570bf Use new_* hooks instead of created_* 2017-03-28 11:05:45 -07:00
Akeda Bagus 0b416439c8
Fixed all typos of all files in includes/ directory.
Scanning and fixing were done automatically by codespell,
https://github.com/lucasdemarchi/codespell.
2017-03-29 00:58:51 +07:00
Mike Jolley 3c008b8a56 Check for null 2017-03-28 17:26:58 +01:00
Mike Jolley 9d9c9cdc9e Merge pull request #13772 from crodas/order_item_should_check_if_there_is_any_change
Do not update order items every time if nothing changed
2017-03-28 15:28:40 +01:00
Mike Jolley 29d6f69a87 Revert "Clear parent transients on variation save"
This reverts commit 0694312cc9.
2017-03-28 14:32:52 +01:00
Mike Jolley e575904fbf Revert "Clear parent transient on variation creation"
This reverts commit 5f573b8777.
2017-03-28 14:32:46 +01:00
Mike Jolley 5f573b8777 Clear parent transient on variation creation 2017-03-28 14:01:02 +01:00
Mike Jolley 0694312cc9 Clear parent transients on variation save 2017-03-28 13:51:22 +01:00
Cesar Rodas 55ba115ac5 Make sure the changes includes either $name or $order_id 2017-03-28 08:47:01 -04:00
Claudiu Lodromanean 89128da8ba Fix child_has_dimensions 2017-03-27 11:52:03 -07:00
Cesar Rodas f2f6d76f6d Do not update woocommerce_order_items if nothing changed
Do not update the item (`woocommerce_order_items`) unless something changed.
2017-03-25 00:30:12 -03:00
Mike Jolley 0ad1f6a63f Merge pull request #13709 from woocommerce/fix-13708
Timezone/DST fixes
2017-03-24 10:25:08 +00:00
Mike Jolley 7e462b9cca Data store date handling 2017-03-23 00:10:29 +00:00
Mike Jolley 3b35d95c6a Use gmdate and GMT in data stores so times are not changed 2017-03-22 12:01:38 +00:00
Mike Jolley 414e2b9501 Shared cache for order items 2017-03-21 23:50:05 +00:00
Mike Jolley 91f109c33d Cache order item data 2017-03-21 23:38:04 +00:00
Mike Jolley 2763abb605 Cache order items 2017-03-21 23:37:47 +00:00
Mike Jolley c4c8edee5f Remove order and product factory cache 2017-03-21 23:37:38 +00:00
alarocca130 7dc539e43b Fix: post_meta function for payment token meta 2017-03-21 17:41:00 +01:00
Mike Jolley 9bcfcb82c5 Merge branch 'master' into remove-product-internal-meta-keys
# Conflicts:
#	includes/data-stores/class-wc-product-data-store-cpt.php
2017-03-20 16:13:45 +00:00
Mike Jolley 2dbf0d7560 Merge pull request #13656 from woocommerce/remove-post-internal-meta-keys
Remove post related internal post keys from products
2017-03-20 12:48:39 +00:00
JeroenSormani a29ba23fab Miscellaneous cleanup of typos + change some return types for IDE helpers 2017-03-20 11:03:14 +01:00
Claudio Sanches 2d400bffd2 Remove post related internal post keys froom products 2017-03-17 17:37:38 -03:00
Claudio Sanches 1a87792109 Remove some product internal meta keys 2017-03-17 17:30:38 -03:00
Claudio Sanches 0f4a8b88e2 Merge pull request #13612 from woocommerce/fix-payment-token-extra-data
Prevents combining empty arrays in WC_Payment_Token_Data_Store
2017-03-15 15:53:25 -03:00
Claudio Sanches abb053b277 Prevents combining empty arrays in WC_Payment_Token_Data_Store
PHP 5.3 and 5.2 issue E_WARNING and return FALSE for empty arrays.
2017-03-15 15:39:24 -03:00
Claudio Sanches c856abba3e Change default WordPress auto-draft title for product
This helps handle variations title while syncing variations.

Using a translatable string can led to errors, like a auto-draft started
by an user with WP admin set up as pt_BR and published by an user in
en_GB.
2017-03-15 15:12:49 -03:00
Claudio Sanches dfd2d7387c Revert 71ecb57 2017-03-15 14:08:41 -03:00
Claudio Sanches 71ecb57d2d Fixed missing text domain 2017-03-15 13:59:18 -03:00
Claudio Sanches 59c2849736 Changed version 2.7 to 3.0 2017-03-15 13:36:53 -03:00
Mike Jolley 75a5b062cf Merge pull request #13577 from woocommerce/fix-13498
Timezone/Date method handling
2017-03-15 16:09:41 +00:00
Mike Jolley d55653a408 Merge branch 'master' into fix-13498
# Conflicts:
#	includes/class-wc-order.php
#	tests/unit-tests/crud/data.php
2017-03-15 15:52:40 +00:00
Mike Jolley a34dd0480d Merge pull request #13587 from woocommerce/fix-13525
Update coupon date handling
2017-03-15 15:26:41 +00:00
Claudiu Lodromanean 111246771c Use date_expires meta key 2017-03-15 07:38:57 -07:00
Boro Sitnikovski 74388dafbf Do not pass `true` to `update_post_meta` as prev value. 2017-03-15 14:33:24 +01:00
Claudiu Lodromanean cb3568add9 Add new meta key to internal meta keys 2017-03-14 14:14:07 -07:00
Claudiu Lodromanean 9e724d44cc Save expiry time in new utc timestamp meta field 2017-03-14 12:49:40 -07:00
Justin Shreve fb124232cf Update Payment Tokens to follow the same pattern for custom data as other object types.
Payment tokens was introduced in 2.6 and was updated to use the new CRUD code while some of the CRUD system was still in flux.

While most things were correct, the prop handling for custom fields (like a card's last 4 digits) were directly calling meta functions, instead of delegating to the data store/parent.

This PR moves these props to `extra_data` and follows the same pattern as product types or order items. It also updates some version tags to 3.0.0. Finally, it adds an additional test for saving meta after a create which looks like it was lacking.

To Test:
* Run `phpunit`.
* Go to the "My Account" tab and add a new payment method. You need a payment gateway that supports this, like Simplify.
* Test the add a payment method flow.
* Make a test purchase using the saved payment method.
2017-03-14 12:33:35 -07:00
Claudiu Lodromanean 3476121709 Use local time where appropriate 2017-03-14 10:27:48 -07:00
Claudiu Lodromanean f042305ff7 Update date_expires meta handling 2017-03-14 08:10:31 -07:00
Mike Jolley e13badcdb3 Merge pull request #13584 from woocommerce/13527-update-downloads-dates
Apply WC_DateTime to WC_Customer_Downloads
2017-03-14 12:11:28 +00:00
Claudio Sanches c4134586cd FUpdate how save download dates 2017-03-13 20:54:33 -03:00
Claudiu Lodromanean b3c846da56 Use 2.6-format data for the expiry_date meta value 2017-03-13 14:37:34 -07:00
Mike Jolley 9bee678819 API updates 2017-03-13 21:36:31 +00:00
Claudiu Lodromanean f1925e561a Update coupon data store to use new dates 2017-03-13 14:24:05 -07:00
Mike Jolley 1bac579df7 Date getters and setters 2017-03-13 19:52:44 +00:00
Mike Jolley 38afff0031 Merge pull request #13516 from woocommerce/fix-13505
Make increase_usage_count work correctly on concurrent checkout
2017-03-10 19:07:57 +00:00
Mike Jolley 61484ed711 Update API endpoints 2017-03-10 18:54:59 +00:00
Claudiu Lodromanean d630b948e3 Better increase/decreasing 2017-03-10 10:28:56 -08:00
Claudiu Lodromanean d70723553d CHange vary to update 2017-03-10 09:18:14 -08:00
Mike Jolley c2339e1983 Data store read 2017-03-10 14:48:18 +00:00
Mike Jolley bdc302a9fb Data store write 2017-03-10 14:44:00 +00:00
Claudiu Lodromanean 3aea9a0b2f DRY out the meta bumping functions 2017-03-09 08:51:47 -08:00
Mike Jolley 6848fad224 Merge branch 'timezone-poc' into fix-13498 2017-03-09 16:10:07 +00:00
Mike Jolley 28a8d05285 Handle date paid in getter and during save to avoid filters during construct 2017-03-09 14:40:19 +00:00
Mike Jolley a5c10d07c1 Fix is_purchasable (requires save) when price is null
Fixes #13043
2017-03-09 13:26:12 +00:00
Claudiu Lodromanean e36ee46dea Make increase_usage_count work correctly on concurrent checkoutt 2017-03-08 15:27:37 -08:00
Mike Jolley a490b85d3e Handle saves 2017-03-08 16:51:46 +00:00
Aristeides Stathopoulos 70ee7ae7ea Fix some PHPCS errors 2017-03-07 19:57:28 +02:00
Claudio Sanches 64b45e9909 Prevent update or list _order_count and _money_spent on WC_Customer_Data_Store 2017-03-06 19:03:26 -03:00
Mike Jolley 296daf19c2 Avoid wc_clean
Fixes #13464
2017-03-06 14:53:32 +00:00
Mike Jolley 8440083fef Merge pull request #13443 from woocommerce/cache-groups
Standardize cache group names
2017-03-03 10:44:34 +00:00
Mike Jolley 0a53e0e47f Merge pull request #13444 from woocommerce/fix-13420
Set date paid for old orders
2017-03-03 10:41:33 +00:00
Mike Jolley 35eea95550 Set date paid for old order 2017-03-02 17:47:28 +00:00
Mike Jolley 1a8737fdeb Standardize cache group names 2017-03-02 17:15:39 +00:00
Mike Jolley fd07d06825 Update date created/modified if changed.
Fixes #13419
2017-03-02 16:46:59 +00:00
Mike Jolley 432ca28398 Update cart discount for old orders (#13384)
* Total discount bw compat handling

Fixes #13383

* if
2017-02-28 17:49:54 +00:00
Mike Jolley 41a4bdb181 Fix trashed variation cleanup
Fixes #13388
2017-02-28 15:38:11 +00:00
Mike Jolley fd94ce74bc Rogue exit in data store 2017-02-28 00:53:41 +00:00
Mike Jolley 84a4c3415c Handle auto drafts
Fixes #13361
2017-02-27 14:40:48 +00:00
Mike Jolley 194ed85d0e Change title update logic to look at product version and prefix
Fixes #13363
2017-02-27 14:40:32 +00:00
Mike Jolley 1d9f71fee5 Wrap read with try catch block 2017-02-23 12:09:39 +00:00
Mike Jolley 4e7658a5ba Fix duplication by passing through force
Fixes #13286
2017-02-22 13:15:33 +00:00
Mike Jolley 7aeb151bb6 Fix download count 2017-02-20 13:36:15 +00:00
Claudio Sanches 486a81bf12 Fixed coding standards 2017-02-17 16:10:15 -02:00
pierrebuet 15275130e2 Fix access expires not set (#13227)
* fix user id for download file

* fix access expires for download when not set

‚NULL‘ trigger a 0000-00-00 00:00:00
 as date in the database column. In order to write a real Null to the
database, the quotations must be deleted
2017-02-17 15:04:21 +00:00
Mike Jolley 1348f6efd7 Merge branch 'master' into db-schema-tweaks
# Conflicts:
#	includes/admin/class-wc-admin-duplicate-product.php
2017-02-16 16:33:20 +00:00
Mike Jolley 2505abeb21 Merge pull request #13202 from woocommerce/fix-13199
Duplicate products; fix variation creation and add actions
2017-02-16 16:18:53 +00:00
Mike Jolley b69988fe39 Correct changes in variation data update and fix context 2017-02-16 16:07:11 +00:00
Mike Jolley 5309b4ca7d woocommerce_delete_order_refund 2017-02-16 12:33:47 +00:00
Mike Jolley f664fb955f Refunds cannot be trashed
Avoid trashed status after deleting a refund.

Fixes #13200
2017-02-15 17:02:05 +00:00
Mike Jolley 2f685691a4 Standardise update meta calls, and support forcing
Force allows create to make sure data is set regardless of whether it
was changed. This fixes product duplication.

Fixes #13199
2017-02-15 14:40:57 +00:00
Claudio Sanches 9012fead56 Merge pull request #13136 from woocommerce/improvement-12990
Add logic to variation title generation and remove redundant template info.
2017-02-14 19:15:48 -02:00
Manos Psychogyiopoulos 821b360ac1 remove stray error_log 2017-02-14 18:26:40 +02:00
Manos Psychogyiopoulos 1895f65d2d allow update_post_meta and handle_updated_props to be overriden 2017-02-14 18:14:37 +02:00
Akeda Bagus 840a4b18a6
Fix wrong meta key in recorded_coupon_usage_counts getter/setter.
Fixes #13183.
Fixes #13182.
2017-02-14 17:33:32 +07:00
Claudiu Lodromanean 3068d56bac Remove unused variable 2017-02-13 14:19:26 -08:00
Claudiu Lodromanean a8b491b55b Handle product titles with no attributes 2017-02-13 11:45:25 -08:00
Mike Jolley 00cda91c73 Merge pull request #13164 from woocommerce/lazy-update-products-13157
Lazy update products
2017-02-13 17:24:51 +00:00
Mike Jolley d080e135ee Reduce `select *` usage 2017-02-13 12:58:42 +00:00
Mike Jolley a20c0da580 syntax error 2017-02-11 15:50:21 +00:00
Mike Jolley ca1d49b2b6 Conditional visibility and downloads 2017-02-11 15:35:20 +00:00
Mike Jolley 91ac4a2e56 Remove update_term_counts
This does not look to be necessary because we use wp_set_post_terms
which handles this for us. Seems to be inherited from legacy.
2017-02-11 15:27:52 +00:00
Mike Jolley 8494bf7bee Conditonal post data saving 2017-02-11 15:26:13 +00:00
Mike Jolley 31d428131e Imrpove checkout performance when updating product sales 2017-02-10 23:41:53 +00:00
Claudiu Lodromanean 8a05f72f78 Minor clean-up 2017-02-10 14:35:26 -08:00
Claudiu Lodromanean b6b3f0c217 Modify product title logic 2017-02-10 10:19:05 -08:00
Claudiu Lodromanean e330ab4158 Pass product into filters 2017-02-09 14:05:40 -08:00
Claudiu Lodromanean a3f9207839 Add logic to variation title generation 2017-02-09 14:03:00 -08:00
Justin Shreve 8a6bae374f Switch from get_the_title to the post objects post_title. 2017-02-09 08:43:48 -08:00
Claudio Sanches 094b86c92b Merge pull request #13104 from woocommerce/fix-13015
Inherit shipping class id from parent
2017-02-09 13:37:54 -02:00
Claudio Sanches e3b563c518 Merge pull request #13044 from woocommerce/crud-perf-tweaks
[2.7] CRUD performance improvements for emails
2017-02-09 13:25:29 -02:00
Mike Jolley dcce2a4190 Change order of execution on checkout so shipping is required.
Closes #12992
2017-02-09 12:59:13 +00:00
Mike Jolley 7ff301e2ca Merge branch 'master' into crud-perf-tweaks
# Conflicts:
#	includes/data-stores/class-wc-order-item-data-store.php
2017-02-09 12:31:25 +00:00
Justin Shreve 65b99bf240 moved order item type check to order item data store 2017-02-08 11:42:36 -08:00
Justin Shreve ae5293aeb9 Move the get type logic out of the product factories and into the data stores. 2017-02-08 11:18:39 -08:00
Claudiu Lodromanean 4525f91223 Merge pull request #13112 from woocommerce/fix-13106
Don't round values in get_on_sale_products
2017-02-08 10:14:52 -08:00
Claudiu Lodromanean dce81b4d4e Use store's decimal settings when figuring out what's a sale product 2017-02-08 09:04:13 -08:00
Mike Jolley 718149f1d4 Merge pull request #12999 from thenbrent/add_sort_variation_prices
Move price sorting into WC_Product_Variable::sort_variation_prices()
2017-02-08 10:29:30 +00:00
Claudiu Lodromanean 06c17d6be4 Add whitespace between parens 2017-02-07 13:57:01 -08:00
Claudiu Lodromanean 8ce5356943 13106 Dont round values in get_on_sale_products 2017-02-07 13:46:00 -08:00
Mike Jolley a4f87293ca Inherit shipping class id from parent 2017-02-07 12:35:24 +00:00
Brent Shepherd 8431b2ac86 Remove 'edit' param on get_visible_children()
The WC_Product_Variable::get_visible_children() method accepts no parameters.
2017-02-03 14:53:03 -08:00
Mike Jolley 3529d7cafd Cache items 2017-02-01 14:54:18 +01:00
Mike Jolley 31308403d4 Use variables to save values in item crud. 2017-02-01 10:53:53 +01:00
Mike Jolley 5a2b07763d Update metadata directly 2017-02-01 02:03:18 +01:00
Mike Jolley 5e2f1de36b get id once 2017-02-01 01:44:16 +01:00
Mike Jolley 2d013eb5be Handle wp prefix in php 2017-02-01 01:43:52 +01:00
Mike Jolley 5b221b4ed0 Edit context
#12936
2017-01-31 17:26:49 +01:00
Mike Jolley dee73d4056 Use edit context on load
Closes #12936
2017-01-31 09:39:19 +01:00
Mike Jolley abe87d9bfa Merge pull request #12967 from woocommerce/fix/variation-get-name
Clean up variation names.
2017-01-27 17:01:34 +00:00
Brent Shepherd e7e434da4b WC_Product_Variable::sort_variation_prices()
To keep variation sorting logic inside the variable product, and separate
from the database storage logic in WC_Product_Variable_Data_Store_CPT
2017-01-26 12:47:46 -08:00
Justin Shreve 7b1adfb98f Bake out of get_title deprecation changes 2017-01-26 07:46:59 -08:00
Justin Shreve 32651f638c When updating payment tokens, only update the props that have changed + fire off a hook of the changed props. 2017-01-25 11:05:54 -08:00
Justin Shreve 318046789c Comment clarifying translation wrapper. 2017-01-25 10:40:14 -08:00
Justin Shreve 9889efec75 Catch Product # titles and remove error logs 2017-01-25 10:37:48 -08:00
Justin Shreve f344143b63 Catch variation text and update 2017-01-25 10:27:28 -08:00
Mike Jolley 5746c87580 Merge pull request #12968 from woocommerce/updated-props-action
Fire actions for updated props
2017-01-25 00:10:48 +00:00
Mike Jolley 3afb00da06 Fixed Typo 2017-01-25 00:09:57 +00:00
Mike Jolley ea817a5c88 Merge pull request #12970 from thenbrent/check_variation_post_type
Check post type during read of product variations
2017-01-25 00:08:54 +00:00
Mike Jolley 90fd0da7d0 Fire actions for updated props 2017-01-24 21:38:02 +00:00
Brent Shepherd 49095f0a6c Check post type during read of product variations
Continuation of #12795
2017-01-24 12:28:02 -08:00
Brent Shepherd f2cb083bd6 Read extra data for variation products
So that classes can extend WC_Product_Variation and use the existing
WC_Product_Variation_Data_Store_CPT class, rather than having to create
a new data store class to set the WC_Product_Variation::$extra_data
values.
2017-01-24 12:20:15 -08:00
Brent Shepherd 56c427acba Add WC_Product_Data_Store_CPT::read_extra_data()
So that a product's $extra_data can also be read by child classes of
WC_Product_Data_Store_CPT, like WC_Product_Variation_Data_Store_CPT,
without duplicating the code to read it.
2017-01-24 12:18:35 -08:00
Justin Shreve 2b464d2e52 Deprecate get_title and it's hook, use get_name instead and pull name from parent. 2017-01-24 12:10:36 -08:00
Justin Shreve 2cdf950963 Merge pull request #12950 from woocommerce/fix/meta-update
Data Stores & update_post_meta: Update changed & keys that don't exist.
2017-01-24 07:14:54 -08:00
Justin Shreve 711a381ff6 Remove error log 2017-01-23 13:16:49 -08:00
Justin Shreve 3d55efffac Move order logic to wc-order 2017-01-23 13:08:55 -08:00
Justin Shreve 1ab0b34926 Fix meta handling logic for update_post_meta: Only update keys that have changed or don't exist. 2017-01-23 12:20:29 -08:00
Brent Shepherd 1ac2c1a94f Move price hash to separate function
So that it can be used by child classes without copy/pasting code.
2017-01-23 11:57:49 -08:00
Mike Jolley 1e9659b235 Merge pull request #12884 from kreamweb/master
Fix: usermeta table name, in a multisite the usermeta table is common…
2017-01-23 11:54:59 +00:00
Brent Shepherd ff627b31f6 Make variable data store private methods protected
So they can be inherited by other variable product types, like
variable subscriptions.
2017-01-20 11:09:49 -08:00
Mike Jolley fa9fed4e4d Merge pull request #12908 from thenbrent/fix_refund_data_store_read
[2.7] Fix WC_Order_Refund_Data_Store_CPT::read() and Abstract_WC_Order_Data_Store_CPT's support for other custom order types
2017-01-20 10:44:18 +00:00
Mike Jolley f44b4f6e9f Merge pull request #12907 from thenbrent/get_order_count_param
[2.7] Fix name of get_order_count() param
2017-01-20 10:43:06 +00:00
Brent Shepherd c8f003d5b0 Fix WC_Order_Refund_Data_Store_CPT::read()
Abstract_WC_Order_Data_Store_CPT::read() hardcoded its validation against
the 'shop_order' post type. However, custom order types created via the
wc_register_order_type() API can use different post types. For example,
refunds have the post type: 'shop_order_refund'.

This patch changes the Abstract_WC_Order_Data_Store_CPT::read() validation
to check that the post type is any of the registered order types.

This fixes refunds and 3rd party custom order types, like subscriptions.
2017-01-19 16:18:42 -08:00
Brent Shepherd f9569df1ee Fix naming of get_order_count() param
The parameter is actually an order status, not type.
2017-01-19 15:40:20 -08:00
Justin Shreve 98343ffe26 Fix docblocks and cast the order ID as int after our query. 2017-01-19 09:38:23 -08:00
Justin Shreve a1446c9591 Add method for getting order id from order item id. 2017-01-19 09:30:19 -08:00
emanuela castorina c4c78442cf Fix: usermeta table name, in a multisite the usermeta table is common to all sites 2017-01-18 18:11:21 +01:00
Justin Shreve b660eda4b8 Add date searching to wc_get_orders. 2017-01-17 12:52:27 -08:00
Claudio Sanches fbfb195f2f Fixed interfaces file names and location 2017-01-16 19:33:21 -02:00
Manos Psychogyiopoulos 892d5da7e9 get prices in 'edit' context when updating meta 2017-01-16 17:33:30 +02:00
Mike Jolley ba8f308100 Merge branch 'master' into orphan-variations-fix-12614
# Conflicts:
#	includes/class-wc-post-data.php
2017-01-11 15:42:20 +00:00
Mike Jolley 80f79ae98d Trash and untrash variations handling
Fixes #12774
2017-01-11 15:41:19 +00:00
Mike Jolley de11be2b6c space 2017-01-11 12:37:03 +00:00
Mike Jolley 9706104128 Fix test case 2017-01-11 12:33:38 +00:00
Mike Jolley 8e7687b9fc Add method to delete variations 2017-01-11 11:48:39 +00:00