From 623882a2a1aeeb0a32a3a4addfb45ec8e324732e Mon Sep 17 00:00:00 2001 From: Matt-Yorkley Date: Mon, 24 Nov 2014 03:01:00 +0000 Subject: [PATCH] Config option for tax rate on shipping --- app/models/spree/app_configuration_decorator.rb | 15 ++++++++------- .../edit/shipping_tax_rate.html.haml.deface | 5 +++++ lib/open_food_network/sales_tax_report.rb | 12 +++++------- 3 files changed, 18 insertions(+), 14 deletions(-) create mode 100644 app/overrides/spree/admin/tax_settings/edit/shipping_tax_rate.html.haml.deface diff --git a/app/models/spree/app_configuration_decorator.rb b/app/models/spree/app_configuration_decorator.rb index f4f4acc5ec..5ad4a9a1c5 100644 --- a/app/models/spree/app_configuration_decorator.rb +++ b/app/models/spree/app_configuration_decorator.rb @@ -1,9 +1,10 @@ Spree::AppConfiguration.class_eval do - # This file decorates the existing preferences file defined by Spree. - # It allows us to add our own global configuration variables, which - # we can allow to be modified in the UI by adding appropriate form - # elements to existing or new configuration pages. + # This file decorates the existing preferences file defined by Spree. + # It allows us to add our own global configuration variables, which + # we can allow to be modified in the UI by adding appropriate form + # elements to existing or new configuration pages. - # Tax Preferences - preference :products_require_tax_category, :boolean, default: false -end \ No newline at end of file + # Tax Preferences + preference :products_require_tax_category, :boolean, default: false + preference :shipping_tax_rate, :decimal, default: 0 +end diff --git a/app/overrides/spree/admin/tax_settings/edit/shipping_tax_rate.html.haml.deface b/app/overrides/spree/admin/tax_settings/edit/shipping_tax_rate.html.haml.deface new file mode 100644 index 0000000000..222e189d87 --- /dev/null +++ b/app/overrides/spree/admin/tax_settings/edit/shipping_tax_rate.html.haml.deface @@ -0,0 +1,5 @@ +/ insert_after "[data-hook='shipment_vat']" + +%div.field.align-center{ "data-hook" => "shipping_tax_rate" } + = number_field_tag "preferences[shipping_tax_rate]", Spree::Config[:shipping_tax_rate].to_f, in: 0.0..1.0, step: 0.01 + = label_tag nil, t(:shipping_tax_rate) \ No newline at end of file diff --git a/lib/open_food_network/sales_tax_report.rb b/lib/open_food_network/sales_tax_report.rb index b3aa8b5419..6d1945e1f5 100644 --- a/lib/open_food_network/sales_tax_report.rb +++ b/lib/open_food_network/sales_tax_report.rb @@ -30,13 +30,11 @@ module OpenFoodNetwork shipping_cost = order.adjustments.find_by_label("Shipping").andand.amount shipping_cost = (shipping_cost == nil) ? 0.0 : shipping_cost - shipping_tax = (Spree::Config[:shipment_inc_vat] && shipping_cost != nil) ? shipping_cost * 0.2 : 0.0 - - #config option for charging tax on shipping fee or not? exists, need to set rate... - #calculate additional tax for shipping... - #ignore non-shipping adjustments? any potential issues? - #show payment status? other necessary/useful info? - #check which orders are pulled, and which are filtered out... maybe have a dropdown to make it explicit...? + if Spree::Config[:shipment_inc_vat] && shipping_cost != nil + shipping_tax = shipping_cost * Spree::Config[:shipping_tax_rate] + else + shipping_tax = 0.0 + end sales_tax_details << [order.number, order.created_at, totals["items"], totals["items_total"], totals["taxable_total"], totals["sales_tax"], shipping_cost, shipping_tax, totals["sales_tax"] + shipping_tax,