only show available units for products

This commit is contained in:
Andy Brett
2020-10-06 17:19:53 -07:00
parent cb3ea133e9
commit fa62ec0bff
3 changed files with 16 additions and 3 deletions

View File

@@ -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

View File

@@ -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",

View File

@@ -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()' } }