Only perform scaling when a scale is present. Fixes items values not saving then loading as infinity.

This commit is contained in:
Rohan Mitchell
2014-02-06 13:43:28 +11:00
parent a1f75aa55e
commit 33691085bd
2 changed files with 20 additions and 2 deletions

View File

@@ -221,7 +221,10 @@ productEditModule.controller "AdminProductEditCtrl", [
$scope.variantUnitValue = (product, variant) ->
if variant.unit_value
variant.unit_value / product.variant_unit_scale
if product.variant_unit_scale
variant.unit_value / product.variant_unit_scale
else
variant.unit_value
else
null
@@ -376,7 +379,7 @@ productEditModule.controller "AdminProductEditCtrl", [
if match
product = $scope.findProduct(product.id)
variant.unit_value = parseFloat(match[1]) || null
variant.unit_value *= product.variant_unit_scale if variant.unit_value
variant.unit_value *= product.variant_unit_scale if variant.unit_value && product.variant_unit_scale
variant.unit_description = match[3]

View File

@@ -460,6 +460,11 @@ describe "AdminProductEditCtrl", ->
variant = {unit_value: 5}
expect(scope.variantUnitValue(product, variant)).toEqual 5000
it "returns the unscaled value when the product has no scale", ->
product = {}
variant = {unit_value: 5}
expect(scope.variantUnitValue(product, variant)).toEqual 5
it "returns null when the variant has no unit_value", ->
product = {}
variant = {}
@@ -672,6 +677,16 @@ describe "AdminProductEditCtrl", ->
unit_description: ''
unit_value_with_description: "250.5"
it "does not convert value when using a non-scaled unit", ->
testProduct = {id: 123}
testVariant = {unit_value_with_description: "12"}
scope.products = [testProduct]
scope.packVariant(testProduct, testVariant)
expect(testVariant).toEqual
unit_value: 12
unit_description: ''
unit_value_with_description: "12"
describe "filtering products", ->
beforeEach ->