User specs in the green

This commit is contained in:
2015-09-21 15:22:43 +02:00
parent cb744943bd
commit 2c3705790c
27 changed files with 112 additions and 30 deletions
@@ -16,13 +16,29 @@ App.List = DS.Model.extend
#users: DS.hasMany('user', inverse: 'active_list')
orders: DS.hasMany('order', async: false)
section: DS.belongsTo('section', async: false) # should be async, but synchroneously loading now fails with JSONAPI, this seems to work
active: ( -> @get('state') is 'active' ).property('state')
# COMPUTED PROPERTIES
active: Ember.computed.equal 'state', 'active'
total: (->
@get('relevant_orders').getEach('total').reduce(((sum, total) -> sum + total), 0)
).property('relevant_orders.@each.total')
relevant_orders: (-> @get('orders').filter((o)->o.get('state') isnt 'cancelled')).property('orders.@each.state')
active_orders: (-> @get('orders').filter((o)->o.get('state') is 'placed' or o.get('state') is 'active')).property('orders.@each.state')
sorted_orders: (-> @get('relevant_orders').sortBy('created_at').reverseObjects()).property('relevant_orders.[]')
has_active_orders: (->
return false unless @get('state') == 'active'
!!@get('orders').filter( (order) -> order.get('state') is 'active' or order.get('state') is 'placed').length
).property('state', 'orders.@each.state')
isClosed: ->
@set('state', 'closed')
#@set 'has_active_orders', false
@set 'table', null
@isHelped()
@isPaid()
# EVENTS
isHelped: ->
@set 'needs_help', false
isNeedingHelp: ->
@@ -31,24 +47,14 @@ App.List = DS.Model.extend
@set 'needs_payment', true
isPaid: ->
@set 'needs_payment', false
relevant_orders: (-> @get('orders').filter((o)->o.get('state') isnt 'cancelled')).property('orders.@each.state')
active_orders: (-> @get('orders').filter((o)->o.get('state') is 'placed' or o.get('state') is 'active')).property('orders.@each.state')
total: (->
@get('relevant_orders').getEach('total').reduce(((sum, total) -> sum + total), 0)
).property('relevant_orders.@each.total')
has_active_orders: (->
return false unless @get('state') == 'active'
!!@get('orders').filter( (order) -> order.get('state') is 'active' or order.get('state') is 'placed').length
).property('state', 'orders.@each.state')
# TRIGGERS
close: ->
@isClosed()
$.post Routes.close_suppliers_list_path(@id)
markHelped: ->
@isHelped()
$.post Routes.mark_helped_suppliers_list_path(@id)
remove_needs_payment: ->
@set 'needs_payment', false
$.post Routes.remove_needs_payment_suppliers_list_path(@id)
sorted_orders: (-> @get('relevant_orders').sortBy('created_at').reverseObjects()).property('relevant_orders.@each.isLoaded')
@@ -6,6 +6,7 @@ App.Section = DS.Model.extend
tables: DS.hasMany('table', async: false)
section_elements: DS.hasMany('section-element', async: false)
section_areas: DS.hasMany('section-area', async: false)
sorted_tables: Ember.computed 'tables.[]', -> @get('tables').sortBy('number')
editmode: false