diff --git a/assets/js/admin/meta-boxes.js b/assets/js/admin/meta-boxes.js index a8ff6b3b8c4..299f7e3cf33 100644 --- a/assets/js/admin/meta-boxes.js +++ b/assets/js/admin/meta-boxes.js @@ -213,10 +213,10 @@ jQuery( function($){ var line_subtotal_tax = $row.find('input.line_subtotal_tax').val(); if ( qty ) { - unit_subtotal = accounting.toFixed( ( line_subtotal / qty ), 2 ); - unit_subtotal_tax = accounting.toFixed( ( line_subtotal_tax / qty ), 2 ); - unit_total = accounting.toFixed( ( line_total / qty ), 2 ); - unit_total_tax = accounting.toFixed( ( line_tax / qty ), 2 ); + unit_subtotal = parseFloat( accounting.toFixed( ( line_subtotal / qty ), woocommerce_admin_meta_boxes.rounding_precision ) ); + unit_subtotal_tax = parseFloat( accounting.toFixed( ( line_subtotal_tax / qty ), woocommerce_admin_meta_boxes.rounding_precision ) ); + unit_total = parseFloat( accounting.toFixed( ( line_total / qty ), woocommerce_admin_meta_boxes.rounding_precision ) ); + unit_total_tax = parseFloat( accounting.toFixed( ( line_tax / qty ), woocommerce_admin_meta_boxes.rounding_precision ) ); } else { unit_subtotal = unit_subtotal_tax = unit_total = unit_total_tax = 0; } @@ -252,10 +252,10 @@ jQuery( function($){ var unit_total_tax = $row.attr('data-unit_total_tax'); var o_qty = $(this).attr('data-o_qty'); - var subtotal = accounting.formatNumber( unit_subtotal * qty, 2, '' ); - var tax = accounting.formatNumber( unit_subtotal_tax * qty, 2, '' ); - var total = accounting.formatNumber( unit_total * qty, 2, '' ); - var total_tax = accounting.formatNumber( unit_total_tax * qty, 2, '' ); + var subtotal = parseFloat( accounting.formatNumber( unit_subtotal * qty, woocommerce_admin_meta_boxes.rounding_precision, '' ) ); + var tax = parseFloat( accounting.formatNumber( unit_subtotal_tax * qty, woocommerce_admin_meta_boxes.rounding_precision, '' ) ); + var total = parseFloat( accounting.formatNumber( unit_total * qty, woocommerce_admin_meta_boxes.rounding_precision, '' ) ); + var total_tax = parseFloat( accounting.formatNumber( unit_total_tax * qty, woocommerce_admin_meta_boxes.rounding_precision, '' ) ); $row.find('input.line_subtotal').val( subtotal ); $row.find('input.line_total').val( total ); @@ -270,7 +270,7 @@ jQuery( function($){ var $row = $(this).closest('tr.item'); var $qty = $row.find('input.quantity'); var qty = $qty.val(); - var value = ( qty ) ? accounting.toFixed( ( $(this).val() / qty ), 2 ) : 0; + var value = ( qty ) ? accounting.toFixed( ( $(this).val() / qty ), woocommerce_admin_meta_boxes.rounding_precision ) : 0; $row.attr( 'data-unit_subtotal', value ); }); @@ -280,7 +280,7 @@ jQuery( function($){ var $row = $(this).closest('tr.item'); var $qty = $row.find('input.quantity'); var qty = $qty.val(); - var value = ( qty ) ? accounting.toFixed( ( $(this).val() / qty ), 2 ) : 0; + var value = ( qty ) ? accounting.toFixed( ( $(this).val() / qty ), woocommerce_admin_meta_boxes.rounding_precision ) : 0; $row.attr( 'data-unit_total', value ); }); @@ -290,7 +290,7 @@ jQuery( function($){ var $row = $(this).closest('tr.item'); var $qty = $row.find('input.quantity'); var qty = $qty.val(); - var value = ( qty ) ? accounting.toFixed( ( $(this).val() / qty ), 2 ) : 0; + var value = ( qty ) ? accounting.toFixed( ( $(this).val() / qty ), woocommerce_admin_meta_boxes.rounding_precision ) : 0; $row.attr( 'data-unit_subtotal_tax', value ); }); @@ -300,7 +300,7 @@ jQuery( function($){ var $row = $(this).closest('tr.item'); var $qty = $row.find('input.quantity'); var qty = $qty.val(); - var value = ( qty ) ? accounting.toFixed( ( $(this).val() / qty ), 2 ) : 0; + var value = ( qty ) ? accounting.toFixed( ( $(this).val() / qty ), woocommerce_admin_meta_boxes.rounding_precision ) : 0; $row.attr( 'data-unit_total_tax', value ); }); @@ -309,7 +309,7 @@ jQuery( function($){ $('#woocommerce-order-totals').on( 'change input', '.order_taxes_amount, .order_taxes_shipping_amount, .shipping_cost, #_order_discount', function() { var $this = $(this); - var fields = $this.closest('.totals_group').find('input[type=number]'); + var fields = $this.closest('.totals_group').find('input[type=number], .wc_input_decimal'); var total = 0; fields.each(function(){ @@ -317,6 +317,10 @@ jQuery( function($){ total = total + parseFloat( $(this).val() ); }); + if ( $this.is('.order_taxes_amount') || $this.is('.order_taxes_shipping_amount') ) { + total = round( total, woocommerce_admin_meta_boxes.currency_format_num_decimals, woocommerce_admin_meta_boxes.tax_rounding_mode ); + } + var formatted_total = accounting.formatMoney( total, { symbol : woocommerce_admin_meta_boxes.currency_format_symbol, decimal : woocommerce_admin_meta_boxes.currency_format_decimal_sep, @@ -381,7 +385,7 @@ jQuery( function($){ order_shipping = 0; - $('#shipping_rows').find('input[type=number]').each(function(){ + $('#shipping_rows').find('input[type=number], .wc_input_decimal').each(function(){ cost = $(this).val() || '0'; cost = accounting.unformat( cost.replace(',', '.') ); order_shipping = order_shipping + parseFloat( cost ); @@ -445,13 +449,13 @@ jQuery( function($){ order_discount = accounting.unformat( order_discount.replace(',', '.') ); - $('#shipping_rows').find('input[type=number]').each(function(){ + $('#shipping_rows').find('input[type=number], .wc_input_decimal').each(function(){ cost = $(this).val() || '0'; cost = accounting.unformat( cost.replace(',', '.') ); shipping = shipping + parseFloat( cost ); }); - $('#tax_rows').find('input[type=number]').each(function(){ + $('#tax_rows').find('input[type=number], .wc_input_decimal').each(function(){ cost = $(this).val() || '0'; cost = accounting.unformat( cost.replace(',', '.') ); tax = tax + parseFloat( cost ); @@ -464,10 +468,10 @@ jQuery( function($){ // Tax if ( woocommerce_admin_meta_boxes.round_at_subtotal == 'yes' ) - tax = parseFloat( accounting.toFixed( tax, 2 ) ); + tax = parseFloat( accounting.toFixed( tax, woocommerce_admin_meta_boxes.rounding_precision ) ); // Set Total - $('#_order_total').val( accounting.toFixed( line_totals + tax + shipping - order_discount, 2 ) ).change(); + $('#_order_total').val( parseFloat( accounting.toFixed( line_totals + tax + shipping - order_discount, woocommerce_admin_meta_boxes.currency_format_num_decimals ) ) ).change(); } $('#woocommerce-order-totals').unblock(); diff --git a/assets/js/admin/meta-boxes.min.js b/assets/js/admin/meta-boxes.min.js index 8e533d9dd4f..4ae56fab307 100644 --- a/assets/js/admin/meta-boxes.min.js +++ b/assets/js/admin/meta-boxes.min.js @@ -1 +1 @@ -jQuery(function(e){function t(){var t=e("select#product-type").val(),n=e("input#_virtual:checked").size(),r=e("input#_downloadable:checked").size(),i=".hide_if_downloadable, .hide_if_virtual",s=".show_if_downloadable, .show_if_virtual, .show_if_external";e.each(woocommerce_admin_meta_boxes.product_types,function(e,t){i=i+", .hide_if_"+t;s=s+", .show_if_"+t});e(i).show();e(s).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();e("input#_manage_stock").change()}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("#titlediv #title").keyup(function(t){var n=t.keyCode||t.which;if(n=="9"&&e("#woocommerce-coupon-description").size()>0){t.stopPropagation();e("#woocommerce-coupon-description").focus();return!1}});e("select#discount_type").change(function(){var t=e(this).val();t=="fixed_product"||t=="percent_product"?e(".limit_usage_to_x_items_field").show():e(".limit_usage_to_x_items_field").hide()}).change();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("input").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_admin_meta_boxes.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_admin_meta_boxes.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_admin_meta_boxes.ajax_url,dataType:"json",afterTypeDelay:100,data:{action:"woocommerce_json_search_products",security:woocommerce_admin_meta_boxes.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_admin_meta_boxes.ajax_url,dataType:"json",afterTypeDelay:100,data:{action:"woocommerce_json_search_products_and_variations",security:woocommerce_admin_meta_boxes.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(this).find(".edit").hide()});e("#order_items_list").on("click","a.edit_order_item",function(){e(this).closest("tr").find(".view").hide();e(this).closest("tr").find(".edit").show();e(this).hide();return!1});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(this).trigger("quantity_changed")});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 input",".order_taxes_amount, .order_taxes_shipping_amount, .shipping_cost, #_order_discount",function(){var t=e(this),n=t.closest(".totals_group").find("input[type=number]"),r=0;n.each(function(){e(this).val()&&(r+=parseFloat(e(this).val()))});var i=accounting.formatMoney(r,{symbol:woocommerce_admin_meta_boxes.currency_format_symbol,decimal:woocommerce_admin_meta_boxes.currency_format_decimal_sep,thousand:woocommerce_admin_meta_boxes.currency_format_thousand_sep,precision:woocommerce_admin_meta_boxes.currency_format_num_decimals,format:woocommerce_admin_meta_boxes.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_admin_meta_boxes.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});var t=confirm(woocommerce_admin_meta_boxes.calc_line_taxes);if(t){var n=e("#order_items_list").find("tr.item, tr.fee"),r=e("#_shipping_country").val(),i=e("#_billing_country").val();if(r)var s=r,o=e("#_shipping_state").val(),u=e("#_shipping_postcode").val(),a=e("#_shipping_city").val();else if(i)var s=i,o=e("#_billing_state").val(),u=e("#_billing_postcode").val(),a=e("#_billing_city").val();else var s=woocommerce_admin_meta_boxes.base_country,o="",u="",a="";var f={};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();f[n]={};f[n].line_subtotal=r;f[n].line_total=i;f[n].tax_class=s});order_shipping=0;e("#shipping_rows").find("input[type=number]").each(function(){cost=e(this).val()||"0";cost=accounting.unformat(cost.replace(",","."));order_shipping+=parseFloat(cost)});var l={action:"woocommerce_calc_line_taxes",order_id:woocommerce_admin_meta_boxes.post_id,items:f,shipping:order_shipping,country:s,state:o,postcode:u,city:a,security:woocommerce_admin_meta_boxes.calc_totals_nonce};e.post(woocommerce_admin_meta_boxes.ajax_url,l,function(t){if(t){n.each(function(){var n=e(this),r=n.find("input.order_item_id").val();n.find(".edit_order_item").click();if(t.item_taxes[r]){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()}t.tax_row_html&&e("#tax_rows").empty().append(t.tax_row_html)});e("#tax_rows").find("input").change()}e(".woocommerce_order_items_wrapper").unblock()})}else e(".woocommerce_order_items_wrapper").unblock();return!1});e("button.calc_totals").click(function(){e("#woocommerce-order-totals").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_admin_meta_boxes.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});var t=confirm(woocommerce_admin_meta_boxes.calc_totals);if(t){var n=0,r=0,i=0,s=e("#_order_discount").val()||"0";s=accounting.unformat(s.replace(",","."));e("#shipping_rows").find("input[type=number]").each(function(){cost=e(this).val()||"0";cost=accounting.unformat(cost.replace(",","."));i+=parseFloat(cost)});e("#tax_rows").find("input[type=number]").each(function(){cost=e(this).val()||"0";cost=accounting.unformat(cost.replace(",","."));r+=parseFloat(cost)});e("#order_items_list tr.item, #order_items_list tr.fee").each(function(){line_total=e(this).find("input.line_total").val()||"0";n+=accounting.unformat(line_total.replace(",","."))});woocommerce_admin_meta_boxes.round_at_subtotal=="yes"&&(r=parseFloat(accounting.toFixed(r,2)));e("#_order_total").val(accounting.toFixed(n+r+i-s,2)).change()}e("#woocommerce-order-totals").unblock();return!1});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_admin_meta_boxes.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_admin_meta_boxes.post_id,security:woocommerce_admin_meta_boxes.order_item_nonce};e.post(woocommerce_admin_meta_boxes.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_chosen .chosen-choices").css("border-color","").val("");jQuery(".tips").tipTip({attribute:"data-tip",fadeIn:50,fadeOut:50,delay:200});e("select#add_item_id").trigger("chosen: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_chosen .chosen-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_admin_meta_boxes.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});var t={action:"woocommerce_add_order_fee",order_id:woocommerce_admin_meta_boxes.post_id,security:woocommerce_admin_meta_boxes.order_item_nonce};e.post(woocommerce_admin_meta_boxes.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_admin_meta_boxes.order_item_nonce};e("table.woocommerce_order_items").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_admin_meta_boxes.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});e.ajax({url:woocommerce_admin_meta_boxes.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_admin_meta_boxes.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_admin_meta_boxes.order_item_nonce};e("table.woocommerce_order_items").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_admin_meta_boxes.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});e.ajax({url:woocommerce_admin_meta_boxes.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(r.length==0){alert(woocommerce_admin_meta_boxes.i18n_select_items);return}if(t=="delete"){var i=confirm(woocommerce_admin_meta_boxes.remove_item_notice);if(i){e("table.woocommerce_order_items").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_admin_meta_boxes.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_admin_meta_boxes.order_item_nonce};e.ajax({url:woocommerce_admin_meta_boxes.ajax_url,data:s,type:"POST",success:function(t){e(n).each(function(){e(this).closest("tr.item, tr.fee").remove()});e("table.woocommerce_order_items").unblock()}})}}else if(t=="reduce_stock"){e("table.woocommerce_order_items").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_admin_meta_boxes.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_admin_meta_boxes.post_id,order_item_ids:r,order_item_qty:o,action:"woocommerce_reduce_order_item_stock",security:woocommerce_admin_meta_boxes.order_item_nonce};e.ajax({url:woocommerce_admin_meta_boxes.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_admin_meta_boxes.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_admin_meta_boxes.post_id,order_item_ids:r,order_item_qty:o,action:"woocommerce_increase_order_item_stock",security:woocommerce_admin_meta_boxes.order_item_nonce};e.ajax({url:woocommerce_admin_meta_boxes.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_admin_meta_boxes.load_billing);if(t){var n=e("#customer_user").val();if(!n){alert(woocommerce_admin_meta_boxes.no_customer_selected);return!1}var r={user_id:n,type_to_load:"billing",action:"woocommerce_get_customer_details",security:woocommerce_admin_meta_boxes.get_customer_details_nonce};e(this).closest(".edit_address").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_admin_meta_boxes.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});e.ajax({url:woocommerce_admin_meta_boxes.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_admin_meta_boxes.load_shipping);if(t){var n=e("#customer_user").val();if(!n){alert(woocommerce_admin_meta_boxes.no_customer_selected);return!1}var r={user_id:n,type_to_load:"shipping",action:"woocommerce_get_customer_details",security:woocommerce_admin_meta_boxes.get_customer_details_nonce};e(this).closest(".edit_address").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_admin_meta_boxes.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});e.ajax({url:woocommerce_admin_meta_boxes.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_admin_meta_boxes.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(".totals_group").on("click","a.add_total_row",function(){e(this).closest(".totals_group").find(".total_rows").append(e(this).data("row"));return!1});e(".total_rows").on("click","a.delete_total_row",function(){$row=e(this).closest(".total_row");var t=$row.attr("data-order_item_id");t?$row.append('').hide():$row.remove();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("ul.wc-tabs li:visible").eq(0).find("a").click();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(".downloadable_files").on("click","a.insert",function(){e(this).closest(".downloadable_files").find("tbody").append(e(this).data("row"));return!1});e(".downloadable_files").on("click","a.delete",function(){e(this).closest("tr").remove();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_admin_meta_boxes.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_admin_meta_boxes.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("chosen: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("chosen:updated");return!1});e(".woocommerce_attributes").on("click","button.remove_row",function(){var t=confirm(woocommerce_admin_meta_boxes.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_admin_meta_boxes.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_admin_meta_boxes.new_attribute_prompt);if(r){var i={action:"woocommerce_add_new_attribute",taxonomy:t,term:r,security:woocommerce_admin_meta_boxes.add_attribute_nonce};e.post(woocommerce_admin_meta_boxes.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("chosen: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_admin_meta_boxes.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});var t={post_id:woocommerce_admin_meta_boxes.post_id,data:e(".woocommerce_attributes").find("input, select, textarea").serialize(),action:"woocommerce_save_attributes",security:woocommerce_admin_meta_boxes.save_attributes_nonce};e.post(woocommerce_admin_meta_boxes.ajax_url,t,function(t){var n=window.location.toString();n=n.replace("post-new.php?","post.php?post="+woocommerce_admin_meta_boxes.post_id+"&action=edit&");e("#variable_product_options").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_admin_meta_boxes.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,o;jQuery(document).on("click",".upload_file_button",function(t){var n=e(this);o=n.closest("tr").find("td.file_url input");t.preventDefault();if(s){s.open();return}var r=[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:r});s.on("select",function(){var e="",t=s.state().get("selection");t.map(function(t){t=t.toJSON();t.url&&(e=t.url)});o.val(e)});s.on("ready",function(){s.uploader.options.uploader.params={type:"downloadable_product"}});s.open()});jQuery(".downloadable_files tbody").sortable({items:"tr",cursor:"move",axis:"y",handle:"td.sort",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65})}); \ No newline at end of file +jQuery(function(e){function t(){var t=e("select#product-type").val(),n=e("input#_virtual:checked").size(),r=e("input#_downloadable:checked").size(),i=".hide_if_downloadable, .hide_if_virtual",s=".show_if_downloadable, .show_if_virtual, .show_if_external";e.each(woocommerce_admin_meta_boxes.product_types,function(e,t){i=i+", .hide_if_"+t;s=s+", .show_if_"+t});e(i).show();e(s).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();e("input#_manage_stock").change()}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("#titlediv #title").keyup(function(t){var n=t.keyCode||t.which;if(n=="9"&&e("#woocommerce-coupon-description").size()>0){t.stopPropagation();e("#woocommerce-coupon-description").focus();return!1}});e("select#discount_type").change(function(){var t=e(this).val();t=="fixed_product"||t=="percent_product"?e(".limit_usage_to_x_items_field").show():e(".limit_usage_to_x_items_field").hide()}).change();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("input").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_admin_meta_boxes.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_admin_meta_boxes.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_admin_meta_boxes.ajax_url,dataType:"json",afterTypeDelay:100,data:{action:"woocommerce_json_search_products",security:woocommerce_admin_meta_boxes.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_admin_meta_boxes.ajax_url,dataType:"json",afterTypeDelay:100,data:{action:"woocommerce_json_search_products_and_variations",security:woocommerce_admin_meta_boxes.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=parseFloat(accounting.toFixed(i/r,woocommerce_admin_meta_boxes.rounding_precision));unit_subtotal_tax=parseFloat(accounting.toFixed(u/r,woocommerce_admin_meta_boxes.rounding_precision));unit_total=parseFloat(accounting.toFixed(s/r,woocommerce_admin_meta_boxes.rounding_precision));unit_total_tax=parseFloat(accounting.toFixed(o/r,woocommerce_admin_meta_boxes.rounding_precision))}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(this).find(".edit").hide()});e("#order_items_list").on("click","a.edit_order_item",function(){e(this).closest("tr").find(".view").hide();e(this).closest("tr").find(".edit").show();e(this).hide();return!1});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=parseFloat(accounting.formatNumber(r*n,woocommerce_admin_meta_boxes.rounding_precision,"")),f=parseFloat(accounting.formatNumber(i*n,woocommerce_admin_meta_boxes.rounding_precision,"")),l=parseFloat(accounting.formatNumber(s*n,woocommerce_admin_meta_boxes.rounding_precision,"")),c=parseFloat(accounting.formatNumber(o*n,woocommerce_admin_meta_boxes.rounding_precision,""));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(this).trigger("quantity_changed")});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,woocommerce_admin_meta_boxes.rounding_precision):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,woocommerce_admin_meta_boxes.rounding_precision):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,woocommerce_admin_meta_boxes.rounding_precision):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,woocommerce_admin_meta_boxes.rounding_precision):0;t.attr("data-unit_total_tax",i)});e("#woocommerce-order-totals").on("change input",".order_taxes_amount, .order_taxes_shipping_amount, .shipping_cost, #_order_discount",function(){var t=e(this),n=t.closest(".totals_group").find("input[type=number], .wc_input_decimal"),r=0;n.each(function(){e(this).val()&&(r+=parseFloat(e(this).val()))});if(t.is(".order_taxes_amount")||t.is(".order_taxes_shipping_amount"))r=round(r,woocommerce_admin_meta_boxes.currency_format_num_decimals,woocommerce_admin_meta_boxes.tax_rounding_mode);var i=accounting.formatMoney(r,{symbol:woocommerce_admin_meta_boxes.currency_format_symbol,decimal:woocommerce_admin_meta_boxes.currency_format_decimal_sep,thousand:woocommerce_admin_meta_boxes.currency_format_thousand_sep,precision:woocommerce_admin_meta_boxes.currency_format_num_decimals,format:woocommerce_admin_meta_boxes.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_admin_meta_boxes.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});var t=confirm(woocommerce_admin_meta_boxes.calc_line_taxes);if(t){var n=e("#order_items_list").find("tr.item, tr.fee"),r=e("#_shipping_country").val(),i=e("#_billing_country").val();if(r)var s=r,o=e("#_shipping_state").val(),u=e("#_shipping_postcode").val(),a=e("#_shipping_city").val();else if(i)var s=i,o=e("#_billing_state").val(),u=e("#_billing_postcode").val(),a=e("#_billing_city").val();else var s=woocommerce_admin_meta_boxes.base_country,o="",u="",a="";var f={};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();f[n]={};f[n].line_subtotal=r;f[n].line_total=i;f[n].tax_class=s});order_shipping=0;e("#shipping_rows").find("input[type=number], .wc_input_decimal").each(function(){cost=e(this).val()||"0";cost=accounting.unformat(cost.replace(",","."));order_shipping+=parseFloat(cost)});var l={action:"woocommerce_calc_line_taxes",order_id:woocommerce_admin_meta_boxes.post_id,items:f,shipping:order_shipping,country:s,state:o,postcode:u,city:a,security:woocommerce_admin_meta_boxes.calc_totals_nonce};e.post(woocommerce_admin_meta_boxes.ajax_url,l,function(t){if(t){n.each(function(){var n=e(this),r=n.find("input.order_item_id").val();n.find(".edit_order_item").click();if(t.item_taxes[r]){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()}t.tax_row_html&&e("#tax_rows").empty().append(t.tax_row_html)});e("#tax_rows").find("input").change()}e(".woocommerce_order_items_wrapper").unblock()})}else e(".woocommerce_order_items_wrapper").unblock();return!1});e("button.calc_totals").click(function(){e("#woocommerce-order-totals").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_admin_meta_boxes.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});var t=confirm(woocommerce_admin_meta_boxes.calc_totals);if(t){var n=0,r=0,i=0,s=e("#_order_discount").val()||"0";s=accounting.unformat(s.replace(",","."));e("#shipping_rows").find("input[type=number], .wc_input_decimal").each(function(){cost=e(this).val()||"0";cost=accounting.unformat(cost.replace(",","."));i+=parseFloat(cost)});e("#tax_rows").find("input[type=number], .wc_input_decimal").each(function(){cost=e(this).val()||"0";cost=accounting.unformat(cost.replace(",","."));r+=parseFloat(cost)});e("#order_items_list tr.item, #order_items_list tr.fee").each(function(){line_total=e(this).find("input.line_total").val()||"0";n+=accounting.unformat(line_total.replace(",","."))});woocommerce_admin_meta_boxes.round_at_subtotal=="yes"&&(r=parseFloat(accounting.toFixed(r,woocommerce_admin_meta_boxes.rounding_precision)));e("#_order_total").val(parseFloat(accounting.toFixed(n+r+i-s,woocommerce_admin_meta_boxes.currency_format_num_decimals))).change()}e("#woocommerce-order-totals").unblock();return!1});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_admin_meta_boxes.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_admin_meta_boxes.post_id,security:woocommerce_admin_meta_boxes.order_item_nonce};e.post(woocommerce_admin_meta_boxes.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_chosen .chosen-choices").css("border-color","").val("");jQuery(".tips").tipTip({attribute:"data-tip",fadeIn:50,fadeOut:50,delay:200});e("select#add_item_id").trigger("chosen: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_chosen .chosen-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_admin_meta_boxes.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});var t={action:"woocommerce_add_order_fee",order_id:woocommerce_admin_meta_boxes.post_id,security:woocommerce_admin_meta_boxes.order_item_nonce};e.post(woocommerce_admin_meta_boxes.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_admin_meta_boxes.order_item_nonce};e("table.woocommerce_order_items").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_admin_meta_boxes.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});e.ajax({url:woocommerce_admin_meta_boxes.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_admin_meta_boxes.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_admin_meta_boxes.order_item_nonce};e("table.woocommerce_order_items").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_admin_meta_boxes.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});e.ajax({url:woocommerce_admin_meta_boxes.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(r.length==0){alert(woocommerce_admin_meta_boxes.i18n_select_items);return}if(t=="delete"){var i=confirm(woocommerce_admin_meta_boxes.remove_item_notice);if(i){e("table.woocommerce_order_items").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_admin_meta_boxes.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_admin_meta_boxes.order_item_nonce};e.ajax({url:woocommerce_admin_meta_boxes.ajax_url,data:s,type:"POST",success:function(t){e(n).each(function(){e(this).closest("tr.item, tr.fee").remove()});e("table.woocommerce_order_items").unblock()}})}}else if(t=="reduce_stock"){e("table.woocommerce_order_items").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_admin_meta_boxes.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_admin_meta_boxes.post_id,order_item_ids:r,order_item_qty:o,action:"woocommerce_reduce_order_item_stock",security:woocommerce_admin_meta_boxes.order_item_nonce};e.ajax({url:woocommerce_admin_meta_boxes.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_admin_meta_boxes.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_admin_meta_boxes.post_id,order_item_ids:r,order_item_qty:o,action:"woocommerce_increase_order_item_stock",security:woocommerce_admin_meta_boxes.order_item_nonce};e.ajax({url:woocommerce_admin_meta_boxes.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_admin_meta_boxes.load_billing);if(t){var n=e("#customer_user").val();if(!n){alert(woocommerce_admin_meta_boxes.no_customer_selected);return!1}var r={user_id:n,type_to_load:"billing",action:"woocommerce_get_customer_details",security:woocommerce_admin_meta_boxes.get_customer_details_nonce};e(this).closest(".edit_address").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_admin_meta_boxes.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});e.ajax({url:woocommerce_admin_meta_boxes.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_admin_meta_boxes.load_shipping);if(t){var n=e("#customer_user").val();if(!n){alert(woocommerce_admin_meta_boxes.no_customer_selected);return!1}var r={user_id:n,type_to_load:"shipping",action:"woocommerce_get_customer_details",security:woocommerce_admin_meta_boxes.get_customer_details_nonce};e(this).closest(".edit_address").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_admin_meta_boxes.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});e.ajax({url:woocommerce_admin_meta_boxes.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_admin_meta_boxes.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(".totals_group").on("click","a.add_total_row",function(){e(this).closest(".totals_group").find(".total_rows").append(e(this).data("row"));return!1});e(".total_rows").on("click","a.delete_total_row",function(){$row=e(this).closest(".total_row");var t=$row.attr("data-order_item_id");t?$row.append('').hide():$row.remove();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("ul.wc-tabs li:visible").eq(0).find("a").click();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(".downloadable_files").on("click","a.insert",function(){e(this).closest(".downloadable_files").find("tbody").append(e(this).data("row"));return!1});e(".downloadable_files").on("click","a.delete",function(){e(this).closest("tr").remove();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_admin_meta_boxes.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_admin_meta_boxes.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("chosen: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("chosen:updated");return!1});e(".woocommerce_attributes").on("click","button.remove_row",function(){var t=confirm(woocommerce_admin_meta_boxes.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_admin_meta_boxes.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_admin_meta_boxes.new_attribute_prompt);if(r){var i={action:"woocommerce_add_new_attribute",taxonomy:t,term:r,security:woocommerce_admin_meta_boxes.add_attribute_nonce};e.post(woocommerce_admin_meta_boxes.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("chosen: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_admin_meta_boxes.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});var t={post_id:woocommerce_admin_meta_boxes.post_id,data:e(".woocommerce_attributes").find("input, select, textarea").serialize(),action:"woocommerce_save_attributes",security:woocommerce_admin_meta_boxes.save_attributes_nonce};e.post(woocommerce_admin_meta_boxes.ajax_url,t,function(t){var n=window.location.toString();n=n.replace("post-new.php?","post.php?post="+woocommerce_admin_meta_boxes.post_id+"&action=edit&");e("#variable_product_options").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_admin_meta_boxes.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,o;jQuery(document).on("click",".upload_file_button",function(t){var n=e(this);o=n.closest("tr").find("td.file_url input");t.preventDefault();if(s){s.open();return}var r=[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:r});s.on("select",function(){var e="",t=s.state().get("selection");t.map(function(t){t=t.toJSON();t.url&&(e=t.url)});o.val(e)});s.on("ready",function(){s.uploader.options.uploader.params={type:"downloadable_product"}});s.open()});jQuery(".downloadable_files tbody").sortable({items:"tr",cursor:"move",axis:"y",handle:"td.sort",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65})}); \ No newline at end of file diff --git a/assets/js/admin/round.js b/assets/js/admin/round.js new file mode 100644 index 00000000000..819a6518562 --- /dev/null +++ b/assets/js/admin/round.js @@ -0,0 +1,55 @@ +function round (value, precision, mode) { + // http://kevin.vanzonneveld.net + // + original by: Philip Peterson + // + revised by: Onno Marsman + // + input by: Greenseed + // + revised by: T.Wild + // + input by: meo + // + input by: William + // + bugfixed by: Brett Zamir (http://brett-zamir.me) + // + input by: Josep Sanz (http://www.ws3.es/) + // + revised by: Rafał Kukawski (http://blog.kukawski.pl/) + // % note 1: Great work. Ideas for improvement: + // % note 1: - code more compliant with developer guidelines + // % note 1: - for implementing PHP constant arguments look at + // % note 1: the pathinfo() function, it offers the greatest + // % note 1: flexibility & compatibility possible + // * example 1: round(1241757, -3); + // * returns 1: 1242000 + // * example 2: round(3.6); + // * returns 2: 4 + // * example 3: round(2.835, 2); + // * returns 3: 2.84 + // * example 4: round(1.1749999999999, 2); + // * returns 4: 1.17 + // * example 5: round(58551.799999999996, 2); + // * returns 5: 58551.8 + var m, f, isHalf, sgn; // helper variables + precision |= 0; // making sure precision is integer + m = Math.pow(10, precision); + value *= m; + sgn = (value > 0) | -(value < 0); // sign of the number + isHalf = value % 1 === 0.5 * sgn; + f = Math.floor(value); + + if (isHalf) { + switch (mode) { + case '2': + case 'PHP_ROUND_HALF_DOWN': + value = f + (sgn < 0); // rounds .5 toward zero + break; + case '3': + case 'PHP_ROUND_HALF_EVEN': + value = f + (f % 2 * sgn); // rouds .5 towards the next even integer + break; + case '4': + case 'PHP_ROUND_HALF_ODD': + value = f + !(f % 2); // rounds .5 towards the next odd integer + break; + default: + value = f + (sgn > 0); // rounds .5 away from zero + } + } + + return (isHalf ? value : Math.round(value)) / m; +} \ No newline at end of file diff --git a/assets/js/admin/round.min.js b/assets/js/admin/round.min.js new file mode 100644 index 00000000000..35635ff19a1 --- /dev/null +++ b/assets/js/admin/round.min.js @@ -0,0 +1 @@ +function round(e,t,n){var r,i,s,o;t|=0;r=Math.pow(10,t);e*=r;o=e>0|-(e<0);s=e%1===.5*o;i=Math.floor(e);if(s)switch(n){case"2":case"PHP_ROUND_HALF_DOWN":e=i+(o<0);break;case"3":case"PHP_ROUND_HALF_EVEN":e=i+i%2*o;break;case"4":case"PHP_ROUND_HALF_ODD":e=i+!(i%2);break;default:e=i+(o>0)}return(s?e:Math.round(e))/r}; \ No newline at end of file diff --git a/includes/abstracts/abstract-wc-product.php b/includes/abstracts/abstract-wc-product.php index d416f1266ed..e9e68987dd2 100644 --- a/includes/abstracts/abstract-wc-product.php +++ b/includes/abstracts/abstract-wc-product.php @@ -769,7 +769,7 @@ class WC_Product { $tax_rates = $_tax->get_rates( $this->get_tax_class() ); $taxes = $_tax->calc_tax( $price * $qty, $tax_rates, false ); $tax_amount = $_tax->get_tax_total( $taxes ); - $price = round( $price * $qty + $tax_amount, 2 ); + $price = round( $price * $qty + $tax_amount, absint( get_option( 'woocommerce_price_num_decimals' ) ) ); } else { @@ -780,13 +780,13 @@ class WC_Product { $base_taxes = $_tax->calc_tax( $price * $qty, $base_tax_rates, true ); $base_tax_amount = array_sum( $base_taxes ); - $price = round( $price * $qty - $base_tax_amount, 2 ); + $price = round( $price * $qty - $base_tax_amount, absint( get_option( 'woocommerce_price_num_decimals' ) ) ); } elseif ( $tax_rates !== $base_tax_rates ) { $base_taxes = $_tax->calc_tax( $price * $qty, $base_tax_rates, true ); $modded_taxes = $_tax->calc_tax( ( $price * $qty ) - array_sum( $base_taxes ), $tax_rates, false ); - $price = round( ( $price * $qty ) - array_sum( $base_taxes ) + array_sum( $modded_taxes ), 2 ); + $price = round( ( $price * $qty ) - array_sum( $base_taxes ) + array_sum( $modded_taxes ), absint( get_option( 'woocommerce_price_num_decimals' ) ) ); } else { diff --git a/includes/admin/class-wc-admin-assets.php b/includes/admin/class-wc-admin-assets.php index c184393ee38..4ed4417e42d 100644 --- a/includes/admin/class-wc-admin-assets.php +++ b/includes/admin/class-wc-admin-assets.php @@ -76,7 +76,9 @@ class WC_Admin_Assets { wp_register_script( 'accounting', $woocommerce->plugin_url() . '/assets/js/admin/accounting' . $suffix . '.js', array( 'jquery' ), '1.3.2' ); - wp_register_script( 'woocommerce_admin_meta_boxes', $woocommerce->plugin_url() . '/assets/js/admin/meta-boxes' . $suffix . '.js', array( 'jquery', 'jquery-ui-datepicker', 'jquery-ui-sortable', 'accounting' ), $woocommerce->version ); + wp_register_script( 'round', $woocommerce->plugin_url() . '/assets/js/admin/round' . $suffix . '.js', array( 'jquery' ), '1.0.0' ); + + wp_register_script( 'woocommerce_admin_meta_boxes', $woocommerce->plugin_url() . '/assets/js/admin/meta-boxes' . $suffix . '.js', array( 'jquery', 'jquery-ui-datepicker', 'jquery-ui-sortable', 'accounting', 'round' ), $woocommerce->version ); wp_register_script( 'woocommerce_admin_meta_boxes_variations', $woocommerce->plugin_url() . '/assets/js/admin/meta-boxes-variations' . $suffix . '.js', array( 'jquery', 'jquery-ui-sortable' ), $woocommerce->version ); @@ -160,6 +162,8 @@ class WC_Admin_Assets { 'currency_format_decimal_sep' => esc_attr( stripslashes( get_option( 'woocommerce_price_decimal_sep' ) ) ), 'currency_format_thousand_sep' => esc_attr( stripslashes( get_option( 'woocommerce_price_thousand_sep' ) ) ), 'currency_format' => esc_attr( str_replace( array( '%1$s', '%2$s' ), array( '%s', '%v' ), get_woocommerce_price_format() ) ), // For accounting JS + 'rounding_precision' => WC_ROUNDING_PRECISION, + 'tax_rounding_mode' => WC_TAX_ROUNDING_MODE, 'product_types' => array_map( 'sanitize_title', get_terms( 'product_type', array( 'hide_empty' => false, 'fields' => 'names' ) ) ), 'default_attribute_visibility' => apply_filters( 'default_attribute_visibility', false ), 'default_attribute_variation' => apply_filters( 'default_attribute_variation', false ), diff --git a/includes/admin/class-wc-admin-notices.php b/includes/admin/class-wc-admin-notices.php index c04d41f86a7..243df2695c3 100644 --- a/includes/admin/class-wc-admin-notices.php +++ b/includes/admin/class-wc-admin-notices.php @@ -29,7 +29,7 @@ class WC_Admin_Notices { */ public function add_notices() { if ( get_option( '_wc_needs_update' ) == 1 || get_option( '_wc_needs_pages' ) == 1 ) { - wp_enqueue_style( 'woocommerce-activation', plugins_url( '/assets/css/activation.css', WOOCOMMERCE_PLUGIN_FILE ) ); + wp_enqueue_style( 'woocommerce-activation', plugins_url( '/assets/css/activation.css', WC_PLUGIN_FILE ) ); add_action( 'admin_notices', array( $this, 'install_notice' ) ); } @@ -43,7 +43,7 @@ class WC_Admin_Notices { } if ( get_option( 'woocommerce_theme_support_check' ) !== $template ) { - wp_enqueue_style( 'woocommerce-activation', plugins_url( '/assets/css/activation.css', WOOCOMMERCE_PLUGIN_FILE ) ); + wp_enqueue_style( 'woocommerce-activation', plugins_url( '/assets/css/activation.css', WC_PLUGIN_FILE ) ); add_action( 'admin_notices', array( $this, 'theme_check_notice' ) ); } } diff --git a/includes/admin/class-wc-admin-welcome.php b/includes/admin/class-wc-admin-welcome.php index 3b820b4b376..3689ad3ab75 100644 --- a/includes/admin/class-wc-admin-welcome.php +++ b/includes/admin/class-wc-admin-welcome.php @@ -64,7 +64,7 @@ class WC_Admin_Welcome { * @return void */ public function admin_css() { - wp_enqueue_style( 'woocommerce-activation', plugins_url( '/assets/css/activation.css', WOOCOMMERCE_PLUGIN_FILE ) ); + wp_enqueue_style( 'woocommerce-activation', plugins_url( '/assets/css/activation.css', WC_PLUGIN_FILE ) ); } /** diff --git a/includes/admin/post-types/meta-boxes/class-wc-meta-box-order-totals.php b/includes/admin/post-types/meta-boxes/class-wc-meta-box-order-totals.php index ffa97f46f5e..9ddbb9f2535 100644 --- a/includes/admin/post-types/meta-boxes/class-wc-meta-box-order-totals.php +++ b/includes/admin/post-types/meta-boxes/class-wc-meta-box-order-totals.php @@ -269,8 +269,8 @@ class WC_Meta_Box_Order_Totals { } // Update totals - update_post_meta( $post_id, '_order_tax', woocommerce_format_decimal( $total_tax, false ) ); - update_post_meta( $post_id, '_order_shipping_tax', woocommerce_format_decimal( $total_shipping_tax, false ) ); + update_post_meta( $post_id, '_order_tax', woocommerce_format_decimal( woocommerce_round_tax_total( $total_tax ), false ) ); + update_post_meta( $post_id, '_order_shipping_tax', woocommerce_format_decimal( woocommerce_round_tax_total( $total_shipping_tax ), false ) ); update_post_meta( $post_id, '_order_discount', woocommerce_format_decimal( $_POST['_order_discount'], false ) ); update_post_meta( $post_id, '_order_total', woocommerce_format_decimal( $_POST['_order_total'], false ) ); diff --git a/includes/admin/post-types/meta-boxes/class-wc-meta-box-product-data.php b/includes/admin/post-types/meta-boxes/class-wc-meta-box-product-data.php index edb6a7ff317..b89bb2223b0 100644 --- a/includes/admin/post-types/meta-boxes/class-wc-meta-box-product-data.php +++ b/includes/admin/post-types/meta-boxes/class-wc-meta-box-product-data.php @@ -469,7 +469,7 @@ class WC_Meta_Box_Product_Data { $values = array(); foreach ( $post_terms as $term ) $values[] = $term->name; - echo esc_attr( implode( ' ' . WOOCOMMERCE_DELIMITER . ' ', $values ) ); + echo esc_attr( implode( ' ' . WC_DELIMITER . ' ', $values ) ); } ?>" placeholder="" /> @@ -898,7 +898,7 @@ class WC_Meta_Box_Product_Data { } else { - $options = array_map( 'trim', explode( WOOCOMMERCE_DELIMITER, $attribute['value'] ) ); + $options = array_map( 'trim', explode( WC_DELIMITER, $attribute['value'] ) ); foreach ( $options as $option ) echo ''; @@ -1036,7 +1036,7 @@ class WC_Meta_Box_Product_Data { // Text based attributes - Posted values are term names - don't change to slugs } else { - $values = array_map( 'stripslashes', array_map( 'strip_tags', explode( WOOCOMMERCE_DELIMITER, $attribute_values[ $i ] ) ) ); + $values = array_map( 'stripslashes', array_map( 'strip_tags', explode( WC_DELIMITER, $attribute_values[ $i ] ) ) ); } // Remove empty items in the array @@ -1065,7 +1065,7 @@ class WC_Meta_Box_Product_Data { } elseif ( isset( $attribute_values[ $i ] ) ) { // Text based, separate by pipe - $values = implode( ' ' . WOOCOMMERCE_DELIMITER . ' ', array_map( 'woocommerce_clean', explode( WOOCOMMERCE_DELIMITER, $attribute_values[ $i ] ) ) ); + $values = implode( ' ' . WC_DELIMITER . ' ', array_map( 'woocommerce_clean', explode( WC_DELIMITER, $attribute_values[ $i ] ) ) ); // Custom attribute - Add attribute to array and set the values $attributes[ sanitize_title( $attribute_names[ $i ] ) ] = array( diff --git a/includes/admin/post-types/meta-boxes/views/html-order-fee.php b/includes/admin/post-types/meta-boxes/views/html-order-fee.php index dc9b29c496b..293b8e6a2de 100644 --- a/includes/admin/post-types/meta-boxes/views/html-order-fee.php +++ b/includes/admin/post-types/meta-boxes/views/html-order-fee.php @@ -56,7 +56,7 @@ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
- +