From 9d5e3f684c045f574a8de171f2ed957caef7cc2d Mon Sep 17 00:00:00 2001 From: Benjamin ter Kuile Date: Wed, 15 Apr 2015 12:58:00 +0200 Subject: [PATCH] Implement product variant display for suppliers --- app/assets/javascripts/supplier/app/models/order.js.coffee | 5 ++--- .../javascripts/supplier/app/models/product_order.js.coffee | 6 ++++++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/app/assets/javascripts/supplier/app/models/order.js.coffee b/app/assets/javascripts/supplier/app/models/order.js.coffee index 6cd22a2a..8929bf2a 100644 --- a/app/assets/javascripts/supplier/app/models/order.js.coffee +++ b/app/assets/javascripts/supplier/app/models/order.js.coffee @@ -34,9 +34,8 @@ App.Order = DS.Model.extend @get('product_orders').getEach('total').reduce(((sum, total) -> sum + total), 0) ).property('product_orders.@each.total') - display: (-> - @get('product_orders').map((po) -> "#{po.get('quantity')} x #{po.get('product.name')}").join(', ') - ).property('product_orders.@each.quantity', 'product_orders.@each.product.@each.name') + display: Ember.computed 'product_orders.@each.display', -> + @get('product_orders').map((po) -> po.get('display')).join(', ') display_with_table: (-> table = t('models.table').toLowerCase() diff --git a/app/assets/javascripts/supplier/app/models/product_order.js.coffee b/app/assets/javascripts/supplier/app/models/product_order.js.coffee index 8507bf3b..5fe74f21 100644 --- a/app/assets/javascripts/supplier/app/models/product_order.js.coffee +++ b/app/assets/javascripts/supplier/app/models/product_order.js.coffee @@ -2,8 +2,14 @@ attr = DS.attr App.ProductOrder = DS.Model.extend quantity: attr 'number', defaultValue: 1 price: attr 'number' + product_variant: attr('string') product: DS.belongsTo('product', async: true) order: DS.belongsTo('order') increment: -> @set('quantity', @get('quantity') + 1) total: (-> @get('quantity') * @get('price')).property('quantity', 'price') + display: Ember.computed 'quantity', 'product_variant', 'product.name', -> + disp = "#{@get('quantity')} x #{@get('product.name')}" + if variant = @get('product_variant') + disp = "#{disp} (#{variant})" + disp.htmlSafe()