Working supplier dashboard
This commit is contained in:
@@ -1,11 +1,17 @@
|
|||||||
Qsupplier.App.IndexController = Ember.ObjectController.extend
|
Qsupplier.App.IndexController = Ember.ObjectController.extend
|
||||||
active_lists: (->
|
active_lists: (->
|
||||||
@get('lists').filterProperty('state', 'active')
|
if @get('sectionId')
|
||||||
).property('lists.@each.state')
|
@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: (->
|
active_orders: (->
|
||||||
@get('orders').filter (o)->(o.get('state') == 'active')
|
if @get('sectionId')
|
||||||
).property('orders.@each.state')
|
@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)->
|
markListAsHelped: (id)->
|
||||||
list = Qsupplier.App.List.find(id)
|
list = Qsupplier.App.List.find(id)
|
||||||
@@ -15,3 +21,14 @@ Qsupplier.App.IndexController = Ember.ObjectController.extend
|
|||||||
list = Qsupplier.App.List.find(id)
|
list = Qsupplier.App.List.find(id)
|
||||||
list.set('state', 'closed')
|
list.set('state', 'closed')
|
||||||
$.post '/supplier/close_list', {list_id: id}
|
$.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_number: attr 'number'
|
||||||
table: DS.belongsTo('Qsupplier.App.Table', inverse: 'active_list')
|
table: DS.belongsTo('Qsupplier.App.Table', inverse: 'active_list')
|
||||||
orders: DS.hasMany('Qsupplier.App.Order')
|
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')
|
list: DS.belongsTo('Qsupplier.App.List')
|
||||||
total_amount: attr('number')
|
total_amount: attr('number')
|
||||||
product_orders: attr('object')
|
product_orders: attr('object')
|
||||||
|
section: DS.belongsTo('Qsupplier.App.Section')
|
||||||
|
section_id: attr('string')
|
||||||
|
|
||||||
active: (-> @get('state') == 'active').property('state')
|
active: (-> @get('state') == 'active').property('state')
|
||||||
delivered: (-> @get('state') == 'delivered').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: (->
|
display: (->
|
||||||
@get('product_orders').map((po)-> "#{po.product_name} (#{po.quantity})").join(',')
|
@get('product_orders').map((po)-> "#{po.product_name} (#{po.quantity})").join(',')
|
||||||
).property('product_orders')
|
).property('product_orders')
|
||||||
|
|||||||
@@ -3,8 +3,9 @@ Qsupplier.App.IndexRoute = Ember.Route.extend
|
|||||||
Ember.Object.create
|
Ember.Object.create
|
||||||
lists: Qsupplier.App.List.find({state: 'active'})
|
lists: Qsupplier.App.List.find({state: 'active'})
|
||||||
orders: Qsupplier.App.Order.find()
|
orders: Qsupplier.App.Order.find()
|
||||||
#setupController: (controller, model)->
|
setupController: (controller, model)->
|
||||||
#controller.set('model', 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 'lists', Qsupplier.App.List.all() #.filterProperty('state', 'active')
|
||||||
#controller.set 'orders', Qsupplier.App.Order.all()
|
#controller.set 'orders', Qsupplier.App.Order.all()
|
||||||
#controller.set 'lists', model.get('lists')
|
#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.section_title {{view.content.section_title}}
|
||||||
td.currency {{currency view.content.total_amount}}
|
td.currency {{currency view.content.total_amount}}
|
||||||
td.actions
|
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>*/
|
if view.content.placed
|
||||||
/*<button class="btn btn-inverse" onclick="Qsupplier.mark_order_delivered('{{id}}')" data-t="order.being_served"></button>*/
|
button.btn.btn-success{ action markOrderActive view.content.id} {{t 'order.being_processed'}}
|
||||||
' Actions
|
button.btn.btn-inverse{ action markOrderDelivered view.content.id} {{t 'order.being_served' }}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
class ListSerializer < Qwaiter::Serializer
|
class ListSerializer < Qwaiter::Serializer
|
||||||
embed :ids
|
embed :ids
|
||||||
attributes :state, :needs_help, :needs_payment, :is_paid, :price, :table_id, :table_number
|
attributes :state, :needs_help, :needs_payment, :is_paid, :price, :table_id, :table_number, :section_id
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
class OrderSerializer < Qwaiter::Serializer
|
class OrderSerializer < Qwaiter::Serializer
|
||||||
embed :ids
|
embed :ids
|
||||||
attributes :state, :list_id
|
attributes :state, :list_id, :section_id
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user