From 7a84ddd6c1e5142a7b1a01f2122ea029aecab28d Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Sun, 10 Feb 2013 23:02:52 +0000 Subject: [PATCH] Tidied up settings, removed some un-needed settings, and made some settings automatic e.g. coupons disabled if no coupons exist --- admin/settings/settings-init.php | 153 ++++++++-------------- assets/js/admin/write-panels.js | 6 +- assets/js/admin/write-panels.min.js | 4 +- assets/js/frontend/add-to-cart.js | 89 +++++++------ assets/js/frontend/add-to-cart.min.js | 2 +- classes/abstracts/abstract-wc-product.php | 3 +- classes/class-wc-cart.php | 23 +++- readme.txt | 1 + templates/cart/cart.php | 2 +- templates/checkout/form-coupon.php | 3 +- woocommerce-ajax.php | 5 + woocommerce-hooks.php | 7 - woocommerce.php | 3 + 13 files changed, 142 insertions(+), 159 deletions(-) diff --git a/admin/settings/settings-init.php b/admin/settings/settings-init.php index 2312cd88e86..12e25dd33b3 100644 --- a/admin/settings/settings-init.php +++ b/admin/settings/settings-init.php @@ -33,10 +33,10 @@ $woocommerce_settings['general'] = apply_filters('woocommerce_general_settings', array( 'title' => __( 'General Options', 'woocommerce' ), 'type' => 'title', 'desc' => '', 'id' => 'general_options' ), array( - 'title' => __( 'Base Country/Region', 'woocommerce' ), - 'desc' => __( 'This is the base country for your business. Tax rates will be based on this country.', 'woocommerce' ), + 'title' => __( 'Base Location', 'woocommerce' ), + 'desc' => __( 'This is the base location for your business. Tax rates will be based on this country.', 'woocommerce' ), 'id' => 'woocommerce_default_country', - 'css' => 'min-width:300px;', + 'css' => 'min-width:350px;', 'default' => 'GB', 'type' => 'single_select_country', 'desc_tip' => true, @@ -44,9 +44,9 @@ $woocommerce_settings['general'] = apply_filters('woocommerce_general_settings', array( 'title' => __( 'Currency', 'woocommerce' ), - 'desc' => __("This controls what currency prices are listed at in the catalog and which currency gateways will take payments in.", 'woocommerce' ), + 'desc' => __( "This controls what currency prices are listed at in the catalog and which currency gateways will take payments in.", 'woocommerce' ), 'id' => 'woocommerce_currency', - 'css' => 'min-width:300px;', + 'css' => 'min-width:350px;', 'default' => 'GBP', 'type' => 'select', 'class' => 'chosen_select', @@ -61,7 +61,7 @@ $woocommerce_settings['general'] = apply_filters('woocommerce_general_settings', 'default' => 'all', 'type' => 'select', 'class' => 'chosen_select', - 'css' => 'min-width:300px;', + 'css' => 'min-width:350px;', 'desc_tip' => true, 'options' => array( 'all' => __( 'All Countries', 'woocommerce' ), @@ -80,9 +80,26 @@ $woocommerce_settings['general'] = apply_filters('woocommerce_general_settings', $localisation_setting, + array( + 'title' => __( 'Store Notice', 'woocommerce' ), + 'desc' => __( 'Enable site-wide store notice text', 'woocommerce' ), + 'id' => 'woocommerce_demo_store', + 'default' => 'no', + 'type' => 'checkbox' + ), + + array( + 'title' => __( 'Store Notice Text', 'woocommerce' ), + 'desc' => '', + 'id' => 'woocommerce_demo_store_notice', + 'default' => __( 'This is a demo store for testing purposes — no orders shall be fulfilled.', 'woocommerce' ), + 'type' => 'text', + 'css' => 'min-width:300px;', + ), + array( 'type' => 'sectionend', 'id' => 'general_options'), - array( 'title' => __( 'Checkout and Accounts', 'woocommerce' ), 'type' => 'title','desc' => __( 'The following options control the behaviour of the checkout process and customer accounts.', 'woocommerce' ), 'id' => 'checkout_account_options' ), + array( 'title' => __( 'Checkout and Accounts', 'woocommerce' ), 'type' => 'title', 'id' => 'checkout_account_options' ), array( 'title' => __( 'Checkout', 'woocommerce' ), @@ -94,20 +111,19 @@ $woocommerce_settings['general'] = apply_filters('woocommerce_general_settings', ), array( - 'desc' => __( 'Show order comments section', 'woocommerce' ), + 'desc' => __( 'Enable customer note field on checkout', 'woocommerce' ), 'id' => 'woocommerce_enable_order_comments', 'default' => 'yes', 'type' => 'checkbox', - 'checkboxgroup' => 'end' + 'checkboxgroup' => '' ), array( - 'title' => __( 'Security', 'woocommerce' ), 'desc' => __( 'Force secure checkout', 'woocommerce' ), 'id' => 'woocommerce_force_ssl_checkout', 'default' => 'no', 'type' => 'checkbox', - 'checkboxgroup' => 'start', + 'checkboxgroup' => '', 'show_if_checked' => 'option', 'desc_tip' => __( 'Force SSL (HTTPS) on the checkout pages (an SSL Certificate is required)', 'woocommerce' ), ), @@ -121,34 +137,6 @@ $woocommerce_settings['general'] = apply_filters('woocommerce_general_settings', 'show_if_checked' => 'yes', ), - array( - 'title' => __( 'Coupons', 'woocommerce' ), - 'desc' => __( 'Enable coupons', 'woocommerce' ), - 'id' => 'woocommerce_enable_coupons', - 'default' => 'yes', - 'type' => 'checkbox', - 'checkboxgroup' => 'start', - 'show_if_checked' => 'option' - ), - - array( - 'desc' => __( 'Enable coupon form on cart', 'woocommerce' ), - 'id' => 'woocommerce_enable_coupon_form_on_cart', - 'default' => 'yes', - 'type' => 'checkbox', - 'checkboxgroup' => '', - 'show_if_checked' => 'yes' - ), - - array( - 'desc' => __( 'Enable coupon form on checkout', 'woocommerce' ), - 'id' => 'woocommerce_enable_coupon_form_on_checkout', - 'default' => 'no', - 'type' => 'checkbox', - 'checkboxgroup' => 'end', - 'show_if_checked' => 'yes' - ), - array( 'title' => __( 'Registration', 'woocommerce' ), 'desc' => __( 'Allow registration on the checkout page', 'woocommerce' ), @@ -192,7 +180,7 @@ $woocommerce_settings['general'] = apply_filters('woocommerce_general_settings', ), array( - 'desc' => __( 'Allow customers to repurchase past orders', 'woocommerce' ), + 'desc' => __( 'Allow customers to repurchase orders from their account page', 'woocommerce' ), 'id' => 'woocommerce_allow_customers_to_reorder', 'default' => 'no', 'type' => 'checkbox', @@ -201,7 +189,7 @@ $woocommerce_settings['general'] = apply_filters('woocommerce_general_settings', array( 'type' => 'sectionend', 'id' => 'checkout_account_options'), - array( 'title' => __( 'Styles and Scripts', 'woocommerce' ), 'type' => 'title', 'desc' => __( 'The following options affect the styling of your store, as well as how certain features behave.', 'woocommerce' ), 'id' => 'script_styling_options' ), + array( 'title' => __( 'Styles and Scripts', 'woocommerce' ), 'type' => 'title', 'id' => 'script_styling_options' ), array( 'title' => __( 'Styling', 'woocommerce' ), @@ -215,39 +203,13 @@ $woocommerce_settings['general'] = apply_filters('woocommerce_general_settings', 'type' => 'frontend_styles' ), - array( - 'title' => __( 'Store Notice', 'woocommerce' ), - 'desc' => __( 'Enable the "Demo Store" notice on your site', 'woocommerce' ), - 'id' => 'woocommerce_demo_store', - 'default' => 'no', - 'type' => 'checkbox' - ), - - array( - 'title' => __( 'Store Notice Text', 'woocommerce' ), - 'desc' => '', - 'id' => 'woocommerce_demo_store_notice', - 'default' => __( 'This is a demo store for testing purposes — no orders shall be fulfilled.', 'woocommerce' ), - 'type' => 'text', - 'css' => 'min-width:300px;', - ), - - array( - 'title' => __( 'Scripts', 'woocommerce' ), - 'desc' => __( 'Enable AJAX add to cart buttons on product archives', 'woocommerce' ), - 'id' => 'woocommerce_enable_ajax_add_to_cart', - 'default' => 'yes', - 'type' => 'checkbox', - 'checkboxgroup' => 'start' - ), - array( 'desc' => __( 'Enable WooCommerce lightbox', 'woocommerce' ), 'id' => 'woocommerce_enable_lightbox', 'default' => 'yes', - 'desc_tip' => __( 'On the product details page, product gallery images will open in a lightbox. The Add Review form will open in a modal window', 'woocommerce' ), + 'desc_tip' => __( 'On the product details page, product gallery images will open in a lightbox. The Add Review form will also open in a modal window.', 'woocommerce' ), 'type' => 'checkbox', - 'checkboxgroup' => '' + 'checkboxgroup' => 'start' ), array( @@ -260,7 +222,7 @@ $woocommerce_settings['general'] = apply_filters('woocommerce_general_settings', array( 'type' => 'sectionend', 'id' => 'script_styling_options'), - array( 'title' => __( 'Digital Downloads', 'woocommerce' ), 'type' => 'title','desc' => __( 'The following options are specific to downloadable products.', 'woocommerce' ), 'id' => 'digital_download_options' ), + array( 'title' => __( 'Downloadable Products', 'woocommerce' ), 'type' => 'title', 'id' => 'digital_download_options' ), array( 'title' => __( 'File Download Method', 'woocommerce' ), @@ -279,12 +241,12 @@ $woocommerce_settings['general'] = apply_filters('woocommerce_general_settings', ), array( - 'title' => __( 'Access Restrictions', 'woocommerce' ), - 'desc' => __( 'Must be logged in to download files', 'woocommerce' ), + 'title' => __( 'Access Restriction', 'woocommerce' ), + 'desc' => __( 'Downloads require login', 'woocommerce' ), 'id' => 'woocommerce_downloads_require_login', 'type' => 'checkbox', 'default' => 'no', - 'desc_tip' => __( 'This setting does not apply to guest downloads.', 'woocommerce' ), + 'desc_tip' => __( 'This setting does not apply to guest purchases.', 'woocommerce' ), 'checkboxgroup' => 'start' ), @@ -297,14 +259,6 @@ $woocommerce_settings['general'] = apply_filters('woocommerce_general_settings', 'checkboxgroup' => 'end' ), - array( - 'title' => __( 'Limit Quantity', 'woocommerce' ), - 'desc' => __( 'Limit the purchasable quantity of downloadable-virtual items to 1', 'woocommerce' ), - 'id' => 'woocommerce_limit_downloadable_product_qty', - 'default' => 'yes', - 'type' => 'checkbox' - ), - array( 'type' => 'sectionend', 'id' => 'digital_download_options' ), )); // End general settings @@ -360,14 +314,6 @@ $woocommerce_settings['pages'] = apply_filters('woocommerce_page_settings', arra 'desc_tip' => true, ), - array( - 'title' => __( 'Logout link', 'woocommerce' ), - 'desc' => sprintf(__( 'Append a logout link to menus containing "My Account"', 'woocommerce' ), $base_slug), - 'id' => 'woocommerce_menu_logout_link', - 'default' => 'yes', - 'type' => 'checkbox', - ), - array( 'type' => 'sectionend', 'id' => 'page_options' ), array( 'title' => __( 'Shop Pages', 'woocommerce' ), 'type' => 'title', 'desc' => __( 'The following pages need selecting so that WooCommerce knows where they are. These pages should have been created upon installation of the plugin, if not you will need to create them.', 'woocommerce' ) ), @@ -460,6 +406,17 @@ $woocommerce_settings['pages'] = apply_filters('woocommerce_page_settings', arra 'desc_tip' => true, ), + array( + 'title' => __( 'Logout Page', 'woocommerce' ), + 'desc' => __( 'Parent: "My Account"', 'woocommerce' ), + 'id' => 'woocommerce_logout_page_id', + 'type' => 'single_select_page', + 'default' => '', + 'class' => 'chosen_select_nostd', + 'css' => 'min-width:300px;', + 'desc_tip' => true, + ), + array( 'title' => __( 'Lost Password Page', 'woocommerce' ), 'desc' => __( 'Page contents: [woocommerce_lost_password] Parent: "My Account"', 'woocommerce' ), @@ -529,8 +486,8 @@ $woocommerce_settings['catalog'] = apply_filters('woocommerce_catalog_settings', ), array( - 'title' => __( 'Redirects', 'woocommerce' ), - 'desc' => __( 'Redirect to cart after adding a product to the cart (on single product pages)', 'woocommerce' ), + 'title' => __( 'Add to cart', 'woocommerce' ), + 'desc' => __( 'Redirect to the cart page after successful addition', 'woocommerce' ), 'id' => 'woocommerce_cart_redirect_after_add', 'default' => 'no', 'type' => 'checkbox', @@ -538,9 +495,9 @@ $woocommerce_settings['catalog'] = apply_filters('woocommerce_catalog_settings', ), array( - 'desc' => __( 'Redirect to the product page on a single matching search result', 'woocommerce' ), - 'id' => 'woocommerce_redirect_on_single_search_result', - 'default' => 'no', + 'desc' => __( 'Enable AJAX add to cart buttons on archives', 'woocommerce' ), + 'id' => 'woocommerce_enable_ajax_add_to_cart', + 'default' => 'yes', 'type' => 'checkbox', 'checkboxgroup' => 'end' ), @@ -551,7 +508,7 @@ $woocommerce_settings['catalog'] = apply_filters('woocommerce_catalog_settings', array( 'title' => __( 'Product Fields', 'woocommerce' ), - 'desc' => __( 'Enable the SKU field for products', 'woocommerce' ), + 'desc' => __( 'Enable the SKU field for products', 'woocommerce' ), 'id' => 'woocommerce_enable_sku', 'default' => 'yes', 'type' => 'checkbox', @@ -559,7 +516,7 @@ $woocommerce_settings['catalog'] = apply_filters('woocommerce_catalog_settings', ), array( - 'desc' => __( 'Enable the weight field for products', 'woocommerce' ), + 'desc' => __( 'Enable the weight field for products (some shipping methods may require this)', 'woocommerce' ), 'id' => 'woocommerce_enable_weight', 'default' => 'yes', 'type' => 'checkbox', @@ -567,7 +524,7 @@ $woocommerce_settings['catalog'] = apply_filters('woocommerce_catalog_settings', ), array( - 'desc' => __( 'Enable the dimension fields for products', 'woocommerce' ), + 'desc' => __( 'Enable the dimension fields for products (some shipping methods may require this)', 'woocommerce' ), 'id' => 'woocommerce_enable_dimensions', 'default' => 'yes', 'type' => 'checkbox', @@ -575,7 +532,7 @@ $woocommerce_settings['catalog'] = apply_filters('woocommerce_catalog_settings', ), array( - 'desc' => __( 'Show weight and dimension fields in product attributes tab', 'woocommerce' ), + 'desc' => __( 'Show weight and dimension values on the Additional Information tab', 'woocommerce' ), 'id' => 'woocommerce_enable_dimension_product_attributes', 'default' => 'yes', 'type' => 'checkbox', diff --git a/assets/js/admin/write-panels.js b/assets/js/admin/write-panels.js index 6f0fe78ad02..e0629b68dbb 100644 --- a/assets/js/admin/write-panels.js +++ b/assets/js/admin/write-panels.js @@ -931,7 +931,7 @@ jQuery( function($){ $('.show_if_virtual').show(); } - $('.show_if_'+product_type).show(); + $('.show_if_' + product_type).show(); // Hide rules if ( is_downloadable ) { @@ -941,7 +941,9 @@ jQuery( function($){ $('.hide_if_virtual').hide(); } - $('.hide_if_'+product_type).hide(); + $('.hide_if_' + product_type).hide(); + + $('input#_manage_stock').change(); } diff --git a/assets/js/admin/write-panels.min.js b/assets/js/admin/write-panels.min.js index 49586ddfb4f..726e9582e6e 100644 --- a/assets/js/admin/write-panels.min.js +++ b/assets/js/admin/write-panels.min.js @@ -1,2 +1,2 @@ -jQuery(function(e){function t(){var t=e("select#product-type").val(),n=e("input#_virtual:checked").size(),r=e("input#_downloadable:checked").size();e(".hide_if_simple, .hide_if_grouped, .hide_if_variable, .hide_if_external, .hide_if_downloadable, .hide_if_virtual").show();e(".show_if_simple, .show_if_grouped, .show_if_variable, .show_if_external, .show_if_downloadable, .show_if_virtual").hide();r&&e(".show_if_downloadable").show();n&&e(".show_if_virtual").show();e(".show_if_"+t).show();r&&e(".hide_if_downloadable").hide();n&&e(".hide_if_virtual").hide();e(".hide_if_"+t).hide()}function i(){e(".woocommerce_attributes .woocommerce_attribute").each(function(t,n){e(".attribute_position",n).val(parseInt(e(n).index(".woocommerce_attributes .woocommerce_attribute")))})}e(function(){e('[id$="-all"] > ul.categorychecklist').each(function(){var t=e(this),n=t.find(":checked").first();if(!n.length)return;var r=t.find(":checkbox").position().top,i=n.position().top;t.closest(".tabs-panel").scrollTop(i-r+5)})});e("#upsell_product_data").bind("keypress",function(e){if(e.keyCode==13)return!1});e(".type_box").appendTo("#woocommerce-product-data h3.hndle span");e(function(){e("#woocommerce-product-data h3.hndle").unbind("click.postboxes");jQuery("#woocommerce-product-data").on("click","h3.hndle",function(t){if(e(t.target).filter("input, option, label, select").length)return;e("#woocommerce-product-data").toggleClass("closed")})});e("#order-emails a.show-order-emails").click(function(){if(e("#order-emails-select").is(":hidden")){e("#order-emails-select").slideDown("fast");e(this).hide()}return!1});e("#order-emails a.hide-order-emails").click(function(){e('input[name="order_email[]"]').each(function(){e(this).attr("checked",!1)});if(e("#order-emails-select").is(":visible")){e("#order-emails-select").slideUp("fast");e("#order-emails a.show-order-emails").show()}return!1});e("#catalog-visibility .edit-catalog-visibility").click(function(){if(e("#catalog-visibility-select").is(":hidden")){e("#catalog-visibility-select").slideDown("fast");e(this).hide()}return!1});e("#catalog-visibility .save-post-visibility").click(function(){e("#catalog-visibility-select").slideUp("fast");e("#catalog-visibility .edit-catalog-visibility").show();var t=e("input[name=_visibility]:checked").val(),n=e("input[name=_visibility]:checked").attr("data-label");if(e("input[name=_featured]").is(":checked")){n=n+", "+woocommerce_writepanel_params.featured_label;e("input[name=_featured]").attr("checked","checked")}e("#catalog-visibility-display").text(n);return!1});e("#catalog-visibility .cancel-post-visibility").click(function(){e("#catalog-visibility-select").slideUp("fast");e("#catalog-visibility .edit-catalog-visibility").show();var t=e("#current_visibility").val(),n=e("#current_featured").val();e("input[name=_visibility]").removeAttr("checked");e("input[name=_visibility][value="+t+"]").attr("checked","checked");var r=e("input[name=_visibility]:checked").attr("data-label");if(n=="yes"){r=r+", "+woocommerce_writepanel_params.featured_label;e("input[name=_featured]").attr("checked","checked")}else e("input[name=_featured]").removeAttr("checked");e("#catalog-visibility-display").text(r);return!1});e("ul.wc-tabs").show();e("div.panel-wrap").each(function(){e(this).find("div.panel:not(:first)").hide()});e("ul.wc-tabs a").click(function(){var t=e(this).closest("div.panel-wrap");e("ul.wc-tabs li",t).removeClass("active");e(this).parent().addClass("active");e("div.panel",t).hide();e(e(this).attr("href")).show();return!1});jQuery("select.chosen_select").chosen();jQuery("select.chosen_select_nostd").chosen({allow_single_deselect:"true"});jQuery("select.ajax_chosen_select_products").ajaxChosen({method:"GET",url:woocommerce_writepanel_params.ajax_url,dataType:"json",afterTypeDelay:100,data:{action:"woocommerce_json_search_products",security:woocommerce_writepanel_params.search_products_nonce}},function(t){var n={};e.each(t,function(e,t){n[e]=t});return n});jQuery("select.ajax_chosen_select_products_and_variations").ajaxChosen({method:"GET",url:woocommerce_writepanel_params.ajax_url,dataType:"json",afterTypeDelay:100,data:{action:"woocommerce_json_search_products_and_variations",security:woocommerce_writepanel_params.search_products_nonce}},function(t){var n={};e.each(t,function(e,t){n[e]=t});return n});jQuery("#woocommerce-order-actions input, #woocommerce-order-actions a").click(function(){window.onbeforeunload=""});e("a.edit_address").click(function(t){e(this).hide();e(this).closest(".order_data_column").find("div.address").hide();e(this).closest(".order_data_column").find("div.edit_address").show();t.preventDefault()});e("#order_items_list").on("init_row","tr.item",function(){var t=e(this),n=t.find("input.quantity"),r=n.val(),i=t.find("input.line_subtotal").val(),s=t.find("input.line_total").val(),o=t.find("input.line_tax").val(),u=t.find("input.line_subtotal_tax").val();if(r){unit_subtotal=accounting.toFixed(i/r,2);unit_subtotal_tax=accounting.toFixed(u/r,2);unit_total=accounting.toFixed(s/r,2);unit_total_tax=accounting.toFixed(o/r,2)}else unit_subtotal=unit_subtotal_tax=unit_total=unit_total_tax=0;n.attr("data-o_qty",r);t.attr("data-unit_subtotal",unit_subtotal);t.attr("data-unit_subtotal_tax",unit_subtotal_tax);t.attr("data-unit_total",unit_total);t.attr("data-unit_total_tax",unit_total_tax)});e("#order_items_list tr.item").each(function(){e(this).trigger("init_row")});e("#order_items_list").on("change","input.quantity",function(){var t=e(this).closest("tr.item"),n=e(this).val(),r=t.attr("data-unit_subtotal"),i=t.attr("data-unit_subtotal_tax"),s=t.attr("data-unit_total"),o=t.attr("data-unit_total_tax"),u=e(this).attr("data-o_qty"),a=accounting.formatNumber(r*n,2,""),f=accounting.formatNumber(i*n,2,""),l=accounting.formatNumber(s*n,2,""),c=accounting.formatNumber(o*n,2,"");t.find("input.line_subtotal").val(a);t.find("input.line_total").val(l);t.find("input.line_subtotal_tax").val(f);t.find("input.line_tax").val(c)});e("#order_items_list").on("change","input.line_subtotal",function(){var t=e(this).closest("tr.item"),n=t.find("input.quantity"),r=n.val(),i=r?accounting.toFixed(e(this).val()/r,2):0;t.attr("data-unit_subtotal",i)});e("#order_items_list").on("change","input.line_total",function(){var t=e(this).closest("tr.item"),n=t.find("input.quantity"),r=n.val(),i=r?accounting.toFixed(e(this).val()/r,2):0;t.attr("data-unit_total",i)});e("#order_items_list").on("change","input.line_subtotal_tax",function(){var t=e(this).closest("tr.item"),n=t.find("input.quantity"),r=n.val(),i=r?accounting.toFixed(e(this).val()/r,2):0;t.attr("data-unit_subtotal_tax",i)});e("#order_items_list").on("change","input.line_tax",function(){var t=e(this).closest("tr.item"),n=t.find("input.quantity"),r=n.val(),i=r?accounting.toFixed(e(this).val()/r,2):0;t.attr("data-unit_total_tax",i)});e("#woocommerce-order-totals").on("change","#_order_tax, #_order_shipping_tax, #_cart_discount, #_order_discount",function(){var t=e(this),n=t.closest(".totals").find("input"),r=0;n.each(function(){e(this).val()&&(r+=parseFloat(e(this).val()))});var i=accounting.formatMoney(r,{symbol:woocommerce_writepanel_params.currency_format_symbol,decimal:woocommerce_writepanel_params.currency_format_decimal_sep,thousand:woocommerce_writepanel_params.currency_format_thousand_sep,precision:woocommerce_writepanel_params.currency_format_num_decimals,format:woocommerce_writepanel_params.currency_format});t.closest(".totals_group").find("span.inline_total").text(i)});e("span.inline_total").closest(".totals_group").find("input").change();e("button.calc_line_taxes").click(function(){e(".woocommerce_order_items_wrapper").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_writepanel_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});var t=confirm(woocommerce_writepanel_params.calc_line_taxes);if(t){var n=e("#order_items_list").find("tr.item, tr.fee"),r=e("#_shipping_country").val();if(r)var i=e("#_shipping_state").val(),s=e("#_shipping_postcode").val(),o=e("#_shipping_city").val();else{r=e("#_billing_country").val();var i=e("#_billing_state").val(),s=e("#_billing_postcode").val(),o=e("#_billing_city").val()}var u={};n.each(function(){var t=e(this),n=t.find("input.order_item_id").val(),r=t.find("input.line_subtotal").val(),i=t.find("input.line_total").val(),s=t.find("select.tax_class").val();u[n]={};u[n].line_subtotal=r;u[n].line_total=i;u[n].tax_class=s});var a={action:"woocommerce_calc_line_taxes",order_id:woocommerce_writepanel_params.post_id,items:u,shipping:accounting.unformat(e("#_order_shipping").val()),country:r,state:i,postcode:s,city:o,security:woocommerce_writepanel_params.calc_totals_nonce};e.post(woocommerce_writepanel_params.ajax_url,a,function(t){if(t){n.each(function(){var n=e(this),r=n.find("input.order_item_id").val();n.find("input.line_tax").val(t.item_taxes[r].line_tax).change();n.find("input.line_subtotal_tax").val(t.item_taxes[r].line_subtotal_tax).change();e("#tax_rows").empty().append(t.tax_row_html)});e("#_order_tax").val(t.item_tax).change();e("#_order_shipping_tax").val(t.shipping_tax).change()}e(".woocommerce_order_items_wrapper").unblock()})}else e(".woocommerce_order_items_wrapper").unblock();return!1}).hover(function(){e("#order_items_list input.line_subtotal_tax, #order_items_list input.line_tax, #_order_shipping_tax, #_order_tax, .tax_rows_group").css("background-color","#e3d2dd")},function(){e("#order_items_list input.line_subtotal_tax, #order_items_list input.line_tax, #_order_shipping_tax, #_order_tax, .tax_rows_group").css("background-color","")});e("button.calc_totals").click(function(){e("#woocommerce-order-totals").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_writepanel_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});var t=confirm(woocommerce_writepanel_params.calc_totals);if(t){var n=0,r=0,i=0,s=0,o=0,u=accounting.unformat(e("#_order_shipping").val()),a=accounting.unformat(e("#_order_shipping_tax").val()),f=accounting.unformat(e("#_order_discount").val());u||(u=0);a||(a=0);f||(f=0);e("#order_items_list tr.item").each(function(){var t=accounting.unformat(e(this).find("input.line_subtotal").val()),s=accounting.unformat(e(this).find("input.line_subtotal_tax").val()),u=accounting.unformat(e(this).find("input.line_total").val()),a=accounting.unformat(e(this).find("input.line_tax").val());t||(t=0);s||(s=0);u||(u=0);a||(a=0);n+=t;r+=s;i+=u;woocommerce_writepanel_params.round_at_subtotal=="no"&&(a=accounting.toFixed(a,2));o+=parseFloat(a)});woocommerce_writepanel_params.round_at_subtotal=="yes"&&(o=accounting.toFixed(o,2));var s=n+r-(i+o);s<0&&(s=0);s=accounting.toFixed(s,2);e("#order_items_list tr.fee").each(function(){var t=accounting.unformat(e(this).find("input.line_total").val()),n=accounting.unformat(e(this).find("input.line_tax").val());t||(t=0);n||(n=0);i+=t;woocommerce_writepanel_params.round_at_subtotal=="no"&&(n=accounting.toFixed(n,2));o+=parseFloat(n)});woocommerce_writepanel_params.round_at_subtotal=="yes"&&(o=accounting.toFixed(o,2));var l=i+o+u+a-f;l=accounting.toFixed(l,2);o=accounting.toFixed(o,2);e("#_cart_discount").val(s).change();e("#_order_tax").val(o).change();e("#_order_total").val(l).change();e("#woocommerce-order-totals").unblock()}else e("#woocommerce-order-totals").unblock();return!1}).hover(function(){e("#woocommerce-order-totals .calculated").css("background-color","#e3d2dd")},function(){e("#woocommerce-order-totals .calculated").css("background-color","")});e("#woocommerce-order-items button.add_order_item").click(function(){var t=e("select#add_item_id").val();if(t){count=t.length;e("table.woocommerce_order_items").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_writepanel_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});e.each(t,function(t,n){var r={action:"woocommerce_add_order_item",item_to_add:n,order_id:woocommerce_writepanel_params.post_id,security:woocommerce_writepanel_params.order_item_nonce};e.post(woocommerce_writepanel_params.ajax_url,r,function(t){e("table.woocommerce_order_items tbody#order_items_list").append(t);if(!--count){e("select#add_item_id, #add_item_id_chzn .chzn-choices").css("border-color","").val("");jQuery(".tips").tipTip({attribute:"data-tip",fadeIn:50,fadeOut:50,delay:200});e("select#add_item_id").trigger("liszt:updated");e("table.woocommerce_order_items").unblock()}e("#order_items_list tr.new_row").trigger("init_row").removeClass("new_row")})})}else e("select#add_item_id, #add_item_id_chzn .chzn-choices").css("border-color","red");return!1});e("#woocommerce-order-items button.add_order_fee").click(function(){e("table.woocommerce_order_items").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_writepanel_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});var t={action:"woocommerce_add_order_fee",order_id:woocommerce_writepanel_params.post_id,security:woocommerce_writepanel_params.order_item_nonce};e.post(woocommerce_writepanel_params.ajax_url,t,function(t){e("table.woocommerce_order_items tbody#order_items_list").append(t);e("table.woocommerce_order_items").unblock()});return!1});e("#order_items_list").on("click","button.add_order_item_meta",function(){var t=e(this),n=t.closest("tr.item"),r={order_item_id:n.attr("data-order_item_id"),action:"woocommerce_add_order_item_meta",security:woocommerce_writepanel_params.order_item_nonce};e("table.woocommerce_order_items").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_writepanel_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});e.ajax({url:woocommerce_writepanel_params.ajax_url,data:r,type:"POST",success:function(t){n.find("tbody.meta_items").append(t);e("table.woocommerce_order_items").unblock()}});return!1});e("#order_items_list").on("click","button.remove_order_item_meta",function(){var t=confirm(woocommerce_writepanel_params.remove_item_meta);if(t){var n=e(this).closest("tr"),r={meta_id:n.attr("data-meta_id"),action:"woocommerce_remove_order_item_meta",security:woocommerce_writepanel_params.order_item_nonce};e("table.woocommerce_order_items").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_writepanel_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});e.ajax({url:woocommerce_writepanel_params.ajax_url,data:r,type:"POST",success:function(t){n.hide();e("table.woocommerce_order_items").unblock()}})}return!1});e("#woocommerce-order-items").on("click","input.check-column",function(){e(this).is(":checked")?e("#woocommerce-order-items").find(".check-column input").attr("checked","checked"):e("#woocommerce-order-items").find(".check-column input").removeAttr("checked")});e("#woocommerce-order-items").on("click",".do_bulk_action",function(){var t=e(this).closest(".bulk_actions").find("select").val(),n=e("#woocommerce-order-items").find(".check-column input:checked"),r=[];e(n).each(function(){var t=e(this).closest("tr.item, tr.fee");r.push(t.attr("data-order_item_id"))});if(t=="delete"){var i=confirm(woocommerce_writepanel_params.remove_item_notice);if(i){e("table.woocommerce_order_items").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_writepanel_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});var s={order_item_ids:r,action:"woocommerce_remove_order_item",security:woocommerce_writepanel_params.order_item_nonce};e.ajax({url:woocommerce_writepanel_params.ajax_url,data:s,type:"POST",success:function(t){e(n).each(function(){e(this).closest("tr.item, tr.fee").hide()});e("table.woocommerce_order_items").unblock()}})}}else if(t=="reduce_stock"){e("table.woocommerce_order_items").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_writepanel_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});var o={};e(n).each(function(){var t=e(this).closest("tr.item, tr.fee"),n=t.find("input.quantity");o[t.attr("data-order_item_id")]=n.val()});var s={order_id:woocommerce_writepanel_params.post_id,order_item_ids:r,order_item_qty:o,action:"woocommerce_reduce_order_item_stock",security:woocommerce_writepanel_params.order_item_nonce};e.ajax({url:woocommerce_writepanel_params.ajax_url,data:s,type:"POST",success:function(t){alert(t);e("table.woocommerce_order_items").unblock()}})}else if(t=="increase_stock"){e("table.woocommerce_order_items").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_writepanel_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});var o={};e(n).each(function(){var t=e(this).closest("tr.item, tr.fee"),n=t.find("input.quantity");o[t.attr("data-order_item_id")]=n.val()});var s={order_id:woocommerce_writepanel_params.post_id,order_item_ids:r,order_item_qty:o,action:"woocommerce_increase_order_item_stock",security:woocommerce_writepanel_params.order_item_nonce};e.ajax({url:woocommerce_writepanel_params.ajax_url,data:s,type:"POST",success:function(t){alert(t);e("table.woocommerce_order_items").unblock()}})}return!1});e("button.load_customer_billing").click(function(){var t=confirm(woocommerce_writepanel_params.load_billing);if(t){var n=e("#customer_user").val();if(!n){alert(woocommerce_writepanel_params.no_customer_selected);return!1}var r={user_id:n,type_to_load:"billing",action:"woocommerce_get_customer_details",security:woocommerce_writepanel_params.get_customer_details_nonce};e(this).closest(".edit_address").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_writepanel_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});e.ajax({url:woocommerce_writepanel_params.ajax_url,data:r,type:"POST",success:function(t){var n=t;if(n){e("input#_billing_first_name").val(n.billing_first_name);e("input#_billing_last_name").val(n.billing_last_name);e("input#_billing_company").val(n.billing_company);e("input#_billing_address_1").val(n.billing_address_1);e("input#_billing_address_2").val(n.billing_address_2);e("input#_billing_city").val(n.billing_city);e("input#_billing_postcode").val(n.billing_postcode);e("#_billing_country").val(n.billing_country);e("input#_billing_state").val(n.billing_state);e("input#_billing_email").val(n.billing_email);e("input#_billing_phone").val(n.billing_phone)}e(".edit_address").unblock()}})}return!1});e("button.load_customer_shipping").click(function(){var t=confirm(woocommerce_writepanel_params.load_shipping);if(t){var n=e("#customer_user").val();if(!n){alert(woocommerce_writepanel_params.no_customer_selected);return!1}var r={user_id:n,type_to_load:"shipping",action:"woocommerce_get_customer_details",security:woocommerce_writepanel_params.get_customer_details_nonce};e(this).closest(".edit_address").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_writepanel_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});e.ajax({url:woocommerce_writepanel_params.ajax_url,data:r,type:"POST",success:function(t){var n=t;if(n){e("input#_shipping_first_name").val(n.shipping_first_name);e("input#_shipping_last_name").val(n.shipping_last_name);e("input#_shipping_company").val(n.shipping_company);e("input#_shipping_address_1").val(n.shipping_address_1);e("input#_shipping_address_2").val(n.shipping_address_2);e("input#_shipping_city").val(n.shipping_city);e("input#_shipping_postcode").val(n.shipping_postcode);e("#_shipping_country").val(n.shipping_country);e("input#_shipping_state").val(n.shipping_state)}e(".edit_address").unblock()}})}return!1});e("button.billing-same-as-shipping").click(function(){var t=confirm(woocommerce_writepanel_params.copy_billing);if(t){e("input#_shipping_first_name").val(e("input#_billing_first_name").val());e("input#_shipping_last_name").val(e("input#_billing_last_name").val());e("input#_shipping_company").val(e("input#_billing_company").val());e("input#_shipping_address_1").val(e("input#_billing_address_1").val());e("input#_shipping_address_2").val(e("input#_billing_address_2").val());e("input#_shipping_city").val(e("input#_billing_city").val());e("input#_shipping_postcode").val(e("input#_billing_postcode").val());e("#_shipping_country").val(e("#_billing_country").val());e("input#_shipping_state").val(e("input#_billing_state").val())}return!1});e("a.add_tax_row").click(function(){var t={order_id:woocommerce_writepanel_params.post_id,action:"woocommerce_add_line_tax",security:woocommerce_writepanel_params.calc_totals_nonce};e("#tax_rows").closest(".totals_group").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_writepanel_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});e.ajax({url:woocommerce_writepanel_params.ajax_url,data:t,type:"POST",success:function(t){e("#tax_rows").append(t).closest(".totals_group").unblock()}});return!1});e("#tax_rows").on("click","a.delete_tax_row",function(){var t=e(this).closest(".tax_row"),n=t.attr("data-order_item_id"),r={tax_row_id:n,action:"woocommerce_remove_line_tax",security:woocommerce_writepanel_params.calc_totals_nonce};e("#tax_rows").closest(".totals_group").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_writepanel_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});e.ajax({url:woocommerce_writepanel_params.ajax_url,data:r,type:"POST",success:function(n){t.remove();e("#tax_rows").closest(".totals_group").unblock()}});return!1});e("select#product-type").change(function(){var n=e(this).val();if(n=="variable"){e("input#_manage_stock").change();e("input#_downloadable").prop("checked",!1);e("input#_virtual").removeAttr("checked")}else if(n=="grouped"){e("input#_downloadable").prop("checked",!1);e("input#_virtual").removeAttr("checked")}else if(n=="external"){e("input#_downloadable").prop("checked",!1);e("input#_virtual").removeAttr("checked")}t();e("ul.wc-tabs li:visible").eq(0).find("a").click();e("body").trigger("woocommerce-product-type-change",n,e(this))}).change();e("input#_downloadable, input#_virtual").change(function(){t()});e(".sale_price_dates_fields").each(function(){var t=e(this),n=!1,r=t.closest("div, table");t.find("input").each(function(){e(this).val()!=""&&(n=!0)});if(n){r.find(".sale_schedule").hide();r.find(".sale_price_dates_fields").show()}else{r.find(".sale_schedule").show();r.find(".sale_price_dates_fields").hide()}});e("#woocommerce-product-data").on("click",".sale_schedule",function(){var t=e(this).closest("div, table");e(this).hide();t.find(".cancel_sale_schedule").show();t.find(".sale_price_dates_fields").show();return!1});e("#woocommerce-product-data").on("click",".cancel_sale_schedule",function(){var t=e(this).closest("div, table");e(this).hide();t.find(".sale_schedule").show();t.find(".sale_price_dates_fields").hide();t.find(".sale_price_dates_fields").find("input").val("");return!1});e("input#_manage_stock").change(function(){e(this).is(":checked")?e("div.stock_fields").show():e("div.stock_fields").hide()}).change();var n=e(".sale_price_dates_fields input").datepicker({defaultDate:"",dateFormat:"yy-mm-dd",numberOfMonths:1,showButtonPanel:!0,showOn:"button",buttonImage:woocommerce_writepanel_params.calendar_image,buttonImageOnly:!0,onSelect:function(t){var r=e(this).is("#_sale_price_dates_from, .sale_price_dates_from")?"minDate":"maxDate",i=e(this).data("datepicker"),s=e.datepicker.parseDate(i.settings.dateFormat||e.datepicker._defaults.dateFormat,t,i.settings);n.not(this).datepicker("option",r,s)}});e(".date-picker").datepicker({dateFormat:"yy-mm-dd",numberOfMonths:1,showButtonPanel:!0,showOn:"button",buttonImage:woocommerce_writepanel_params.calendar_image,buttonImageOnly:!0});e(".date-picker-field").datepicker({dateFormat:"yy-mm-dd",numberOfMonths:1,showButtonPanel:!0});jQuery(".wc-metaboxes-wrapper").on("click",".wc-metabox h3",function(t){if(e(t.target).filter(":input, option").length)return;jQuery(this).next(".wc-metabox-content").toggle()}).on("click",".expand_all",function(e){jQuery(this).closest(".wc-metaboxes-wrapper").find(".wc-metabox > table").show();return!1}).on("click",".close_all",function(e){jQuery(this).closest(".wc-metaboxes-wrapper").find(".wc-metabox > table").hide();return!1});jQuery(".wc-metabox.closed").each(function(){jQuery(this).find(".wc-metabox-content").hide()});e(".woocommerce_attributes select.multiselect").chosen();var r=e(".woocommerce_attributes").find(".woocommerce_attribute").get();r.sort(function(t,n){var r=parseInt(e(t).attr("rel")),i=parseInt(e(n).attr("rel"));return ri?1:0});e(r).each(function(t,n){e(".woocommerce_attributes").append(n)});e("button.add_attribute").on("click",function(){var t=e(".woocommerce_attributes .woocommerce_attribute").size(),n=e("select.attribute_taxonomy").val();if(!n){var r=e("select#product-type").val();r!="variable"?enable_variation='style="display:none;"':enable_variation="";e(".woocommerce_attributes").append('

")}else{var s=e(".woocommerce_attributes .woocommerce_attribute."+n);e(".woocommerce_attributes").append(e(s));e(s).show().find(".woocommerce_attribute_data").show();i()}e("select.attribute_taxonomy").val("")});e(".woocommerce_attributes").on("blur","input.attribute_name",function(){e(this).closest(".woocommerce_attribute").find("strong.attribute_name").text(e(this).val())});e(".woocommerce_attributes").on("click","button.select_all_attributes",function(){e(this).closest("td").find("select option").attr("selected","selected");e(this).closest("td").find("select").trigger("liszt:updated");return!1});e(".woocommerce_attributes").on("click","button.select_no_attributes",function(){e(this).closest("td").find("select option").removeAttr("selected");e(this).closest("td").find("select").trigger("liszt:updated");return!1});e(".woocommerce_attributes").on("click","button.remove_row",function(){var t=confirm(woocommerce_writepanel_params.remove_attribute);if(t){var n=e(this).parent().parent();if(n.is(".taxonomy")){n.find("select, input[type=text]").val("");n.hide()}else{n.find("select, input[type=text]").val("");n.hide();i()}}return!1});e(".woocommerce_attributes").sortable({items:".woocommerce_attribute",cursor:"move",axis:"y",handle:"h3",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65,placeholder:"wc-metabox-sortable-placeholder",start:function(e,t){t.item.css("background-color","#f6f6f6")},stop:function(e,t){t.item.removeAttr("style");i()}});e(".woocommerce_attributes").on("click","button.add_new_attribute",function(){e(".woocommerce_attributes").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_writepanel_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});var t=e(this).attr("data-attribute"),n=e(this).closest(".woocommerce_attribute_data"),r=prompt(woocommerce_writepanel_params.new_attribute_prompt);if(r){var i={action:"woocommerce_add_new_attribute",taxonomy:t,term:r,security:woocommerce_writepanel_params.add_attribute_nonce};e.post(woocommerce_writepanel_params.ajax_url,i,function(t){if(t.error)alert(t.error);else if(t.slug){n.find("select.attribute_values").append('");n.find("select.attribute_values").trigger("liszt:updated")}e(".woocommerce_attributes").unblock()})}else e(".woocommerce_attributes").unblock();return!1});e(".save_attributes").on("click",function(){e(".woocommerce_attributes").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_writepanel_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});var t={post_id:woocommerce_writepanel_params.post_id,data:e(".woocommerce_attributes").find("input, select, textarea").serialize(),action:"woocommerce_save_attributes",security:woocommerce_writepanel_params.save_attributes_nonce};e.post(woocommerce_writepanel_params.ajax_url,t,function(t){var n=window.location.toString();n=n.replace("post-new.php?","post.php?post="+woocommerce_writepanel_params.post_id+"&action=edit&");e("#variable_product_options").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_writepanel_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});e("#variable_product_options").load(n+" #variable_product_options_inner",function(){e("#variable_product_options").unblock()});e(".woocommerce_attributes").unblock()})});var s;jQuery(document).on("click",".upload_file_button",function(t){var n=e(this),r=n.parent().find(".file_paths"),i=r.val();t.preventDefault();if(s){s.open();return}var o=[new wp.media.controller.Library({library:wp.media.query(),multiple:!0,title:n.data("choose"),priority:20,filterable:"uploaded"})];s=wp.media.frames.downloadable_file=wp.media({title:n.data("choose"),library:{type:""},button:{text:n.data("update")},multiple:!0,states:o});s.on("select",function(){var e=s.state().get("selection");e.map(function(e){e=e.toJSON();e.url&&(i=i?i+"\n"+e.url:e.url)});r.val(i)});s.on("ready",function(){s.uploader.options.uploader.params={type:"downloadable_product"}});s.open()})});(function(e,t){function n(e){return!!(""===e||e&&e.charCodeAt&&e.substr)}function r(e){return c?c(e):"[object Array]"===h.call(e)}function i(e){return"[object Object]"===h.call(e)}function s(e,t){var n,e=e||{},t=t||{};for(n in t)t.hasOwnProperty(n)&&null==e[n]&&(e[n]=t[n]);return e}function o(e,t,n){var r=[],i,s;if(!e)return r;if(l&&e.map===l)return e.map(t,n);for(i=0,s=e.length;ie?"-":"",m=parseInt(d(Math.abs(e||0),c),10)+"",g=3e?g.neg:g.zero).replace("%s",d.symbol).replace("%v",v(Math.abs(e),u(d.precision),d.thousand,d.decimal -))};f.formatColumn=function(e,t,l,c,h,d){if(!e)return[];var m=s(i(t)?t:{symbol:t,precision:l,thousand:c,decimal:h,format:d},f.settings.currency),g=a(m.format),y=g.pos.indexOf("%s")e?g.neg:g.zero).replace("%s",m.symbol).replace("%v",v(Math.abs(e),u(m.precision),m.thousand,m.decimal));e.length>b&&(b=e.length);return e});return o(e,function(e){return n(e)&&e.length ul.categorychecklist').each(function(){var t=e(this),n=t.find(":checked").first();if(!n.length)return;var r=t.find(":checkbox").position().top,i=n.position().top;t.closest(".tabs-panel").scrollTop(i-r+5)})});e("#upsell_product_data").bind("keypress",function(e){if(e.keyCode==13)return!1});e(".type_box").appendTo("#woocommerce-product-data h3.hndle span");e(function(){e("#woocommerce-product-data h3.hndle").unbind("click.postboxes");jQuery("#woocommerce-product-data").on("click","h3.hndle",function(t){if(e(t.target).filter("input, option, label, select").length)return;e("#woocommerce-product-data").toggleClass("closed")})});e("#order-emails a.show-order-emails").click(function(){if(e("#order-emails-select").is(":hidden")){e("#order-emails-select").slideDown("fast");e(this).hide()}return!1});e("#order-emails a.hide-order-emails").click(function(){e('input[name="order_email[]"]').each(function(){e(this).attr("checked",!1)});if(e("#order-emails-select").is(":visible")){e("#order-emails-select").slideUp("fast");e("#order-emails a.show-order-emails").show()}return!1});e("#catalog-visibility .edit-catalog-visibility").click(function(){if(e("#catalog-visibility-select").is(":hidden")){e("#catalog-visibility-select").slideDown("fast");e(this).hide()}return!1});e("#catalog-visibility .save-post-visibility").click(function(){e("#catalog-visibility-select").slideUp("fast");e("#catalog-visibility .edit-catalog-visibility").show();var t=e("input[name=_visibility]:checked").val(),n=e("input[name=_visibility]:checked").attr("data-label");if(e("input[name=_featured]").is(":checked")){n=n+", "+woocommerce_writepanel_params.featured_label;e("input[name=_featured]").attr("checked","checked")}e("#catalog-visibility-display").text(n);return!1});e("#catalog-visibility .cancel-post-visibility").click(function(){e("#catalog-visibility-select").slideUp("fast");e("#catalog-visibility .edit-catalog-visibility").show();var t=e("#current_visibility").val(),n=e("#current_featured").val();e("input[name=_visibility]").removeAttr("checked");e("input[name=_visibility][value="+t+"]").attr("checked","checked");var r=e("input[name=_visibility]:checked").attr("data-label");if(n=="yes"){r=r+", "+woocommerce_writepanel_params.featured_label;e("input[name=_featured]").attr("checked","checked")}else e("input[name=_featured]").removeAttr("checked");e("#catalog-visibility-display").text(r);return!1});e("ul.wc-tabs").show();e("div.panel-wrap").each(function(){e(this).find("div.panel:not(:first)").hide()});e("ul.wc-tabs a").click(function(){var t=e(this).closest("div.panel-wrap");e("ul.wc-tabs li",t).removeClass("active");e(this).parent().addClass("active");e("div.panel",t).hide();e(e(this).attr("href")).show();return!1});jQuery("select.chosen_select").chosen();jQuery("select.chosen_select_nostd").chosen({allow_single_deselect:"true"});jQuery("select.ajax_chosen_select_products").ajaxChosen({method:"GET",url:woocommerce_writepanel_params.ajax_url,dataType:"json",afterTypeDelay:100,data:{action:"woocommerce_json_search_products",security:woocommerce_writepanel_params.search_products_nonce}},function(t){var n={};e.each(t,function(e,t){n[e]=t});return n});jQuery("select.ajax_chosen_select_products_and_variations").ajaxChosen({method:"GET",url:woocommerce_writepanel_params.ajax_url,dataType:"json",afterTypeDelay:100,data:{action:"woocommerce_json_search_products_and_variations",security:woocommerce_writepanel_params.search_products_nonce}},function(t){var n={};e.each(t,function(e,t){n[e]=t});return n});jQuery("#woocommerce-order-actions input, #woocommerce-order-actions a").click(function(){window.onbeforeunload=""});e("a.edit_address").click(function(t){e(this).hide();e(this).closest(".order_data_column").find("div.address").hide();e(this).closest(".order_data_column").find("div.edit_address").show();t.preventDefault()});e("#order_items_list").on("init_row","tr.item",function(){var t=e(this),n=t.find("input.quantity"),r=n.val(),i=t.find("input.line_subtotal").val(),s=t.find("input.line_total").val(),o=t.find("input.line_tax").val(),u=t.find("input.line_subtotal_tax").val();if(r){unit_subtotal=accounting.toFixed(i/r,2);unit_subtotal_tax=accounting.toFixed(u/r,2);unit_total=accounting.toFixed(s/r,2);unit_total_tax=accounting.toFixed(o/r,2)}else unit_subtotal=unit_subtotal_tax=unit_total=unit_total_tax=0;n.attr("data-o_qty",r);t.attr("data-unit_subtotal",unit_subtotal);t.attr("data-unit_subtotal_tax",unit_subtotal_tax);t.attr("data-unit_total",unit_total);t.attr("data-unit_total_tax",unit_total_tax)});e("#order_items_list tr.item").each(function(){e(this).trigger("init_row")});e("#order_items_list").on("change","input.quantity",function(){var t=e(this).closest("tr.item"),n=e(this).val(),r=t.attr("data-unit_subtotal"),i=t.attr("data-unit_subtotal_tax"),s=t.attr("data-unit_total"),o=t.attr("data-unit_total_tax"),u=e(this).attr("data-o_qty"),a=accounting.formatNumber(r*n,2,""),f=accounting.formatNumber(i*n,2,""),l=accounting.formatNumber(s*n,2,""),c=accounting.formatNumber(o*n,2,"");t.find("input.line_subtotal").val(a);t.find("input.line_total").val(l);t.find("input.line_subtotal_tax").val(f);t.find("input.line_tax").val(c)});e("#order_items_list").on("change","input.line_subtotal",function(){var t=e(this).closest("tr.item"),n=t.find("input.quantity"),r=n.val(),i=r?accounting.toFixed(e(this).val()/r,2):0;t.attr("data-unit_subtotal",i)});e("#order_items_list").on("change","input.line_total",function(){var t=e(this).closest("tr.item"),n=t.find("input.quantity"),r=n.val(),i=r?accounting.toFixed(e(this).val()/r,2):0;t.attr("data-unit_total",i)});e("#order_items_list").on("change","input.line_subtotal_tax",function(){var t=e(this).closest("tr.item"),n=t.find("input.quantity"),r=n.val(),i=r?accounting.toFixed(e(this).val()/r,2):0;t.attr("data-unit_subtotal_tax",i)});e("#order_items_list").on("change","input.line_tax",function(){var t=e(this).closest("tr.item"),n=t.find("input.quantity"),r=n.val(),i=r?accounting.toFixed(e(this).val()/r,2):0;t.attr("data-unit_total_tax",i)});e("#woocommerce-order-totals").on("change","#_order_tax, #_order_shipping_tax, #_cart_discount, #_order_discount",function(){var t=e(this),n=t.closest(".totals").find("input"),r=0;n.each(function(){e(this).val()&&(r+=parseFloat(e(this).val()))});var i=accounting.formatMoney(r,{symbol:woocommerce_writepanel_params.currency_format_symbol,decimal:woocommerce_writepanel_params.currency_format_decimal_sep,thousand:woocommerce_writepanel_params.currency_format_thousand_sep,precision:woocommerce_writepanel_params.currency_format_num_decimals,format:woocommerce_writepanel_params.currency_format});t.closest(".totals_group").find("span.inline_total").text(i)});e("span.inline_total").closest(".totals_group").find("input").change();e("button.calc_line_taxes").click(function(){e(".woocommerce_order_items_wrapper").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_writepanel_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});var t=confirm(woocommerce_writepanel_params.calc_line_taxes);if(t){var n=e("#order_items_list").find("tr.item, tr.fee"),r=e("#_shipping_country").val();if(r)var i=e("#_shipping_state").val(),s=e("#_shipping_postcode").val(),o=e("#_shipping_city").val();else{r=e("#_billing_country").val();var i=e("#_billing_state").val(),s=e("#_billing_postcode").val(),o=e("#_billing_city").val()}var u={};n.each(function(){var t=e(this),n=t.find("input.order_item_id").val(),r=t.find("input.line_subtotal").val(),i=t.find("input.line_total").val(),s=t.find("select.tax_class").val();u[n]={};u[n].line_subtotal=r;u[n].line_total=i;u[n].tax_class=s});var a={action:"woocommerce_calc_line_taxes",order_id:woocommerce_writepanel_params.post_id,items:u,shipping:accounting.unformat(e("#_order_shipping").val()),country:r,state:i,postcode:s,city:o,security:woocommerce_writepanel_params.calc_totals_nonce};e.post(woocommerce_writepanel_params.ajax_url,a,function(t){if(t){n.each(function(){var n=e(this),r=n.find("input.order_item_id").val();n.find("input.line_tax").val(t.item_taxes[r].line_tax).change();n.find("input.line_subtotal_tax").val(t.item_taxes[r].line_subtotal_tax).change();e("#tax_rows").empty().append(t.tax_row_html)});e("#_order_tax").val(t.item_tax).change();e("#_order_shipping_tax").val(t.shipping_tax).change()}e(".woocommerce_order_items_wrapper").unblock()})}else e(".woocommerce_order_items_wrapper").unblock();return!1}).hover(function(){e("#order_items_list input.line_subtotal_tax, #order_items_list input.line_tax, #_order_shipping_tax, #_order_tax, .tax_rows_group").css("background-color","#e3d2dd")},function(){e("#order_items_list input.line_subtotal_tax, #order_items_list input.line_tax, #_order_shipping_tax, #_order_tax, .tax_rows_group").css("background-color","")});e("button.calc_totals").click(function(){e("#woocommerce-order-totals").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_writepanel_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});var t=confirm(woocommerce_writepanel_params.calc_totals);if(t){var n=0,r=0,i=0,s=0,o=0,u=accounting.unformat(e("#_order_shipping").val()),a=accounting.unformat(e("#_order_shipping_tax").val()),f=accounting.unformat(e("#_order_discount").val());u||(u=0);a||(a=0);f||(f=0);e("#order_items_list tr.item").each(function(){var t=accounting.unformat(e(this).find("input.line_subtotal").val()),s=accounting.unformat(e(this).find("input.line_subtotal_tax").val()),u=accounting.unformat(e(this).find("input.line_total").val()),a=accounting.unformat(e(this).find("input.line_tax").val());t||(t=0);s||(s=0);u||(u=0);a||(a=0);n+=t;r+=s;i+=u;woocommerce_writepanel_params.round_at_subtotal=="no"&&(a=accounting.toFixed(a,2));o+=parseFloat(a)});woocommerce_writepanel_params.round_at_subtotal=="yes"&&(o=accounting.toFixed(o,2));var s=n+r-(i+o);s<0&&(s=0);s=accounting.toFixed(s,2);e("#order_items_list tr.fee").each(function(){var t=accounting.unformat(e(this).find("input.line_total").val()),n=accounting.unformat(e(this).find("input.line_tax").val());t||(t=0);n||(n=0);i+=t;woocommerce_writepanel_params.round_at_subtotal=="no"&&(n=accounting.toFixed(n,2));o+=parseFloat(n)});woocommerce_writepanel_params.round_at_subtotal=="yes"&&(o=accounting.toFixed(o,2));var l=i+o+u+a-f;l=accounting.toFixed(l,2);o=accounting.toFixed(o,2);e("#_cart_discount").val(s).change();e("#_order_tax").val(o).change();e("#_order_total").val(l).change();e("#woocommerce-order-totals").unblock()}else e("#woocommerce-order-totals").unblock();return!1}).hover(function(){e("#woocommerce-order-totals .calculated").css("background-color","#e3d2dd")},function(){e("#woocommerce-order-totals .calculated").css("background-color","")});e("#woocommerce-order-items button.add_order_item").click(function(){var t=e("select#add_item_id").val();if(t){count=t.length;e("table.woocommerce_order_items").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_writepanel_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});e.each(t,function(t,n){var r={action:"woocommerce_add_order_item",item_to_add:n,order_id:woocommerce_writepanel_params.post_id,security:woocommerce_writepanel_params.order_item_nonce};e.post(woocommerce_writepanel_params.ajax_url,r,function(t){e("table.woocommerce_order_items tbody#order_items_list").append(t);if(!--count){e("select#add_item_id, #add_item_id_chzn .chzn-choices").css("border-color","").val("");jQuery(".tips").tipTip({attribute:"data-tip",fadeIn:50,fadeOut:50,delay:200});e("select#add_item_id").trigger("liszt:updated");e("table.woocommerce_order_items").unblock()}e("#order_items_list tr.new_row").trigger("init_row").removeClass("new_row")})})}else e("select#add_item_id, #add_item_id_chzn .chzn-choices").css("border-color","red");return!1});e("#woocommerce-order-items button.add_order_fee").click(function(){e("table.woocommerce_order_items").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_writepanel_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});var t={action:"woocommerce_add_order_fee",order_id:woocommerce_writepanel_params.post_id,security:woocommerce_writepanel_params.order_item_nonce};e.post(woocommerce_writepanel_params.ajax_url,t,function(t){e("table.woocommerce_order_items tbody#order_items_list").append(t);e("table.woocommerce_order_items").unblock()});return!1});e("#order_items_list").on("click","button.add_order_item_meta",function(){var t=e(this),n=t.closest("tr.item"),r={order_item_id:n.attr("data-order_item_id"),action:"woocommerce_add_order_item_meta",security:woocommerce_writepanel_params.order_item_nonce};e("table.woocommerce_order_items").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_writepanel_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});e.ajax({url:woocommerce_writepanel_params.ajax_url,data:r,type:"POST",success:function(t){n.find("tbody.meta_items").append(t);e("table.woocommerce_order_items").unblock()}});return!1});e("#order_items_list").on("click","button.remove_order_item_meta",function(){var t=confirm(woocommerce_writepanel_params.remove_item_meta);if(t){var n=e(this).closest("tr"),r={meta_id:n.attr("data-meta_id"),action:"woocommerce_remove_order_item_meta",security:woocommerce_writepanel_params.order_item_nonce};e("table.woocommerce_order_items").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_writepanel_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});e.ajax({url:woocommerce_writepanel_params.ajax_url,data:r,type:"POST",success:function(t){n.hide();e("table.woocommerce_order_items").unblock()}})}return!1});e("#woocommerce-order-items").on("click","input.check-column",function(){e(this).is(":checked")?e("#woocommerce-order-items").find(".check-column input").attr("checked","checked"):e("#woocommerce-order-items").find(".check-column input").removeAttr("checked")});e("#woocommerce-order-items").on("click",".do_bulk_action",function(){var t=e(this).closest(".bulk_actions").find("select").val(),n=e("#woocommerce-order-items").find(".check-column input:checked"),r=[];e(n).each(function(){var t=e(this).closest("tr.item, tr.fee");r.push(t.attr("data-order_item_id"))});if(t=="delete"){var i=confirm(woocommerce_writepanel_params.remove_item_notice);if(i){e("table.woocommerce_order_items").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_writepanel_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});var s={order_item_ids:r,action:"woocommerce_remove_order_item",security:woocommerce_writepanel_params.order_item_nonce};e.ajax({url:woocommerce_writepanel_params.ajax_url,data:s,type:"POST",success:function(t){e(n).each(function(){e(this).closest("tr.item, tr.fee").hide()});e("table.woocommerce_order_items").unblock()}})}}else if(t=="reduce_stock"){e("table.woocommerce_order_items").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_writepanel_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});var o={};e(n).each(function(){var t=e(this).closest("tr.item, tr.fee"),n=t.find("input.quantity");o[t.attr("data-order_item_id")]=n.val()});var s={order_id:woocommerce_writepanel_params.post_id,order_item_ids:r,order_item_qty:o,action:"woocommerce_reduce_order_item_stock",security:woocommerce_writepanel_params.order_item_nonce};e.ajax({url:woocommerce_writepanel_params.ajax_url,data:s,type:"POST",success:function(t){alert(t);e("table.woocommerce_order_items").unblock()}})}else if(t=="increase_stock"){e("table.woocommerce_order_items").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_writepanel_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});var o={};e(n).each(function(){var t=e(this).closest("tr.item, tr.fee"),n=t.find("input.quantity");o[t.attr("data-order_item_id")]=n.val()});var s={order_id:woocommerce_writepanel_params.post_id,order_item_ids:r,order_item_qty:o,action:"woocommerce_increase_order_item_stock",security:woocommerce_writepanel_params.order_item_nonce};e.ajax({url:woocommerce_writepanel_params.ajax_url,data:s,type:"POST",success:function(t){alert(t);e("table.woocommerce_order_items").unblock()}})}return!1});e("button.load_customer_billing").click(function(){var t=confirm(woocommerce_writepanel_params.load_billing);if(t){var n=e("#customer_user").val();if(!n){alert(woocommerce_writepanel_params.no_customer_selected);return!1}var r={user_id:n,type_to_load:"billing",action:"woocommerce_get_customer_details",security:woocommerce_writepanel_params.get_customer_details_nonce};e(this).closest(".edit_address").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_writepanel_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});e.ajax({url:woocommerce_writepanel_params.ajax_url,data:r,type:"POST",success:function(t){var n=t;if(n){e("input#_billing_first_name").val(n.billing_first_name);e("input#_billing_last_name").val(n.billing_last_name);e("input#_billing_company").val(n.billing_company);e("input#_billing_address_1").val(n.billing_address_1);e("input#_billing_address_2").val(n.billing_address_2);e("input#_billing_city").val(n.billing_city);e("input#_billing_postcode").val(n.billing_postcode);e("#_billing_country").val(n.billing_country);e("input#_billing_state").val(n.billing_state);e("input#_billing_email").val(n.billing_email);e("input#_billing_phone").val(n.billing_phone)}e(".edit_address").unblock()}})}return!1});e("button.load_customer_shipping").click(function(){var t=confirm(woocommerce_writepanel_params.load_shipping);if(t){var n=e("#customer_user").val();if(!n){alert(woocommerce_writepanel_params.no_customer_selected);return!1}var r={user_id:n,type_to_load:"shipping",action:"woocommerce_get_customer_details",security:woocommerce_writepanel_params.get_customer_details_nonce};e(this).closest(".edit_address").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_writepanel_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});e.ajax({url:woocommerce_writepanel_params.ajax_url,data:r,type:"POST",success:function(t){var n=t;if(n){e("input#_shipping_first_name").val(n.shipping_first_name);e("input#_shipping_last_name").val(n.shipping_last_name);e("input#_shipping_company").val(n.shipping_company);e("input#_shipping_address_1").val(n.shipping_address_1);e("input#_shipping_address_2").val(n.shipping_address_2);e("input#_shipping_city").val(n.shipping_city);e("input#_shipping_postcode").val(n.shipping_postcode);e("#_shipping_country").val(n.shipping_country);e("input#_shipping_state").val(n.shipping_state)}e(".edit_address").unblock()}})}return!1});e("button.billing-same-as-shipping").click(function(){var t=confirm(woocommerce_writepanel_params.copy_billing);if(t){e("input#_shipping_first_name").val(e("input#_billing_first_name").val());e("input#_shipping_last_name").val(e("input#_billing_last_name").val());e("input#_shipping_company").val(e("input#_billing_company").val());e("input#_shipping_address_1").val(e("input#_billing_address_1").val());e("input#_shipping_address_2").val(e("input#_billing_address_2").val());e("input#_shipping_city").val(e("input#_billing_city").val());e("input#_shipping_postcode").val(e("input#_billing_postcode").val());e("#_shipping_country").val(e("#_billing_country").val());e("input#_shipping_state").val(e("input#_billing_state").val())}return!1});e("a.add_tax_row").click(function(){var t={order_id:woocommerce_writepanel_params.post_id,action:"woocommerce_add_line_tax",security:woocommerce_writepanel_params.calc_totals_nonce};e("#tax_rows").closest(".totals_group").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_writepanel_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});e.ajax({url:woocommerce_writepanel_params.ajax_url,data:t,type:"POST",success:function(t){e("#tax_rows").append(t).closest(".totals_group").unblock()}});return!1});e("#tax_rows").on("click","a.delete_tax_row",function(){var t=e(this).closest(".tax_row"),n=t.attr("data-order_item_id"),r={tax_row_id:n,action:"woocommerce_remove_line_tax",security:woocommerce_writepanel_params.calc_totals_nonce};e("#tax_rows").closest(".totals_group").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_writepanel_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});e.ajax({url:woocommerce_writepanel_params.ajax_url,data:r,type:"POST",success:function(n){t.remove();e("#tax_rows").closest(".totals_group").unblock()}});return!1});e("select#product-type").change(function(){var n=e(this).val();if(n=="variable"){e("input#_manage_stock").change();e("input#_downloadable").prop("checked",!1);e("input#_virtual").removeAttr("checked")}else if(n=="grouped"){e("input#_downloadable").prop("checked",!1);e("input#_virtual").removeAttr("checked")}else if(n=="external"){e("input#_downloadable").prop("checked",!1);e("input#_virtual").removeAttr("checked")}t();e("ul.wc-tabs li:visible").eq(0).find("a").click();e("body").trigger("woocommerce-product-type-change",n,e(this))}).change();e("input#_downloadable, input#_virtual").change(function(){t()});e(".sale_price_dates_fields").each(function(){var t=e(this),n=!1,r=t.closest("div, table");t.find("input").each(function(){e(this).val()!=""&&(n=!0)});if(n){r.find(".sale_schedule").hide();r.find(".sale_price_dates_fields").show()}else{r.find(".sale_schedule").show();r.find(".sale_price_dates_fields").hide()}});e("#woocommerce-product-data").on("click",".sale_schedule",function(){var t=e(this).closest("div, table");e(this).hide();t.find(".cancel_sale_schedule").show();t.find(".sale_price_dates_fields").show();return!1});e("#woocommerce-product-data").on("click",".cancel_sale_schedule",function(){var t=e(this).closest("div, table");e(this).hide();t.find(".sale_schedule").show();t.find(".sale_price_dates_fields").hide();t.find(".sale_price_dates_fields").find("input").val("");return!1});e("input#_manage_stock").change(function(){e(this).is(":checked")?e("div.stock_fields").show():e("div.stock_fields").hide()}).change();var n=e(".sale_price_dates_fields input").datepicker({defaultDate:"",dateFormat:"yy-mm-dd",numberOfMonths:1,showButtonPanel:!0,showOn:"button",buttonImage:woocommerce_writepanel_params.calendar_image,buttonImageOnly:!0,onSelect:function(t){var r=e(this).is("#_sale_price_dates_from, .sale_price_dates_from")?"minDate":"maxDate",i=e(this).data("datepicker"),s=e.datepicker.parseDate(i.settings.dateFormat||e.datepicker._defaults.dateFormat,t,i.settings);n.not(this).datepicker("option",r,s)}});e(".date-picker").datepicker({dateFormat:"yy-mm-dd",numberOfMonths:1,showButtonPanel:!0,showOn:"button",buttonImage:woocommerce_writepanel_params.calendar_image,buttonImageOnly:!0});e(".date-picker-field").datepicker({dateFormat:"yy-mm-dd",numberOfMonths:1,showButtonPanel:!0});jQuery(".wc-metaboxes-wrapper").on("click",".wc-metabox h3",function(t){if(e(t.target).filter(":input, option").length)return;jQuery(this).next(".wc-metabox-content").toggle()}).on("click",".expand_all",function(e){jQuery(this).closest(".wc-metaboxes-wrapper").find(".wc-metabox > table").show();return!1}).on("click",".close_all",function(e){jQuery(this).closest(".wc-metaboxes-wrapper").find(".wc-metabox > table").hide();return!1});jQuery(".wc-metabox.closed").each(function(){jQuery(this).find(".wc-metabox-content").hide()});e(".woocommerce_attributes select.multiselect").chosen();var r=e(".woocommerce_attributes").find(".woocommerce_attribute").get();r.sort(function(t,n){var r=parseInt(e(t).attr("rel")),i=parseInt(e(n).attr("rel"));return ri?1:0});e(r).each(function(t,n){e(".woocommerce_attributes").append(n)});e("button.add_attribute").on("click",function(){var t=e(".woocommerce_attributes .woocommerce_attribute").size(),n=e("select.attribute_taxonomy").val();if(!n){var r=e("select#product-type").val();r!="variable"?enable_variation='style="display:none;"':enable_variation="";e(".woocommerce_attributes").append('

")}else{var s=e(".woocommerce_attributes .woocommerce_attribute."+n);e(".woocommerce_attributes").append(e(s));e(s).show().find(".woocommerce_attribute_data").show();i()}e("select.attribute_taxonomy").val("")});e(".woocommerce_attributes").on("blur","input.attribute_name",function(){e(this).closest(".woocommerce_attribute").find("strong.attribute_name").text(e(this).val())});e(".woocommerce_attributes").on("click","button.select_all_attributes",function(){e(this).closest("td").find("select option").attr("selected","selected");e(this).closest("td").find("select").trigger("liszt:updated");return!1});e(".woocommerce_attributes").on("click","button.select_no_attributes",function(){e(this).closest("td").find("select option").removeAttr("selected");e(this).closest("td").find("select").trigger("liszt:updated");return!1});e(".woocommerce_attributes").on("click","button.remove_row",function(){var t=confirm(woocommerce_writepanel_params.remove_attribute);if(t){var n=e(this).parent().parent();if(n.is(".taxonomy")){n.find("select, input[type=text]").val("");n.hide()}else{n.find("select, input[type=text]").val("");n.hide();i()}}return!1});e(".woocommerce_attributes").sortable({items:".woocommerce_attribute",cursor:"move",axis:"y",handle:"h3",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65,placeholder:"wc-metabox-sortable-placeholder",start:function(e,t){t.item.css("background-color","#f6f6f6")},stop:function(e,t){t.item.removeAttr("style");i()}});e(".woocommerce_attributes").on("click","button.add_new_attribute",function(){e(".woocommerce_attributes").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_writepanel_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});var t=e(this).attr("data-attribute"),n=e(this).closest(".woocommerce_attribute_data"),r=prompt(woocommerce_writepanel_params.new_attribute_prompt);if(r){var i={action:"woocommerce_add_new_attribute",taxonomy:t,term:r,security:woocommerce_writepanel_params.add_attribute_nonce};e.post(woocommerce_writepanel_params.ajax_url,i,function(t){if(t.error)alert(t.error);else if(t.slug){n.find("select.attribute_values").append('");n.find("select.attribute_values").trigger("liszt:updated")}e(".woocommerce_attributes").unblock()})}else e(".woocommerce_attributes").unblock();return!1});e(".save_attributes").on("click",function(){e(".woocommerce_attributes").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_writepanel_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});var t={post_id:woocommerce_writepanel_params.post_id,data:e(".woocommerce_attributes").find("input, select, textarea").serialize(),action:"woocommerce_save_attributes",security:woocommerce_writepanel_params.save_attributes_nonce};e.post(woocommerce_writepanel_params.ajax_url,t,function(t){var n=window.location.toString();n=n.replace("post-new.php?","post.php?post="+woocommerce_writepanel_params.post_id+"&action=edit&");e("#variable_product_options").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_writepanel_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});e("#variable_product_options").load(n+" #variable_product_options_inner",function(){e("#variable_product_options").unblock()});e(".woocommerce_attributes").unblock()})});var s;jQuery(document).on("click",".upload_file_button",function(t){var n=e(this),r=n.parent().find(".file_paths"),i=r.val();t.preventDefault();if(s){s.open();return}var o=[new wp.media.controller.Library({library:wp.media.query(),multiple:!0,title:n.data("choose"),priority:20,filterable:"uploaded"})];s=wp.media.frames.downloadable_file=wp.media({title:n.data("choose"),library:{type:""},button:{text:n.data("update")},multiple:!0,states:o});s.on("select",function(){var e=s.state().get("selection");e.map(function(e){e=e.toJSON();e.url&&(i=i?i+"\n"+e.url:e.url)});r.val(i)});s.on("ready",function(){s.uploader.options.uploader.params={type:"downloadable_product"}});s.open()})});(function(e,t){function n(e){return!!(""===e||e&&e.charCodeAt&&e.substr)}function r(e){return c?c(e):"[object Array]"===h.call(e)}function i(e){return"[object Object]"===h.call(e)}function s(e,t){var n,e=e||{},t=t||{};for(n in t)t.hasOwnProperty(n)&&null==e[n]&&(e[n]=t[n]);return e}function o(e,t,n){var r=[],i,s;if(!e)return r;if(l&&e.map===l)return e.map(t,n);for(i=0,s=e.length;ie?"-":"",m=parseInt(d(Math.abs(e||0),c),10)+"",g=3e?g.neg:g.zero).replace("%s",d.symbol).replace("%v",v(Math.abs( +e),u(d.precision),d.thousand,d.decimal))};f.formatColumn=function(e,t,l,c,h,d){if(!e)return[];var m=s(i(t)?t:{symbol:t,precision:l,thousand:c,decimal:h,format:d},f.settings.currency),g=a(m.format),y=g.pos.indexOf("%s")e?g.neg:g.zero).replace("%s",m.symbol).replace("%v",v(Math.abs(e),u(m.precision),m.thousand,m.decimal));e.length>b&&(b=e.length);return e});return o(e,function(e){return n(e)&&e.length' + woocommerce_params.i18n_view_cart + '' ); + + // Replace fragments + if ( fragments ) { + $.each(fragments, function(key, value) { + $(key).replaceWith(value); + }); + } + + // Unblock + $('.widget_shopping_cart, .updating').stop(true).css('opacity', '1').unblock(); + + // Cart page elements + $('.shop_table.cart').load( this_page + ' .shop_table.cart:eq(0) > *', function() { + + $("div.quantity:not(.buttons_added), td.quantity:not(.buttons_added)").addClass('buttons_added').append('').prepend(''); + + $('.shop_table.cart').stop(true).css('opacity', '1').unblock(); + + $('body').trigger('cart_page_refreshed'); }); - } - // Block widgets and fragments - $('.shop_table.cart, .updating, .cart_totals').fadeTo('400', '0.6').block({message: null, overlayCSS: {background: 'transparent url(' + woocommerce_params.ajax_loader_url + ') no-repeat center', backgroundSize: '16px 16px', opacity: 0.6 } } ); - - // Changes button classes - if ( $thisbutton.parent().find('.added_to_cart').size() == 0 ) - $thisbutton.addClass('added').after( ' ' + woocommerce_params.i18n_view_cart + '' ); - - // Replace fragments - if ( fragments ) { - $.each(fragments, function(key, value) { - $(key).replaceWith(value); + $('.cart_totals').load( this_page + ' .cart_totals:eq(0) > *', function() { + $('.cart_totals').stop(true).css('opacity', '1').unblock(); }); + + // Trigger event so themes can refresh other areas + $('body').trigger( 'added_to_cart', [ fragments, cart_hash ] ); } - - // Unblock - $('.widget_shopping_cart, .updating').stop(true).css('opacity', '1').unblock(); - - // Cart page elements - $('.shop_table.cart').load( this_page + ' .shop_table.cart:eq(0) > *', function() { - - $("div.quantity:not(.buttons_added), td.quantity:not(.buttons_added)").addClass('buttons_added').append('').prepend(''); - - $('.shop_table.cart').stop(true).css('opacity', '1').unblock(); - - $('body').trigger('cart_page_refreshed'); - }); - - $('.cart_totals').load( this_page + ' .cart_totals:eq(0) > *', function() { - $('.cart_totals').stop(true).css('opacity', '1').unblock(); - }); - - // Trigger event so themes can refresh other areas - $('body').trigger( 'added_to_cart', [ fragments, cart_hash ] ); }); return false; diff --git a/assets/js/frontend/add-to-cart.min.js b/assets/js/frontend/add-to-cart.min.js index 45689fb32b5..789a3e8a13f 100644 --- a/assets/js/frontend/add-to-cart.min.js +++ b/assets/js/frontend/add-to-cart.min.js @@ -1 +1 @@ -jQuery(document).ready(function(e){e(document).on("click",".add_to_cart_button",function(){var t=e(this);if(t.is(".product_type_simple, .product_type_downloadable, .product_type_virtual")){if(!t.attr("data-product_id"))return!0;t.removeClass("added");t.addClass("loading");var n={action:"woocommerce_add_to_cart",product_id:t.attr("data-product_id"),quantity:t.attr("data-quantity"),security:woocommerce_params.add_to_cart_nonce};e("body").trigger("adding_to_cart",[t,n]);e.post(woocommerce_params.ajax_url,n,function(n){if(!n)return;var r=window.location.toString();r=r.replace("add-to-cart","added-to-cart");t.removeClass("loading");if(n.error&&n.product_url){window.location=n.product_url;return}fragments=n.fragments;cart_hash=n.cart_hash;fragments&&e.each(fragments,function(t,n){e(t).addClass("updating")});e(".shop_table.cart, .updating, .cart_totals").fadeTo("400","0.6").block({message:null,overlayCSS:{background:"transparent url("+woocommerce_params.ajax_loader_url+") no-repeat center",backgroundSize:"16px 16px",opacity:.6}});t.parent().find(".added_to_cart").size()==0&&t.addClass("added").after(' '+woocommerce_params.i18n_view_cart+"");fragments&&e.each(fragments,function(t,n){e(t).replaceWith(n)});e(".widget_shopping_cart, .updating").stop(!0).css("opacity","1").unblock();e(".shop_table.cart").load(r+" .shop_table.cart:eq(0) > *",function(){e("div.quantity:not(.buttons_added), td.quantity:not(.buttons_added)").addClass("buttons_added").append('').prepend('');e(".shop_table.cart").stop(!0).css("opacity","1").unblock();e("body").trigger("cart_page_refreshed")});e(".cart_totals").load(r+" .cart_totals:eq(0) > *",function(){e(".cart_totals").stop(!0).css("opacity","1").unblock()});e("body").trigger("added_to_cart",[fragments,cart_hash])});return!1}return!0})}); \ No newline at end of file +jQuery(document).ready(function(e){e(document).on("click",".add_to_cart_button",function(){var t=e(this);if(t.is(".product_type_simple, .product_type_downloadable, .product_type_virtual")){if(!t.attr("data-product_id"))return!0;t.removeClass("added");t.addClass("loading");var n={action:"woocommerce_add_to_cart",product_id:t.attr("data-product_id"),quantity:t.attr("data-quantity"),security:woocommerce_params.add_to_cart_nonce};e("body").trigger("adding_to_cart",[t,n]);e.post(woocommerce_params.ajax_url,n,function(n){if(!n)return;var r=window.location.toString();r=r.replace("add-to-cart","added-to-cart");if(n.error&&n.product_url){window.location=n.product_url;return}if(woocommerce_params.cart_redirect_after_add=="yes"){window.location=woocommerce_params.cart_url;return}t.removeClass("loading");fragments=n.fragments;cart_hash=n.cart_hash;fragments&&e.each(fragments,function(t,n){e(t).addClass("updating")});e(".shop_table.cart, .updating, .cart_totals").fadeTo("400","0.6").block({message:null,overlayCSS:{background:"transparent url("+woocommerce_params.ajax_loader_url+") no-repeat center",backgroundSize:"16px 16px",opacity:.6}});t.parent().find(".added_to_cart").size()==0&&t.addClass("added").after(' '+woocommerce_params.i18n_view_cart+"");fragments&&e.each(fragments,function(t,n){e(t).replaceWith(n)});e(".widget_shopping_cart, .updating").stop(!0).css("opacity","1").unblock();e(".shop_table.cart").load(r+" .shop_table.cart:eq(0) > *",function(){e("div.quantity:not(.buttons_added), td.quantity:not(.buttons_added)").addClass("buttons_added").append('').prepend('');e(".shop_table.cart").stop(!0).css("opacity","1").unblock();e("body").trigger("cart_page_refreshed")});e(".cart_totals").load(r+" .cart_totals:eq(0) > *",function(){e(".cart_totals").stop(!0).css("opacity","1").unblock()});e("body").trigger("added_to_cart",[fragments,cart_hash])});return!1}return!0})}); \ No newline at end of file diff --git a/classes/abstracts/abstract-wc-product.php b/classes/abstracts/abstract-wc-product.php index 3a79c87d852..01a0e8d6e52 100644 --- a/classes/abstracts/abstract-wc-product.php +++ b/classes/abstracts/abstract-wc-product.php @@ -332,8 +332,7 @@ abstract class WC_Product { function is_sold_individually() { $return = false; - // Sold individually if downloadable, virtual, and the option is enabled OR if intentionally a singular item - if ( 'yes' == $this->sold_individually || ( $this->is_downloadable() && $this->is_virtual() && get_option('woocommerce_limit_downloadable_product_qty') == 'yes' ) || ( ! $this->backorders_allowed() && $this->get_stock_quantity() == 1 ) ) { + if ( 'yes' == $this->sold_individually || ( ! $this->backorders_allowed() && $this->get_stock_quantity() == 1 ) ) { $return = true; } diff --git a/classes/class-wc-cart.php b/classes/class-wc-cart.php index 44ffef0fa5b..79135309fd4 100644 --- a/classes/class-wc-cart.php +++ b/classes/class-wc-cart.php @@ -122,10 +122,8 @@ class WC_Cart { global $woocommerce; // Load the coupons - if ( get_option( 'woocommerce_enable_coupons' ) == 'yes' ) { - $this->applied_coupons = ( empty( $woocommerce->session->coupon_codes ) ) ? array() : array_filter( (array) $woocommerce->session->coupon_codes ); - $this->coupon_discount_amounts = ( empty( $woocommerce->session->coupon_amounts ) ) ? array() : array_filter( (array) $woocommerce->session->coupon_amounts ); - } + $this->applied_coupons = ( empty( $woocommerce->session->coupon_codes ) ) ? array() : array_filter( (array) $woocommerce->session->coupon_codes ); + $this->coupon_discount_amounts = ( empty( $woocommerce->session->coupon_amounts ) ) ? array() : array_filter( (array) $woocommerce->session->coupon_amounts ); // Load the cart if ( isset( $woocommerce->session->cart ) && is_array( $woocommerce->session->cart ) ) { @@ -290,6 +288,20 @@ class WC_Cart { /* Cart Data Functions */ /*-----------------------------------------------------------------------------------*/ + /** + * If there are no coupons, return false to disable coupon forms. Filterable. + * + * @access public + * @return void + */ + public function coupons_enabled() { + + $coupon_count = wp_count_posts( 'shop_coupon' ); + $coupons_enabled = $coupon_count->publish > 0 ? true : false; + + return apply_filters( 'woocommerce_coupons_enabled', $coupons_enabled ); + } + /** * Get number of items in the cart. * @@ -1742,7 +1754,8 @@ class WC_Cart { global $woocommerce; // Coupons are globally disabled - if ( get_option('woocommerce_enable_coupons') == 'no' ) return false; + if ( ! $woocommerce->cart->coupons_enabled() ) + return false; $the_coupon = new WC_Coupon( $coupon_code ); diff --git a/readme.txt b/readme.txt index e2a8cb71750..a13e41d0fc7 100644 --- a/readme.txt +++ b/readme.txt @@ -214,6 +214,7 @@ Yes you can! Join in on our [GitHub repository](http://github.com/woothemes/wooc * Templating - Renamed empty.php to cart-empty.php to make clearer. * Templating - Renamed sorting.php to orderby.php to better reflect contained hooks and code. * Templating - Product tabs rewritten - new filter to define tab titles, priorities, and display callbacks. +* Templating - loop/no-products-found.php template added. * Tweak - Sorting uses GET to make it cache friendly * Tweak - Optimised class loading (autoload). Reduced memory consumption. diff --git a/templates/cart/cart.php b/templates/cart/cart.php index f8af5af20c2..a1c3303c495 100755 --- a/templates/cart/cart.php +++ b/templates/cart/cart.php @@ -117,7 +117,7 @@ global $woocommerce; - + cart->coupons_enabled() ) { ?>
diff --git a/templates/checkout/form-coupon.php b/templates/checkout/form-coupon.php index 4ce26b2fccf..0adcc4251a2 100644 --- a/templates/checkout/form-coupon.php +++ b/templates/checkout/form-coupon.php @@ -9,7 +9,8 @@ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly -if ( get_option( 'woocommerce_enable_coupons' ) == 'no' || get_option( 'woocommerce_enable_coupon_form_on_checkout' ) == 'no' ) return; +if ( ! $woocommerce->cart->coupons_enabled() ) + return; $info_message = apply_filters('woocommerce_checkout_coupon_message', __( 'Have a coupon?', 'woocommerce' )); ?> diff --git a/woocommerce-ajax.php b/woocommerce-ajax.php index feab9d3ad28..171906d002a 100644 --- a/woocommerce-ajax.php +++ b/woocommerce-ajax.php @@ -262,6 +262,11 @@ function woocommerce_ajax_add_to_cart() { do_action( 'woocommerce_ajax_added_to_cart', $product_id ); + if ( get_option( 'woocommerce_cart_redirect_after_add' ) == 'yes' ) { + woocommerce_add_to_cart_message( $product_id ); + $woocommerce->set_messages(); + } + // Return fragments woocommerce_get_refreshed_fragments(); diff --git a/woocommerce-hooks.php b/woocommerce-hooks.php index 34682e50373..d729b2a5519 100644 --- a/woocommerce-hooks.php +++ b/woocommerce-hooks.php @@ -207,13 +207,6 @@ add_action( 'template_redirect', 'woocommerce_template_redirect' ); add_filter( 'wp_nav_menu_objects', 'woocommerce_nav_menu_item_classes', 2, 20 ); add_filter( 'wp_list_pages', 'woocommerce_list_pages' ); -/** - * Logout link - * - * @see woocommerce_nav_menu_items() - */ -add_filter( 'wp_nav_menu_items', 'woocommerce_nav_menu_items', 10, 2 ); - /** * Clear the cart * diff --git a/woocommerce.php b/woocommerce.php index 605c1ad4579..399f579b35d 100644 --- a/woocommerce.php +++ b/woocommerce.php @@ -726,6 +726,7 @@ class Woocommerce { * @return void */ public function wp_head() { + if ( is_woocommerce() ) { $this->add_body_class( 'woocommerce' ); $this->add_body_class( 'woocommerce-page' ); @@ -749,6 +750,7 @@ class Woocommerce { $this->add_body_class( 'woocommerce-page' ); return; } + } @@ -1204,6 +1206,7 @@ class Woocommerce { 'update_shipping_method_nonce' => wp_create_nonce( "update-shipping-method" ), 'add_to_cart_nonce' => wp_create_nonce( "add-to-cart" ), 'cart_url' => get_permalink( woocommerce_get_page_id( 'cart' ) ), + 'cart_redirect_after_add' => get_option( 'woocommerce_cart_redirect_after_add' ) ); if ( is_checkout() || is_cart() )