end of day commit

This commit is contained in:
2012-08-29 17:42:04 +02:00
parent 89700f36e9
commit 8213bae2c6
57 changed files with 1109 additions and 128 deletions
+52 -33
View File
@@ -59,8 +59,8 @@ root.Quser=
row.append($('<td class="currency"></td>').html(Qrammer.currency(order.total_amount)))
foot.append('<tr><td></td><td class="currency"><strong>'+Qrammer.currency(res.total_amount)+'</strong></td></tr>')
)
order_selected_products: ()->
h = {}
order_selected_products: (h)->
h ||= {}
for product_id, info of window.active_products_list
h['products['+product_id+']'] = info.number
$.post('/user/order_selected_products', h, ((res) -> Quser.handle_response(res)), 'json')
@@ -92,48 +92,67 @@ root.Quser=
table.show()
load_active_list_products: ->
$.get('/user/list_products.json', (res) ->
window.products = res
Quser.populate_products_table('/user/list_products.json', true)
load_table_products: (table_id, occupied)->
Quser.populate_products_table('/user/list_products_for_table.json?table_id='+table_id, !occupied)
populate_products_table: (src, include_order_buttons)->
$.get(src, (res) ->
body = $('#products-table tbody')
for category, products of window.products
for category, products of res
body.append('<tr><td colspan="4"><h4>'+category+'<h4></td></tr>')
for product in products
row = $('<tr></tr>')
button = $('<button class="btn btn-mini btn-primary">Add</button>')
callback = ((prod) ->
->
product_count_holder = $('#order-product-count-'+prod._id)
count = parseInt(product_count_holder.text())
product_count_holder.text(1)
Quser.add_product(prod, count)
)(product)
button.click(callback)
row.append('<td>'+product.name+'</td>')
order_product_count = $('<span id="order-product-count-'+product._id+'" class="order-product-count">1</span>')
order_count_minus = $('<span class="btn btn-info btn-mini">-</span>')
order_count_minus.click(->
val_holder = $(this).siblings('.order-product-count')
val = parseInt(val_holder.text())
val_holder.text(val - 1) if val > 1
)
order_count_plus = $('<span class="btn btn-info btn-mini">+</span>')
order_count_plus.click(->
val_holder = $(this).siblings('.order-product-count')
val = parseInt(val_holder.text())
val_holder.text(val + 1)
)
row.append($('<td class="order-count-cell"></td>').append(order_count_minus).append('&nbsp;').append(order_product_count).append('&nbsp;').append(order_count_plus))
if include_order_buttons
button = $('<button class="btn btn-mini btn-primary">Add</button>')
callback = ((prod) ->
->
product_count_holder = $('#order-product-count-'+prod._id)
count = parseInt(product_count_holder.text())
product_count_holder.text(1)
Quser.add_product(prod, count)
)(product)
button.click(callback)
order_product_count = $('<span id="order-product-count-'+product._id+'" class="order-product-count">1</span>')
order_count_minus = $('<span class="btn btn-info btn-mini">-</span>')
order_count_minus.click(->
val_holder = $(this).siblings('.order-product-count')
val = parseInt(val_holder.text())
val_holder.text(val - 1) if val > 1
)
order_count_plus = $('<span class="btn btn-info btn-mini">+</span>')
order_count_plus.click(->
val_holder = $(this).siblings('.order-product-count')
val = parseInt(val_holder.text())
val_holder.text(val + 1)
)
row.append($('<td class="order-count-cell"></td>').append(order_count_minus).append('&nbsp;').append(order_product_count).append('&nbsp;').append(order_count_plus))
row.append('<td>'+Qrammer.currency(product.price)+'</td>')
row.append($('<td></td>').append(button))
row.append($('<td></td>').append(button)) if include_order_buttons
body.append(row)
)
actions_for_table: (table_id)->
$.get('/user/table_info.json?table_id='+table_id, (res)->
actions_for_table: (table)->
table = JSON.parse(table) if typeof(table) == 'string'
$.get('/user/table_info.json?table_id='+table.table_id, (res)->
if res.occupied
alert('Table is occupied')
else
$.post('/user/create_list.json', {table_id: table_id}, (res)-> Quser.handle_response(res))
if res.other_supplier
#TODO cannot do something with other supplier when list is active
else if res.current_table_id && res.current_table_id == table.table_id
#nothing has changed, show product list
window.location = '/user/list_products'
else if res.current_table_id && res.current_table_id != table.table_id
#TODO Offer to move table
$.post('/user/move_table', {table_id: table.table_id}, (res2)->
if res2.occupied
alert('Cannot move to occupied table')
else
window.location = '/user/list_products'
)
else
#$.post('/user/create_list.json', {table_id: table.table_id}, (res)-> Quser.handle_response(res))
window.location = '/user/list_products_for_table?table_id='+table.table_id
, 'json')
add_product: (product, count) ->
count ||= 1