Many improvements and fixes

This commit is contained in:
2014-07-22 17:37:33 +02:00
parent 8ca59c4e38
commit 3202ba8f19
23 changed files with 75 additions and 61 deletions
@@ -1,4 +1,5 @@
Qsupplier.App.ApplicationController = Ember.Controller.extend
active_section: null
init: ->
#success = (supplier)=>
## A supplier record with id current and with the content of the returned supplier is created
@@ -7,6 +7,7 @@ Qsupplier.App.IndexController = Ember.ObjectController.extend
@get('lists').filterProperty('state', 'active')
).property('lists.@each.state', 'active_section.id')
active_section: (-> @get('controllers.application.active_section')).property('controllers.application.active_section')
active_orders: (->
if @get('active_section.id')
@get('orders').filter (o)=>( o.get('section.id') == @get('active_section.id') && o.get('needs_supplier_attention') )
@@ -39,4 +40,3 @@ Qsupplier.App.IndexController = Ember.ObjectController.extend
@transitionToRoute 'list', id
showListInfo: (view, link)->
debugger
@@ -13,3 +13,6 @@ Qsupplier.App.SectionsIndexController = Ember.ArrayController.extend
@transitionToRoute('index').then =>
@get('controllers.index').set 'active_section', section
addSection: -> @send 'openModal', 'modal_add_section', @get('model')
goToSection: (section)->
@set 'controllers.application.active_section', section
@transitionToRoute 'section', section.id
@@ -23,7 +23,7 @@ Qsupplier.App.Order = DS.Model.extend
@set 'state', 'cancelled'
total: (->
@get('product_orders').getEach('total').reduce(((sum, total) -> sum + total), 0)
).property('product_orders.@each.quantity', 'product_orders.@each.product.@each.price')
).property('product_orders.@each.total')
display: (->
@get('product_orders').map((po) -> "#{po.get('quantity')} x #{po.get('product.name')}").join(', ')
@@ -1,8 +1,9 @@
attr = DS.attr
Qsupplier.App.ProductOrder = DS.Model.extend
quantity: attr 'number', defaultValue: 1
price: attr 'number'
product: DS.belongsTo('product')
order: DS.belongsTo('order')
increment: ->
@set('quantity', @get('quantity') + 1)
total: (-> @get('quantity') * @get('product.price')).property('quantity', 'product.price')
total: (-> @get('quantity') * @get('price')).property('quantity', 'price')
@@ -2,9 +2,9 @@ td.status-icons
if view.content.needs_help
span.icon.needs-help
if view.content.needs_payment
|
|
span.icon.needs-payment
td.numeric.table_number {{view.content.table.number}}
td.numeric.table_number: Qsupplier.App.TableNumberWithInfoView contextBinding="view.content"
td.section_title {{view.content.section.title}}
td.currency.total_list_amount {{currency view.content.total}}
td.actions
@@ -1,10 +1,9 @@
td.status-icons
span.active-order.fa.fa-check.fa-lg
td {{view.content.display}}
td.numeric.table_number
view Qsupplier.App.ActiveOrderTableNumberView contextBinding="view.content"
td.section_title {{view.content.list.section.title}}
td.currency {{currency view.content.total }}
td= view.content.display
td.numeric.table_number: Qsupplier.App.TableNumberWithInfoView contextBinding="view.content.list"
td.section_title= view.content.list.section.title
td.currency=currency view.content.total
td.actions
if view.content.placed
button.mark_order_active{ action markOrderActive view.content.id}
@@ -13,7 +12,7 @@ td.actions
/button.hide.mark-order-active{ action markOrderActive view.content.id}
span.button-icon
span.button-text=t 'order.being_processed'
button.mark_order_delivered{ action markOrderDelivered view.content.id}
button.mark_order_delivered{ action markOrderDelivered view.content.id }
span.fa.fa-2x.fa-shifted-stack
span.fa-shifted.fa-check
span.fa-shifted.fa-check
@@ -1,3 +0,0 @@
.number= list.table.number
.extra-list-info
img.spinner src="/assets/spinner.gif" alt=""
@@ -1,6 +1,6 @@
.page-header
div.dashboard-section-selection
Qsupplier.App.HomeSectionSelectorView selectionBinding="controller.active_section" content=controller.sections prompt=controllers.application.supplier.name
Qsupplier.App.HomeSectionSelectorView selectionBinding="controller.controllers.application.active_section" content=controller.sections prompt=controllers.application.supplier.name
Qsupplier.App.HomeSectionJumperView
h3=t 'active_lists.title'
.well
@@ -1,7 +1,7 @@
.section-tabs-container
link-to 'sections' class="goto-sections-index-tab-header": span
each section in sections
view Qsupplier.App.SectionTabHeaderView context=section
Qsupplier.App.SectionTabHeaderView context=section
a.add-section{action "addSection"}: span
.section-manage-tables.pull-right
if editmode
@@ -18,8 +18,7 @@ if sections
each section in sections
tr
td
link-to 'section' section
=section.title
a{ action "goToSection" section}= section.title
td
span.table-count= section.tables.length
td.numeric= section.width
@@ -0,0 +1,3 @@
.number= table.number
.extra-list-info
span.loading.medium
@@ -1,10 +0,0 @@
Qsupplier.App.ActiveOrderTableNumberView = Ember.View.extend
tagName: 'span'
templateName: 'active_order_table_number'
classNames: 'active_order_table_number'
click: ->
$el = $(@get('element')).find('.extra-list-info')
return $el.hide() if $el.is(':visible')
$el.show()
$.get Routes.extra_info_suppliers_list_path(@get('context.list.id')), (res)->
$el.html(res)
@@ -3,6 +3,7 @@ Qsupplier.App.SectionTabHeaderView = Ember.View.extend DragNDrop.Droppable,
classNames: ['section-tab-header']
classNameBindings: ['section_header_class', 'controller.controllers.application.isDragging:table-dragging', 'section_active']
click: (e)->
@set 'controller.controllers.application.active_section', @get('context')
@get('controller').transitionToRoute 'section', @get('context.id')
section_header_class: (-> "section-tab-header-#{@get('context.id')}").property()
@@ -0,0 +1,10 @@
Qsupplier.App.TableNumberWithInfoView = Ember.View.extend
tagName: 'span'
templateName: 'table_number_with_info'
classNames: 'table-number-with-info'
click: ->
$el = $(@get('element')).find('.extra-list-info')
return $el.hide() if $el.is(':visible')
$el.show()
$.get Routes.extra_info_suppliers_list_path(@get('context.id')), (res)->
$el.html(res)
@@ -3,16 +3,18 @@ root.Qsupplier=
watch_events: ->
faye = new Faye.Client(event_host)
faye.subscribe "/supplier/"+supplier_id, (e)=>
console.log(e)
console.log "Event: #{e.event}"
console.log e.data
if(e.event == 'new_order')
if Qsupplier.App
Qsupplier.App.store().pushPayload(e.data)
# Fix for ember pushPayload bug not creating the proper relations/triggers
setTimeout ->
if order = Qsupplier.App.store().all('order').findProperty('id', e.data.order.id)
# console.log "Ugly ember fix for adding order #{e.data.order.id} as relation to its list"
list = order.get('list')
list.get('orders').addRecord order
, 100
, 200
else if(e.event == 'list_needs_help')
if Qsupplier.App and list = Qsupplier.App.List.findCached(e.data.id)
list.markNeedsHelp()
@@ -63,8 +65,8 @@ root.Qsupplier=
else if e.event == 'order_cancelled'
if Qsupplier.App and order = Qsupplier.App.Order.findCached(e.data.id)
order.markCancelled()
$('.supplier-orders-placed-count-number').text(e.data.orders_placed_count) if Number.isInteger(e.data.orders_placed_count)
$('.supplier-orders-in-process-count-number').text(e.data.orders_in_process_count) if Number.isInteger(e.data.orders_in_process_count)
$('.supplier-orders-placed-count-number').text(e.data.orders_placed_count) if e.data.orders_placed_count == 0 or e.data.orders_placed_count
$('.supplier-orders-in-process-count-number').text(e.data.orders_in_process_count) if e.data.orders_in_process_count == 0 or e.data.orders_in_process_count
# old stuff