Commit Graph

651 Commits

Author SHA1 Message Date
Mike Jolley bd539e38f0 Remove output buffering 2018-04-19 18:27:29 +01:00
Khan M Rashedun-Naby 74c2ceb3d1 Removed unnecessary variable. 2018-04-17 00:09:30 +06:00
Mike Jolley 1b34cd4745 Moved settings tabs around to allow for privacy page. 2018-04-12 16:59:42 +01:00
Mike Jolley 47fbd79d8f Clear shipping transient when saving shipping method on zones screen 2018-04-10 12:25:09 +01:00
Rodrigo Primo bb553c88ae Merge branch 'master' into feature/product-custom-tables-supporting-changes 2018-03-29 12:05:55 -03:00
Mike Jolley 04eadf13ac Merge branch 'master' into update/18894 2018-03-08 13:08:40 +00:00
Rodrigo Primo 3a480e5d80 Merge branch 'master' into feature/product-custom-tables-supporting-changes 2018-03-01 08:02:08 -03:00
Mike Jolley f3ab50d962
Merge pull request #19135 from Chouby/ajax_wp_die
Replace exit by calls to wp_die() in ajax responses
2018-02-27 19:09:41 +00:00
Mike Jolley e1beda3eb0 Use relative scheme for ajax endpoint 2018-02-26 18:51:46 +00:00
Frédéric Demarle b2f59b0da5 Replace exit by calls to wp_die() in ajax responses 2018-02-26 18:27:25 +01:00
Mike Jolley f8edd02285 phpcbf auto fixes 2018-02-22 15:37:01 +00:00
Mike Jolley 9571a90c9f phpcs 2018-02-22 14:30:13 +00:00
Mike Jolley 0f85e00af1 Product search functions should check for read access, not edit access 2018-02-22 14:11:27 +00:00
Claudio Sanches fe83dfdba7 Merge branch 'master' into fix/18545 2018-02-21 19:15:45 -03:00
Mike Jolley 6f855c781f Fix response/ajax handling for #18080 2018-02-19 14:56:30 +00:00
Mike Jolley 5fce9152bd
Merge pull request #18080 from WPprodigy/fix-stock-update-order-notes
Enhancements for stock updates
2018-02-19 14:51:05 +00:00
Gerhard Potgieter 780905cd0e Merge branch 'master' into feature/product-custom-tables-supporting-changes 2018-02-08 10:11:27 +02:00
Mike Jolley 3ce51d9791 JSON context 2018-01-22 14:11:43 +00:00
Gerhard Potgieter 8e6afdfdc7 Fix indentation 2018-01-19 09:57:27 +02:00
Gerhard Potgieter b495e803e8 Reworks the ajax user lookup so it caters for numeric usernames without affecting performance of lookups by ID. 2018-01-19 09:52:05 +02:00
Mike Jolley a110180643 Saving taxes should invalidate caches. 2018-01-18 17:47:26 +00:00
Mike Jolley 672a31e7c6 Merge branch 'master' into feature/product-custom-tables-supporting-changes 2018-01-16 10:40:19 +00:00
claudiulodro cdad70a6b1 Safety first 2018-01-03 13:40:51 -08:00
claudiulodro afdc737ec5 Ajax add to cart button shortcode fix for variations 2018-01-03 13:38:06 -08:00
Caleb Burks 457e60d253 Allow for multiple stock updates at once 2017-12-09 22:22:41 -06:00
Caleb Burks 4f187a0840 Ajaxify the order note addition 2017-12-09 00:32:35 -06:00
Caleb Burks 2237c35912 Set $added_by_user to true
These stock updates are done manually
2017-12-08 22:33:09 -06:00
Caleb Burks e88ef38a76 Standardize stock update messages
Essentially just use get_formatted_name(), that way the product name appears along with either the sku or ID
2017-12-08 22:29:01 -06: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
Mike Jolley 5d42a64b73 Merge branch 'master' into update/order-screen-refinements 2017-12-04 13:44:27 +00:00
Mike Jolley 85cd9647df
Merge pull request #17871 from ragulka/delete-refund-on-exception
Ensure refund is deleted when exception is thrown during wc_create_refund()
2017-11-23 13:06:40 +00:00
claudiulodro 5513dc4546 Update with master 2017-11-22 11:02:14 -08:00
Mike Jolley 3773b81bc9 Merge branch 'master' into update/order-screen-refinements
# Conflicts:
#	includes/admin/meta-boxes/views/html-order-item.php
2017-11-22 16:32:34 +00:00
ragulka 4f2e1ee8d4 Ensure refund is deleted when exception is thrown during wc_create_refund 2017-11-22 17:03:58 +01:00
Ahmed Ali d8050f99b1 fixing typo replace add to cart to be remove from cart 2017-11-22 14:33:21 +02:00
Mike Jolley 98bebd14f2 Hooks for columns and preview list tables 2017-11-21 16:22:43 +00:00
Mike Jolley 830ef8ed73 Change status action buttons 2017-11-20 22:43:37 +00:00
claudiulodro a73436bdcd Merge remote-tracking branch 'origin/master' into HEAD 2017-11-20 14:43:12 -08:00
Claudiu Lodromanean 106e6533f2
Merge pull request #17781 from woocommerce/fix/17629
When populating defaults, sanitize
2017-11-18 13:40:40 -08:00
Mike Jolley a765367dd5
Merge pull request #17747 from woocommerce/feature/allow-add-content-to-order-preview
Introduce hooks to allow custom content into order preview
2017-11-18 18:26:08 +00:00
Mike Jolley 8a2050e066 When populating defaults, sanitize
part of #17775

Caused by https://github.com/woocommerce/woocommerce/pull/17629/files
leaving attribute names uppercase.
2017-11-18 13:55:26 +00:00
Mike Jolley f207fdcde9 Reload attributes html on save 2017-11-17 15:43:14 +00:00
Mike Jolley 72e078e83e Merge branch 'fix/17236'
# Conflicts:
#	includes/class-woocommerce.php
2017-11-17 12:49:02 +00:00
Claudio Sanches 563896931e Introduced hooks to allow custom content into order preview 2017-11-16 18:48:47 -02:00
claudiulodro 0390cf3e26 Bring up-to-date with master 2017-11-16 10:06:07 -08:00
Akeda Bagus 6572ee7852
Added missing meta info (author and date) when adding order note.
Fixes #17717.
2017-11-16 02:03:07 +07:00
Mike Jolley 128b826791 Merge branch 'master' into tweak/order-screens
# Conflicts:
#	assets/css/admin-rtl.css
#	assets/css/admin.css
#	includes/admin/class-wc-admin-post-types.php
2017-11-15 13:36:13 +00:00
Mike Jolley dea454c88e Clickable elements 2017-11-15 12:51:14 +00:00
claudiulodro 3050959836 Variations stock status 2017-11-14 14:18:03 -08:00
Mike Jolley 220728544a
Merge pull request #17631 from woocommerce/update/page-caching-class
Page caching class
2017-11-10 14:12:13 +00:00
Claudio Sanches b2105774c9
Merge pull request #17629 from woocommerce/fix/17613
Set attributes during variation creation
2017-11-09 16:45:57 -02:00
Mike Jolley 9f059e17a9 Add helper function instead of calling method, and restore old method for bw compat 2017-11-08 15:07:00 +00:00
Gerhard Potgieter 7b9fb6c0cb Change nocache_headers hook firing (#17540)
* wp hook is too late to fire the nocache_headers filter, some caching plugins read it before that it seems.

* Create do_not_cache_page helper function and call that instead of nocache_headers

* Must add checks to prevent caching on certain pages as well

* Nothing to return
2017-11-08 14:27:30 +00:00
Mike Jolley 0d25375593 Set attributes during variation creation 2017-11-08 13:12:54 +00:00
Mike Jolley 10ea761a7d Pass order location through to order ajax functions which recalc taxes.
Closes #17236
2017-11-02 17:31:03 +00:00
Mike Jolley 1f7ecd9fb9 Merge branch 'master' into tweak/order-screens
# Conflicts:
#	assets/js/frontend/checkout.min.js
2017-11-01 16:52:21 +00:00
Gerhard Potgieter 1e66cedaf0 Save order items before adding new one when there are unsaved changes. Closes #17384 (#17402) 2017-10-27 12:38:10 +01:00
Gerhard Potgieter ec1a70ad14 When deleting an order item and there are changes to other items, first save those before deleting. 2017-10-20 11:51:16 -07:00
Mike Jolley 5a22c7fa97 Fix tax rate save when only changing shipping checkbox 2017-10-12 11:30:41 +01:00
Claudio Sanches a509161724 Merge pull request #16991 from woocommerce/fix/16988
Just use home_url for wc-ajax requests
2017-09-29 11:42:08 -03:00
Mike Jolley fbe6db5c02 Just use home_url for wc-ajax requests 2017-09-29 15:08:14 +01:00
Mike Jolley e0421cd7bc Replay protection on refunds
Sends the current refunded amount with the request, so if a refund is
attempted twice it will mismatch.

Fixes #13614
2017-09-28 16:17:13 +01:00
Claudio Sanches f2da349bcf Remove slash frmo ajax endpoint 2017-09-27 14:00:58 -03:00
Claudio Sanches 5721bc6044 Improved WC_AJAX->get_endpoint() 2017-09-27 12:07:27 -03:00
Mike Jolley 4275c65ff0 Show error messages for ajax application of coupons 2017-09-27 12:50:20 +01:00
claudiulodro 4f5356160b Dont load gateways unless we really need them 2017-09-25 14:37:13 -07:00
claudiulodro c889908ac8 Load up gateways on ajax order status transitions 2017-09-25 14:34:43 -07:00
Matt Miller a871d36380 Added wp_unslash() to address fields on the checkout page (#16874)
* Added wp_unslash() to address fields on the checkout page

* Cleaned up code indentation

* Added wp_unslash() function on remaining POST address fields on checkout
2017-09-21 17:37:27 +01:00
Mike Jolley a7b2ae8661 Update shipping code to see if full address has been entered before showing no shipping notice
Fixes #16757
2017-09-08 14:54:15 +01:00
Mike Jolley 2a71a66fc9 Order screen refinements and preview window 2017-09-04 17:42:31 +01:00
Mike Jolley e0b4d59bb6 Merge pull request #16566 from franticpsyx/reload-order-items-on-add
Reload items table after adding line item manually
2017-08-29 10:08:29 +01:00
Manos Psychogyiopoulos a55c2714f5 Do away with 'new_row' class 2017-08-29 12:02:02 +03:00
Mike Jolley 804feb9333 Store fee amount and prevent totals going negative 2017-08-23 12:15:06 +01:00
Mike Jolley f18a146d0f Prompt to apply fee in admin 2017-08-23 11:22:18 +01:00
Manos Psychogyiopoulos 1596979d75 Reload order items on add 2017-08-22 15:19:20 +03:00
Mike Jolley 95cc51ae5c Swap to text input for tax rate %, and format as decimal.
Closes #16524
2017-08-21 12:49:23 +01:00
Claudiu Lodromanean a4d3518a61 Merge pull request #16508 from woocommerce/remove-manual-discounts
Removed manual discounts code
2017-08-18 08:30:07 -07:00
Mike Jolley b34b7bf850 Merge pull request #16512 from Umangvaghela/issue-16511
Yoda condition is missing in class-wc-ajax.php
2017-08-18 12:08:06 +01:00
Umangvaghela 5e8723b99e Set Yoda condition 2017-08-18 16:26:21 +05:30
Mike Jolley a9a93436fc rename ajax method 2017-08-18 10:59:55 +01:00
Mike Jolley e99471c0cd Removed manual discounts code 2017-08-18 10:36:10 +01:00
Mike Jolley 835d0ab450 Fix remove tax column
Closes #16443
2017-08-15 14:51:12 +01:00
Mike Jolley 87858d1407 recalc on remove/add 2017-08-10 16:32:24 +01:00
claudiulodro a416ebe09b It kind-of works. 2017-08-09 14:55:35 -07:00
Mike Jolley d40edfe9a6 add_order_discount ajax method 2017-08-09 14:54:30 +01:00
James Kemp 8ebe8a1720 Add sorting ID and menu orders to sorting action 2017-08-05 12:05:47 +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 0517673cfa Reverse results of wc_array_cartesian so variations are created in a more expected way
Closes #16117
2017-07-17 11:02:47 +01:00
Claudio Sanches eb4caec13e Applies wc_delete_order_note() and properly delete notes by AJAX 2017-07-13 19:38:37 -03:00
Mike Jolley 37fc4c8f77 Ajaxify the product category filter (#16110)
* Ajaxify the product category filter

Closes #12773

* Min
2017-07-13 17:04:40 +01:00
Mike Jolley 7c321a2269 Ajaxify widget remove from cart button
Fixes #13171
2017-07-13 12:15:13 +01:00
Mike Jolley 6685a4199c Pass correct value to woocommerce_shipping_classes_save_class when inserting a new term
Fixes #16027
2017-07-10 10:03:46 +01:00
Mike Jolley bf613bc922 Limit results to 20 for short strings and allow < 3 chars 2017-05-16 10:16:04 +01:00
Mike Jolley 25bca1c218 Merge branch 'pr/13391' 2017-04-28 13:36:10 +01:00
Mike Jolley ca0c3e0bb8 Merge pull request #14064 from rafsuntaskin/develop
added bulk variation update for stock status, resolves #14046
2017-04-27 17:37:59 +01:00
Mike Jolley 801f5e1eb1 Avoid escaped quote chars in strings
Closes #14670
2017-04-26 13:51:53 +01:00
Claudio Sanches accf956632 Merge pull request #14500 from woocommerce/fix/14494
Removed the non-functional order total input and combine the recalculation buttons into one working button.
2017-04-20 00:43:22 -03:00
Manos Psychogyiopoulos 1670f9ae60 Fix typo in json_search_downloadable_products_and_variations 2017-04-19 13:20:05 +03:00
Mike Jolley 2a4103d776 Removed the non-functional order total input and combine the recalculation buttons into one working button.
Fixes #14494
2017-04-18 19:44:42 +01:00
Claudio Sanches 4133f77a31 Merge pull request #14242 from dixitadusara/issue-14227
Incorrect sale dates set when bulk editing variations ref #14227
2017-04-11 17:26:58 -03:00
dixitadusara 1bf13e2b8b Incorrect sale dates set when bulk editing variations ref #14227 2017-04-11 13:04:39 +05:30
rafsuntaskin ac5de585e5 added bulk variation update for stock status, resolves #14046 2017-04-07 02:11:04 +06:00
Claudio Sanches 2ffb2e8853 Allow search customers by ID in admin customer ajax search
Closes #13980
2017-04-06 02:19:12 -03:00
Claudio Sanches 014262c0cc Fixed returned data from WC_AJAX::get_customer_details() 2017-04-03 03:00:07 -03:00
Claudio Sanches 1fe791d7d8 Fixed WC_AJAX::get_customer_details() filter deprecated message 2017-04-03 02:59:07 -03:00
Mike Jolley 82ffd9894f Filter empty tax values
Fixes #13822
2017-03-29 13:13:00 +01:00
Mike Jolley 15bbac6b5c Allow `data-coupon` though kses
Fixes #13700
2017-03-22 10:53:18 +00:00
Mike Jolley 196ba7b770 Ensure we have a product before checking if it exists
Fixes #13642
2017-03-17 16:26:26 +00:00
Claudio Sanches 59c2849736 Changed version 2.7 to 3.0 2017-03-15 13:36:53 -03:00
Claudio Sanches 98d26521d1 Keep date compatibility in WC_Ajax::get_customer_details() 2017-03-10 20:13:56 -03:00
Lars Støttrup Nielsen 7829ec297a do_action on single product reordering 2017-02-25 16:42:35 +01:00
Claudio Sanches 1eccb65d85 Fixed coding standards 2017-02-24 17:30:41 -03:00
Mike Jolley 04aebd9fa7 Merge pull request #13306 from woocommerce/fix-13303
Fix multiple item additon to orders
2017-02-23 18:11:02 +00:00
Frédéric Demarle c5247a8c4b Fix call to deprecated methods in ajax reduce/increase stock responses 2017-02-23 16:54:04 +01:00
Mike Jolley f21997d661 Send items in one request rather than multiple requests 2017-02-23 10:19:32 +00:00
Mike Jolley 962b60c8fe kses/sanitize 2017-02-09 15:43:47 +00:00
Mike Jolley 11ef37880b Moved logic to wc_create_refund 2017-02-08 16:20:42 +00:00
Mike Jolley 23cc478bc9 Exit after redirect to prevent incorrect headers being set by wp_die 2017-02-06 17:59:31 +00:00
Frédéric Demarle 4075024bb9 Use wp_die intead of die in ajax responses 2017-01-29 21:43:25 +01:00
Claudio Sanches 11035ba4d7 Fixed "stock increase" string placeholders, closes #12873 2017-01-18 14:34:52 -02:00
Mike Jolley f7d72afcf9 Detect classname when saving attributes 2017-01-05 16:54:47 +00:00
Mike Jolley 813ec28c7b Remove type check in link_all_variations 2017-01-05 16:17:46 +00:00
Mike Jolley ec41ba9ff0 delete, don't trash, variations 2017-01-04 14:05:13 +00:00
Beka Rice 85f06d7d02 [2.7] Fix undefined variable notice 2017-01-03 18:08:37 -05:00
Manos Psychogyiopoulos be436b629d fix include field typo 2016-12-27 10:36:44 +02:00
Mike Jolley 906499bbb8 woocommerce_ajax_get_customer_details filter and deprecation notice
Closes #12654
2016-12-20 16:02:38 +00:00
Mike Jolley 12608af03a Sorting handling 2016-12-08 14:28:51 +00:00
Justin Shreve a315e174b7 Fix tax name typo and wrap with _escape. 2016-12-07 11:03:28 -08:00
Mike Jolley 162aa986b6 Fix tests 2016-12-05 14:21:09 +00:00
Mike Jolley 9a1dd8d04b Menu order 2016-11-24 17:50:24 +00:00
Mike Jolley 1749551021 Customer crud 2016-11-24 15:31:05 +00:00
Mike Jolley 12a216595a CRUD ajax updates 2016-11-24 14:20:58 +00:00
Mike Jolley ac62cffe16 Refactor ajax search for CRUD 2016-11-24 11:50:58 +00:00
Kevin Killingsworth 0b9c2e2f15 CRUD: Add CRUD operations for ajax functions.
This commit changes post and post_meta calls to CRUD objects
throughout the wc-ajax server-side code.

It does not update the most complex functions that have inline SQL.
2016-11-23 15:35:48 -06:00
Justin Shreve f15867bb67 Fix ajax actions for saving items, and misc issues. 2016-11-21 10:57:33 -08:00
Justin Shreve 51a55b6782 Add interface, renaming main order item data store to abstract. Various fixes. 2016-11-21 10:57:33 -08:00
Mike Jolley 32de28355a Merge branch 'master' into order-data-store
# Conflicts:
#	includes/admin/meta-boxes/class-wc-meta-box-order-data.php
2016-11-21 14:45:46 +00:00
Mike Jolley 1b6d7acd24 Data store for downloads 2016-11-18 17:13:02 +00:00
Claudio Sanches e1aeba9f21 Remove all wp_get_post_terms() and wp_get_object_terms() terms occurrences 2016-11-17 17:02:05 -02:00
Justin Shreve 735c1b7a14 Finish moving queries to the shipping zone data store, update usage of deprecated get_zone_id, legacy updates. 2016-11-16 04:53:23 -08:00
Mike Jolley 76b32c9aa5 WIP - Product CRUD (#12065)
* Created function to get the catalog visibility options

* First methods for WP_Product crud

* Product set methods

* Fixed several erros while setting data

* First methods for WP_Product crud

* Product set methods

* Fixed several erros while setting data

* Hardcode the get_type per product class

* Initial look through getters and setters and abstract data

* Missing var

* Add related product functions and deprecate those in class.

* No need to exclude ID

* Fixed coding standards and improved the docblocks

* Get cached terms from wc_get_related_terms()

* Fixed wrong variable in wc_get_related_terms

* Use count() instead of sizeof()

* Sanitize ids later

* Remove unneeded comments

* wc_get_product_term_ids instead of related wording and use in other places.

get_the_terms is used here and also handles caching, something
wp_get_post_terms does not.

* Clean up the abstract product class a bit, deprecate two functions we have renamed, make update & create work properly, and add some tests for it.

* Bump template version

* Handle PR feedback: Remove duplicate regular_price update, allow changing of post status for products, remove deprecation for get_title since we might still offer it as a function

* Made abstract function useful

* External Product CRUD

* _virtual meta should be 'no', not taxable, in product unit test helper

* Grouped product class

* Tests

* Move children to meta and update test

* Use get_upsell_ids

* Spacing in query

* Moving and refactoring methods

* Availability html

* Tidy/add todos

* Rename method

* Put back review functions (still todo)

* missing $this

* get_price_including_tax/excluding_tax functions

* wc_get_price_to_display

* Price handling

* [Product CRUD] Variable (#12146)

* [Product CRUD] Variable Products

* Handle PR feedback.

* [Product CRUD] Grouped Handling (#12151)

* Handle grouped product saving

* Update routine

* [Product CRUD] Product crud terms (#12149)

* Category and tag id handling

* Replace template functions

* Remove todo

* Handle default name in save function

* Product crud admin save routine (#12174)

* Initial props

* Work on admin saving

* Set/get attributes

* Atom was moaning about this before but no longer.

* Update get_shipping_class

* WC_Product_Attribute

* Use getter in admin panel

* Fix attribute saving

* Spacing

* Fix comment

* wc_implode_text_attributes helper function

* [Product CRUD] Product crud admin use getters (#12196)

* Initial props

* Work on admin saving

* Set/get attributes

* Atom was moaning about this before but no longer.

* Update get_shipping_class

* WC_Product_Attribute

* Use getter in admin panel

* Fix attribute saving

* Move settings into new files

* Refactor panels and use getters

* Use getters for variation panel

* Revert save variation changes for now

* Add todos

* Fix downloads

* REST API CRUD Updates

* Additional API updates/fixes. Added some todos

* Fix final failing tests and implementing setters/getters and attributes functionality.

* Fix comparison for is_on_sale and remove download_type from WC_Product.

* Add a wc_get_products wrapper.

* Remove the download type input from the product data metabox for downloadable products. (#12221)

* [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

* Implement CRUD in the legacy REST API

* Handle PR feedback

* [Product CRUD] Getter setter proxy methods (#12236)

* 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

* get_prop implementation in abstract and data classes

* Implement set_prop

* Change handling

* Array key exists

* set_object_read

* Use get_the_terms() instead of wp_get_post_terms()

wp_get_post_terms() is a wrapper around wp_get_object_terms() which does not
use the object cache, and generates a database query every time it is used.

get_the_terms() however can use data from the object cache if present.

* Allow WP_Query to preload post data, and meta in wc_get_products()

Allow WP_Query to bulk query for post data and meta if more than
just IDs are requested from wc_get_products(). Reduces query count
significantly.

* [Product CRUD] Variable, variation, notices, and stock handling (#12277)

* No longer needed

* Remove old todos

* Use getters in admin list

* Related and upsells update for CRUD

* Fix notice in gallery

* Variable fixes and todos

* Context

* Price sync

* Revert variation attributes change

* Return parent data in view context

* Defer term counting

* wc_find_matching_product_variation

* Stock manage tweaks

* Stock fixes

* Correct id

* correct id

* Better sync

* Data logic setter fix

* feedback

* First methods for WP_Product crud

* Product set methods

* Fixed several erros while setting data

* Hardcode the get_type per product class

* Initial look through getters and setters and abstract data

* Missing var

* Fixed coding standards and improved the docblocks

* Get cached terms from wc_get_related_terms()

* Fixed wrong variable in wc_get_related_terms

* Use count() instead of sizeof()

* Add related product functions and deprecate those in class.

* No need to exclude ID

* Sanitize ids later

* Clean up the abstract product class a bit, deprecate two functions we have renamed, make update & create work properly, and add some tests for it.

* Remove unneeded comments

* wc_get_product_term_ids instead of related wording and use in other places.

get_the_terms is used here and also handles caching, something
wp_get_post_terms does not.

* Handle PR feedback: Remove duplicate regular_price update, allow changing of post status for products, remove deprecation for get_title since we might still offer it as a function

* External Product CRUD

* _virtual meta should be 'no', not taxable, in product unit test helper

* Bump template version

* Made abstract function useful

* Grouped product class

* Tests

* Move children to meta and update test

* Use get_upsell_ids

* Spacing in query

* Moving and refactoring methods

* Availability html

* Tidy/add todos

* Rename method

* Put back review functions (still todo)

* missing $this

* get_price_including_tax/excluding_tax functions

* wc_get_price_to_display

* Price handling

* [Product CRUD] Variable (#12146)

* [Product CRUD] Variable Products

* Handle PR feedback.

* [Product CRUD] Grouped Handling (#12151)

* Handle grouped product saving

* Update routine

* [Product CRUD] Product crud terms (#12149)

* Category and tag id handling

* Replace template functions

* Remove todo

* Handle default name in save function

* Product crud admin save routine (#12174)

* Initial props

* Work on admin saving

* Set/get attributes

* Atom was moaning about this before but no longer.

* Update get_shipping_class

* WC_Product_Attribute

* Use getter in admin panel

* Fix attribute saving

* Spacing

* Fix comment

* wc_implode_text_attributes helper function

* [Product CRUD] Product crud admin use getters (#12196)

* Initial props

* Work on admin saving

* Set/get attributes

* Atom was moaning about this before but no longer.

* Update get_shipping_class

* WC_Product_Attribute

* Use getter in admin panel

* Fix attribute saving

* Move settings into new files

* Refactor panels and use getters

* Use getters for variation panel

* Revert save variation changes for now

* Add todos

* Fix downloads

* REST API CRUD Updates

* Additional API updates/fixes. Added some todos

* Fix final failing tests and implementing setters/getters and attributes functionality.

* Fix comparison for is_on_sale and remove download_type from WC_Product.

* Add a wc_get_products wrapper.

* Remove the download type input from the product data metabox for downloadable products. (#12221)

* [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

* Implement CRUD in the legacy REST API

* Handle PR feedback

* [Product CRUD] Getter setter proxy methods (#12236)

* 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

* get_prop implementation in abstract and data classes

* Implement set_prop

* Change handling

* Array key exists

* set_object_read

* Use get_the_terms() instead of wp_get_post_terms()

wp_get_post_terms() is a wrapper around wp_get_object_terms() which does not
use the object cache, and generates a database query every time it is used.

get_the_terms() however can use data from the object cache if present.

* [Product CRUD] Variable, variation, notices, and stock handling (#12277)

* No longer needed

* Remove old todos

* Use getters in admin list

* Related and upsells update for CRUD

* Fix notice in gallery

* Variable fixes and todos

* Context

* Price sync

* Revert variation attributes change

* Return parent data in view context

* Defer term counting

* wc_find_matching_product_variation

* Stock manage tweaks

* Stock fixes

* Correct id

* correct id

* Better sync

* Data logic setter fix

* feedback

* Prevent notices

* Handle image_id from parent

* Fix error

* Remove _wc_save_product_price

* Remove todo

* Fixed wrong variation URLs

* Fixed undefined $image_id in WC_Product_Variation::get_image_id()

* Allow wc_rest_prepare_date_response() handle timestamps

* Updated get methods on REST API for variations

* Use variations CRUD to save variations metadata

* [Product CRUD] Abstract todos (#12305)

* Get dimensions and weights, with soft deprecation

* Product attributes

* Ratings

* Fix read method

* Downloads

* Feedback

* Revert "[Product CRUD] Abstract todos (#12305)"

This reverts commit 9a6136fcf8.

* Remove deprecated get_variation_id()

* New default attributes method

* [Product CRUD] Product Datastore (#12317)

* Fix up tests in the product/* folder.

* Handle data store updates for grouped, variable, external, simple, and general data store updates for products.

* Variations & variable changes.

* Update -functions.php calls to use data store.

* Add an interface for the public product data store methods.

* Finished product factory tests

* Correctly delete in the api, fix up some comments, and implement an interface for the public variable methods.

* Fix up delete in all versions of the api

* Handle feedback

* Match protected decloration to parent

* Product crud abstract todos (#12316)

* Get dimensions and weights, with soft deprecation

* Product attributes

* Ratings

* Fix read method

* Downloads

* Feedback

* Fix up store

* Fixed method returning in write context

* Fix error in variation admin

* Check for parent value - fixes tax class

* Remove old/complete todos

* Allow set tax class as "parent"

* Removed duplicated sync

* Fixed wrong variation URLs

* Fixed undefined $image_id in WC_Product_Variation::get_image_id()

* Allow wc_rest_prepare_date_response() handle timestamps

* Updated get methods on REST API for variations

* Use variations CRUD to save variations metadata

* Remove deprecated get_variation_id()

* New default attributes method

* Fixed method returning in write context

* Allow set tax class as "parent"

* Removed duplicated sync

* Fixed coding standards

* TODO is not accurate.

* Should pass WC_Product instancies to WC_Comments methods (#12327)

* Use new method in abstract order class to prevent headers sent issue in tests

* Fixed variable description in REST API

* Updated how create initial product variation

* Fixed a few fatal errors and warnings in Products CRUD (#12329)

* Fixed a few fatal errors and warnings in Products CRUD

* Fixed sync functions

* Add variations CRUD to legacy API (#12331)

* Apply crud to variable products in legacy API v1

* New REST API do not need fallback for default attributes

* Apply variations CRUD to legacy API v2

* Legacy v2 - save default attributes

* Variations in legacy API v2 do not have descriptions

* Fixed legacy API v2 variations params

* Applied variations CRUD to legacy API v3

* Sync before save in legacy apis

* Punc

* Removed API todos

* Removed test

* Products endpoint tweaks (#12354)

* Var type already normalized on CRUD

* Let Product CRUD handle with validation, sanitization and conditional checks

* Set downloads using WC_Product_Download

* Stop try catch exceptions more than one time

* Handle WC_Data_Exception in legacy API

* Complete remove products when fails on creating

* On creating I mean!

* Already have a method to complete delete products

* Fixed standards using WP CodeSniffer

* get_the_terms() returns false when empty

* get_manage_stock returns boolean

@claudiosanches

* Merge conflict

* Variations API endpoint fixes

* 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:38:24 +00:00
Sabbir Ahmed 7cd5488f26 Fix toggle download and virtual in variation bulk action #12333 2016-11-13 11:45:12 +06:00
Rami Yushuvaev 6cc301e58c add translators comments 2016-10-29 13:16:03 +03:00
Rami Yushuvaev fec057c993 Use get_admin_page_title() function to display admin titles (#12077)
*  Use get_admin_page_title() function to display admin titles

* revert

* i18n: use sprintf() in translation strings
2016-10-13 13:34:48 -03:00
Mike Jolley 0829200299 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	includes/admin/class-wc-admin-help.php
2016-10-12 11:18:27 +01:00
Rami Yushuvaev eae583fc3c Update wp.org plugin directory links 2016-10-12 11:16:58 +01:00
Claudio Sanches 657c312cae Fix strings case (#12069)
* Fixed case for all _e, esc_attr_e and esc_html_e strings

* Fixed case for all _n_noop strings

* Fixed case for all _x strings

* Fixed case for all __, esc_html__ and esc_attr__ strings

* Fixed a few more strings

* Fixed strings in unit tests

* Fix PayPal Standard case.

* Save Order text
2016-10-12 11:16:30 +01:00
Mike Jolley 321a72b957 Add missing comma 2016-10-11 11:53:47 +01:00
Mike Jolley 2d270fb405 Fix saving and rest of world 2016-10-10 18:41:07 +01:00
Mike Jolley 160049eddd Remove save button from zones screen. 2016-10-10 17:50:29 +01:00
Mike Jolley 83cc0c7066 Work on shipping zone screens 2016-09-24 03:22:57 +01:00
Aristeides Stathopoulos 734f284fa4 WordPress.PHP.YodaConditions.NotYoda 2016-09-08 01:32:24 +03:00
Aristeides Stathopoulos d4e3faf014 PEAR.Functions.FunctionCallSignature.SpaceAfterOpenBracket 2016-09-02 04:51:31 +03:00
Aristeides Stathopoulos 0516e96843 PEAR.Functions.FunctionCallSignature.SpaceBeforeCloseBracket 2016-09-02 04:33:57 +03:00
Aristeides Stathopoulos fde1037757 fix failing tests. 2016-09-01 23:50:14 +03:00
Mike Jolley 1b2df3dd3b Merge branch 'pr/11797'
# Conflicts:
#	includes/admin/meta-boxes/class-wc-meta-box-coupon-data.php
#	includes/api/class-wc-rest-coupons-controller.php
#	includes/class-wc-coupon.php
#	tests/unit-tests/api/coupons.php
#	tests/unit-tests/coupon/crud.php
2016-09-01 11:46:05 +01:00
Mike Jolley 7439f6d79f Use set_props 2016-08-30 17:59:41 +01:00
Aristeides Stathopoulos f2730eea02 WordPress.WhiteSpace.ControlStructureSpacing.BlankLineAfterEnd 2016-08-27 08:57:05 +03:00
Aristeides Stathopoulos 82f3cc221e WordPress.WhiteSpace.ControlStructureSpacing.NoSpaceBeforeOpenParenthesis 2016-08-27 07:23:02 +03:00
Aristeides Stathopoulos ff852038c9 WordPress.Arrays.ArrayKeySpacingRestrictions.NoSpacesAroundArrayKeys 2016-08-27 06:11:30 +03:00
Aristeides Stathopoulos ec8a0b288b PHPCS: WordPress.Arrays.ArrayDeclaration.NoCommaAfterLast 2016-08-27 05:08:49 +03:00
Aristeides Stathopoulos b063bcfe4c last item in a multiline-array should end in a comma 2016-08-27 04:46:45 +03:00
Mike Jolley b4e05154d7 Error handling for adding items 2016-08-25 14:22:27 +01:00
Mike Jolley 938361535f Exception handling 2016-08-24 16:02:19 +01:00
Mike Jolley 2cea613566 Fix shipping meta save
#11601
2016-08-22 18:07:52 +01:00
Mike Jolley 7cf75f5085 Remove use of deprecated functions 2016-08-22 16:57:54 +01:00
Mike Jolley 95b11606fc get_product_from_item -> get_product 2016-08-22 16:51:24 +01:00
Mike Jolley c88984eb0e Replace add methods 2016-08-22 16:48:19 +01:00
Mike Jolley 9e45927803 Create refund with crud 2016-08-22 13:15:15 +01:00
Mike Jolley 21ad196297 Use CRUD in wc_save_order_items 2016-08-19 13:43:33 +01:00
Mike Jolley 97618fa2af Made stock notes consistent
Fixes #11673
2016-08-12 10:47:01 +01:00
Mike Jolley 8d58febaf8 Merge branch 'master' into orders-crud-function-update
# Conflicts:
#	includes/class-wc-checkout.php
2016-08-09 14:03:06 +01:00
Mike Jolley a8759fc0aa Meta/product handling 2016-08-08 16:20:15 +01:00
Mike Jolley 7685587b22 payment_method 2016-08-05 16:04:41 +01:00
Mike Jolley 84c52370fa more getters 2016-08-05 15:57:40 +01:00
Justin Shreve e3b1f6dbc9 A few fixes to customer CRUD:
* Implement some missing legacy functions
* Stop calling legacy functions from some pages
* Prevent extra meta from being deleted, unless requested by the CRUD (was causing problems with user/customer)
* Prevent save when loading from session AND logged out
2016-08-04 13:13:07 -07:00
Mike Jolley 1bc9da3e91 Merge branch 'master' into WC-CRUD
# Conflicts:
#	includes/class-wc-coupon.php
2016-08-04 12:10:04 +01:00
Lee Willis 15c6389326 Delete method options when deleting method 2016-07-27 18:14:50 +01:00
Mike Jolley 53511e36ec Use permission id to revoke access to downloads to prevent removing wrong rows.
Fixes #11423 @claudiosmweb
2016-07-14 15:54:28 +02:00
danielvonmitschke 857647cc06 Added '$_product' argument to 'woocommerce_restock_refunded_item' hook
currently the hook is only using $_product->id but it might be useful
not to only know the product but also the explicit variation that was
refunded.
2016-07-01 12:53:08 +02:00
danielvonmitschke abce9cc8b6 Added a filter hook for the wc_ajax endpoint url
This might come in handy for some custom ajax implementations
2016-07-01 12:51:37 +02:00
Mike Jolley 78142a8ebb Merge branch 'master' into WC-CRUD
# Conflicts:
#	includes/class-wc-checkout.php
#	includes/class-wc-coupon.php
#	includes/class-wc-customer.php
#	tests/unit-tests/cart/cart.php
#	tests/unit-tests/cart/functions.php
#	tests/unit-tests/coupon/coupon.php
#	woocommerce.php
2016-06-13 15:01:58 +01:00
Mike Jolley 30c4d3ab77 docblock 2016-06-07 14:19:36 +01:00
Mike Jolley 548fe93a97 Make use of unused $x var 2016-06-07 14:10:23 +01:00
Mike Jolley 730019ef18 scrutinizer best practice 2016-06-06 19:39:23 +01:00
Mike Jolley 3fd15ad50f Unused vars and code docs 2016-06-06 18:57:24 +01:00
Mike Jolley d4d6f3181c Best practice tweaks 2016-06-06 17:24:31 +01:00
Mike Jolley a40fb29eca wc_set_time_limit helper function 2016-06-06 16:55:27 +01:00
Claudio Sanches e39274e753 HTTPS for everybody 2016-05-26 22:48:49 -03:00
Mike Jolley 54231c2946 Allow shipping classes interface to be extended. 2016-05-19 12:38:28 +01:00
Caleb Burks 75dfae2bf2 Return to shop if session expires and escape url. 2016-05-17 17:00:09 -05:00
Mike Jolley 986bd5abc7 Fix save and striping 2016-05-12 12:18:35 +01:00
Mike Jolley 2cc0ac294e Fix return on add_metadata
Fixes #10892
2016-05-11 15:28:40 +01:00
Joey Kudish 7f71376418 add action hooks for shipping zone method actions
Adds action hooks for shipping zone methods added, deleted and status
toggled
2016-05-10 11:43:47 -07:00
Harald Rosberg 84887409a0 added a filter to make it possible to override if an attribute is variation by default, #10869 2016-05-06 13:22:32 +02:00
Mike Jolley 4901117f64 Data must exist 2016-04-20 15:02:41 +01:00
Diego Zanella 531f644f5f Added safeguard check for shipping methods post data 2016-04-20 10:21:28 +01:00
Diego Zanella a506909822 Backward compatibility with WC 2.5 and earlier
* Slightly altered previous change to maintain the exact logic used before (i.e. the WC_Ajax class sets the POST data for the shipping method explicitly).
2016-04-20 08:49:32 +01:00
Diego Zanella ba46a5275f Backward compatibility with WC 2.5 and earlier
* Restored signature of WC_Settings_API::process_admin_options() method.
2016-04-20 08:48:29 +01:00
Mike Jolley 6ae2fea045 Allow default address to be empty.
Fixes #10664
2016-04-18 14:51:39 +01:00