Working supplier dashboard

This commit is contained in:
2013-09-25 12:19:25 +02:00
parent faec08c26b
commit 6d7647c2c5
7 changed files with 37 additions and 11 deletions
@@ -1,11 +1,17 @@
Qsupplier.App.IndexController = Ember.ObjectController.extend
active_lists: (->
@get('lists').filterProperty('state', 'active')
).property('lists.@each.state')
if @get('sectionId')
@get('lists').filter (l)=>( l.get('section_id') == @get('sectionId') && l.get('state') == 'active' )
else
@get('lists').filterProperty('state', 'active')
).property('lists.@each.state', 'sectionId')
active_orders: (->
@get('orders').filter (o)->(o.get('state') == 'active')
).property('orders.@each.state')
if @get('sectionId')
@get('orders').filter (o)=>( o.get('section_id') == @get('sectionId') && o.get('needs_supplier_attention') )
else
@get('orders').filter (o)->( o.get('needs_supplier_attention') )
).property('orders.@each.state', 'sectionId')
markListAsHelped: (id)->
list = Qsupplier.App.List.find(id)
@@ -15,3 +21,14 @@ Qsupplier.App.IndexController = Ember.ObjectController.extend
list = Qsupplier.App.List.find(id)
list.set('state', 'closed')
$.post '/supplier/close_list', {list_id: id}
markOrderDelivered: (id)->
$.post('/supplier/order_is_delivered', order_id: id)
if order = Qsupplier.App.Order.findCached(id)
order.set('state', 'delivered')
markOrderActive: (id)->
$.post('/supplier/mark_order_in_process', order_id: id)
if order = Qsupplier.App.Order.findCached(id)
order.set('state', 'active')
sectionId: ''
@@ -9,3 +9,5 @@ Qsupplier.App.List = DS.Model.extend
table_number: attr 'number'
table: DS.belongsTo('Qsupplier.App.Table', inverse: 'active_list')
orders: DS.hasMany('Qsupplier.App.Order')
section: DS.belongsTo('Qsupplier.App.Section')
section_id: attr('string')
@@ -4,8 +4,14 @@ Qsupplier.App.Order = DS.Model.extend
list: DS.belongsTo('Qsupplier.App.List')
total_amount: attr('number')
product_orders: attr('object')
section: DS.belongsTo('Qsupplier.App.Section')
section_id: attr('string')
active: (-> @get('state') == 'active').property('state')
delivered: (-> @get('state') == 'delivered').property('state')
placed: (-> @get('state') == 'placed').property('state')
needs_supplier_attention: (-> @get('state') == 'placed' || @get('state') == 'active').property('state')
display: (->
@get('product_orders').map((po)-> "#{po.product_name} (#{po.quantity})").join(',')
).property('product_orders')
@@ -3,8 +3,9 @@ Qsupplier.App.IndexRoute = Ember.Route.extend
Ember.Object.create
lists: Qsupplier.App.List.find({state: 'active'})
orders: Qsupplier.App.Order.find()
#setupController: (controller, model)->
#controller.set('model', model)
setupController: (controller, model)->
controller.set('model', model)
$('#section_selector').on 'change', (-> controller.set('sectionId', $(this).val()))
#controller.set 'lists', Qsupplier.App.List.all() #.filterProperty('state', 'active')
#controller.set 'orders', Qsupplier.App.Order.all()
#controller.set 'lists', model.get('lists')
@@ -3,6 +3,6 @@ td.numeric.table_number {{view.content.table_number}}
td.section_title {{view.content.section_title}}
td.currency {{currency view.content.total_amount}}
td.actions
/*<button id="order-in-process-button-{{id}}" class="btn btn-success {{^can_process}}hide{{/can_process}}" onclick="Qsupplier.mark_order_in_process('{{id}}')" data-t="order.being_processed"></button>*/
/*<button class="btn btn-inverse" onclick="Qsupplier.mark_order_delivered('{{id}}')" data-t="order.being_served"></button>*/
' Actions
if view.content.placed
button.btn.btn-success{ action markOrderActive view.content.id} {{t 'order.being_processed'}}
button.btn.btn-inverse{ action markOrderDelivered view.content.id} {{t 'order.being_served' }}