User specs in the green
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user