Commit Graph

408 Commits

Author SHA1 Message Date
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