Working supplier dashboard
This commit is contained in:
@@ -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' }}
|
||||
|
||||
Reference in New Issue
Block a user