diff --git a/app/assets/javascripts/admin/products/services/variant_unit_manager.js.coffee b/app/assets/javascripts/admin/products/services/variant_unit_manager.js.coffee index 244d51cde6..0d143c953b 100644 --- a/app/assets/javascripts/admin/products/services/variant_unit_manager.js.coffee +++ b/app/assets/javascripts/admin/products/services/variant_unit_manager.js.coffee @@ -1,4 +1,4 @@ -angular.module("admin.products").factory "VariantUnitManager", -> +angular.module("admin.products").factory "VariantUnitManager", (availableUnits) -> class VariantUnitManager @units: 'weight': @@ -29,12 +29,18 @@ angular.module("admin.products").factory "VariantUnitManager", -> system: 'metric' @variantUnitOptions: -> + availableUnits = availableUnits.split(",") options = for unit_type, _ of @units for scale in @unitScales(unit_type) name = @getUnitName(scale, unit_type) - ["#{I18n.t(unit_type)} (#{name})", "#{unit_type}_#{scale}"] + if availableUnits.includes(name) + ["#{I18n.t(unit_type)} (#{name})", "#{unit_type}_#{scale}"] + else + null + debugger options.push [[I18n.t('items'), 'items']] - [].concat options... + options = [].concat options... + (option for option in options when option != null) @getScale: (value, unitType) -> scaledValue = null diff --git a/app/helpers/admin/injection_helper.rb b/app/helpers/admin/injection_helper.rb index 6b57512676..cd90f930f3 100644 --- a/app/helpers/admin/injection_helper.rb +++ b/app/helpers/admin/injection_helper.rb @@ -184,6 +184,12 @@ module Admin json: "'#{@spree_api_key}'" } end + def admin_inject_available_units + admin_inject_json "admin.products", + "availableUnits", + "#{Spree::Config.available_units}" + end + def admin_inject_json(ng_module, name, data) json = data.to_json render partial: "admin/json/injection_ams", diff --git a/app/views/spree/admin/products/index.html.haml b/app/views/spree/admin/products/index.html.haml index 0a33c1c6a9..f08b4a26a2 100644 --- a/app/views/spree/admin/products/index.html.haml +++ b/app/views/spree/admin/products/index.html.haml @@ -1,5 +1,6 @@ = render 'spree/admin/products/index/header' = render 'spree/admin/products/index/data' += admin_inject_available_units %div{ ng: { app: 'ofn.admin', controller: 'AdminProductEditCtrl', init: 'initialise()' } }