end of day commit

This commit is contained in:
2012-08-23 18:50:06 +02:00
parent 13dd2bf335
commit 0bae1bcbed
37 changed files with 1157 additions and 83 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 631 B

+458
View File
@@ -0,0 +1,458 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="128"
height="128"
id="svg2"
version="1.1"
inkscape:version="0.48.2 r9819"
sodipodi:docname="order-check.svg">
<defs
id="defs4">
<linearGradient
inkscape:collect="always"
id="linearGradient3953">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop3955" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop3957" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient3927">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop3929" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop3931" />
</linearGradient>
<linearGradient
id="linearGradient3871">
<stop
style="stop-color:#424242;stop-opacity:1;"
offset="0"
id="stop3873" />
<stop
id="stop3879"
offset="0.39583334"
style="stop-color:#767676;stop-opacity:1;" />
<stop
style="stop-color:#d5ffd5;stop-opacity:1"
offset="1"
id="stop3875" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3871"
id="linearGradient3877"
x1="8"
y1="73.737183"
x2="86.24353"
y2="2.4637082"
gradientUnits="userSpaceOnUse" />
<filter
inkscape:collect="always"
id="filter3895"
color-interpolation-filters="sRGB">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="1.1"
id="feGaussianBlur3897" />
</filter>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3871"
id="linearGradient3924"
gradientUnits="userSpaceOnUse"
x1="8"
y1="73.737183"
x2="86.24353"
y2="2.4637082" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3927"
id="linearGradient3933"
x1="47.125"
y1="4.515625"
x2="47.125"
y2="79.831711"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3927"
id="linearGradient3947"
gradientUnits="userSpaceOnUse"
x1="47.125"
y1="4.515625"
x2="47.125"
y2="79.831711" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3927"
id="linearGradient3951"
gradientUnits="userSpaceOnUse"
x1="47.125"
y1="4.515625"
x2="47.125"
y2="79.831711" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3953"
id="linearGradient3959"
x1="47.125"
y1="4.515625"
x2="60.753372"
y2="59.765625"
gradientUnits="userSpaceOnUse" />
<filter
inkscape:collect="always"
id="filter3973"
color-interpolation-filters="sRGB">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.44890625"
id="feGaussianBlur3975" />
</filter>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3871"
id="linearGradient3982"
gradientUnits="userSpaceOnUse"
x1="8"
y1="73.737183"
x2="86.24353"
y2="2.4637082" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3927"
id="linearGradient3984"
gradientUnits="userSpaceOnUse"
x1="47.125"
y1="4.515625"
x2="47.125"
y2="79.831711" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3953"
id="linearGradient3986"
gradientUnits="userSpaceOnUse"
x1="47.125"
y1="4.515625"
x2="60.753372"
y2="59.765625" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3871"
id="linearGradient3789"
gradientUnits="userSpaceOnUse"
x1="8"
y1="73.737183"
x2="86.24353"
y2="2.4637082" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3927"
id="linearGradient3791"
gradientUnits="userSpaceOnUse"
x1="47.125"
y1="4.515625"
x2="47.125"
y2="79.831711" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3953"
id="linearGradient3793"
gradientUnits="userSpaceOnUse"
x1="47.125"
y1="4.515625"
x2="60.753372"
y2="59.765625" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3871"
id="linearGradient3800"
gradientUnits="userSpaceOnUse"
x1="8"
y1="73.737183"
x2="86.24353"
y2="2.4637082" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3927"
id="linearGradient3802"
gradientUnits="userSpaceOnUse"
x1="47.125"
y1="4.515625"
x2="47.125"
y2="79.831711" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3953"
id="linearGradient3804"
gradientUnits="userSpaceOnUse"
x1="47.125"
y1="4.515625"
x2="60.753372"
y2="59.765625" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3871"
id="linearGradient3815"
gradientUnits="userSpaceOnUse"
x1="8"
y1="73.737183"
x2="86.24353"
y2="2.4637082" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3927"
id="linearGradient3817"
gradientUnits="userSpaceOnUse"
x1="47.125"
y1="4.515625"
x2="47.125"
y2="79.831711" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3953"
id="linearGradient3819"
gradientUnits="userSpaceOnUse"
x1="47.125"
y1="4.515625"
x2="60.753372"
y2="59.765625" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3871"
id="linearGradient3823"
gradientUnits="userSpaceOnUse"
x1="8"
y1="73.737183"
x2="86.24353"
y2="2.4637082"
gradientTransform="matrix(1.0491242,0,0,1.0491242,2.5076726,905.23429)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3871"
id="linearGradient3831"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0491242,0,0,1.0491242,2.5076726,905.23429)"
x1="8"
y1="73.737183"
x2="86.24353"
y2="2.4637082" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3927"
id="linearGradient3833"
gradientUnits="userSpaceOnUse"
x1="47.125"
y1="4.515625"
x2="47.125"
y2="79.831711" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3953"
id="linearGradient3835"
gradientUnits="userSpaceOnUse"
x1="47.125"
y1="4.515625"
x2="60.753372"
y2="59.765625" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3871"
id="linearGradient3839"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0491242,0,0,1.0491242,2.5076726,905.23429)"
x1="8"
y1="73.737183"
x2="86.24353"
y2="2.4637082" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3871"
id="linearGradient3857"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0491242,0,0,1.0491242,2.5076726,905.23429)"
x1="8"
y1="73.737183"
x2="86.24353"
y2="2.4637082" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3927"
id="linearGradient3859"
gradientUnits="userSpaceOnUse"
x1="47.125"
y1="4.515625"
x2="47.125"
y2="79.831711" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3953"
id="linearGradient3861"
gradientUnits="userSpaceOnUse"
x1="47.125"
y1="4.515625"
x2="60.753372"
y2="59.765625" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3871"
id="linearGradient3872"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0491242,0,0,1.0491242,2.5076726,905.23429)"
x1="8"
y1="73.737183"
x2="86.24353"
y2="2.4637082" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3927"
id="linearGradient3874"
gradientUnits="userSpaceOnUse"
x1="47.125"
y1="4.515625"
x2="47.125"
y2="79.831711" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3953"
id="linearGradient3876"
gradientUnits="userSpaceOnUse"
x1="47.125"
y1="4.515625"
x2="60.753372"
y2="59.765625" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3871"
id="linearGradient3880"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0491242,0,0,1.0491242,2.5076726,905.23429)"
x1="8"
y1="73.737183"
x2="86.24353"
y2="2.4637082" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3871"
id="linearGradient3891"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0491242,0,0,1.0491242,2.5076726,905.23429)"
x1="8"
y1="73.737183"
x2="86.24353"
y2="2.4637082" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="4.6911765"
inkscape:cx="50.233542"
inkscape:cy="13.840125"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1436"
inkscape:window-height="856"
inkscape:window-x="4"
inkscape:window-y="0"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid2994"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-924.36217)">
<g
id="g3883"
transform="translate(-0.85266458,-1.9184948)"
inkscape:export-filename="/Users/bterkuile/companytools/development/rails/qrammer/app/assets/images/icons/order-check.png"
inkscape:export-xdpi="24.829473"
inkscape:export-ydpi="24.829473">
<path
transform="matrix(1.0491242,0,0,1.0491242,2.5076726,905.23429)"
style="opacity:0.65158374;fill:#000000;fill-opacity:1;stroke:none;filter:url(#filter3895)"
d="m 20,42.362183 10,10 30,-30 10,10 -40,40 -20,-20 z"
id="path3881"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccc" />
<path
sodipodi:nodetypes="ccccccc"
inkscape:connector-curvature="0"
id="path2996"
d="M 23.490157,949.67748 33.981399,960.16872 65.455125,928.695 75.946367,939.18624 33.981399,981.15121 12.998915,960.16872 z"
style="fill:url(#linearGradient3891);fill-opacity:1;stroke:none" />
</g>
<path
sodipodi:type="inkscape:offset"
inkscape:radius="-0.79549515"
inkscape:original="M 60 22.375 L 30.25 52.125 C 31.759428 51.832546 33.268641 51.520491 34.78125 51.25 C 38.131586 50.650878 42.292564 50.001114 45.65625 49.5625 C 48.40866 49.203595 50.940177 48.935357 53.59375 48.78125 L 70 32.375 L 60 22.375 z M 20 42.375 L 10 52.375 L 14.03125 56.40625 C 19.237958 54.881463 24.442107 53.235169 29.78125 52.21875 C 29.80132 52.21495 29.82368 52.22255 29.84375 52.21875 L 20 42.375 z "
style="fill:url(#linearGradient3859);fill-opacity:1;stroke:url(#linearGradient3861);stroke-width:0.26578051;filter:url(#filter3973)"
id="path3949"
d="M 60,23.5 32.65625,50.84375 c 0.663739,-0.129711 1.331286,-0.255418 2,-0.375 3.364578,-0.601669 7.526087,-1.246737 10.90625,-1.6875 2.645343,-0.344944 5.103246,-0.59175 7.65625,-0.75 L 68.875,32.375 60,23.5 z m -40,20 -8.875,8.875 3.15625,3.15625 C 18.877656,54.179274 23.499328,52.749738 28.25,51.75 L 20,43.5 z" />
<use
x="0"
y="0"
xlink:href="#g3883"
id="use3887"
transform="translate(20.677116,67.573668)"
width="128"
height="128"
inkscape:export-filename="/Users/bterkuile/companytools/development/rails/qrammer/app/assets/images/icons/order-doublecheck.png"
inkscape:export-xdpi="24.829473"
inkscape:export-ydpi="24.829473" />
<use
x="0"
y="0"
xlink:href="#g3883"
id="use3893"
transform="translate(-10.231975,67.573668)"
width="128"
height="128"
inkscape:export-filename="/Users/bterkuile/companytools/development/rails/qrammer/app/assets/images/icons/order-doublecheck.png"
inkscape:export-xdpi="24.829473"
inkscape:export-ydpi="24.829473" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

+3 -1
View File
@@ -13,4 +13,6 @@
//= require jquery
//= require jquery_ujs
//= require twitter/bootstrap
//= require_tree .
//= require_directory .
//= require_self
+99 -1
View File
@@ -26,6 +26,101 @@ root.Qrammer =
window.active_list[product._id].number += 1
Qrammer.build_product_list()
build_product_list: ->
table = $('#active-order-table')
tbody = table.find('tbody')
tbody = $('<tbody></tbody>').appendTo(table) unless tbody.length
tbody.find('tr').remove()
total = 0.0
for product_id, info of window.active_list
total += info.product.price * info.number
row = $('<tr></tr>').attr('id', 'active-order-row-'+product_id).appendTo(tbody)
row.append('<td>'+info.product.name+'</td>')
row.append('<td>'+info.number+'</td>')
row.append('<td class="currency">'+Qrammer.currency(info.product.price * info.number)+'</td>')
x_btn = $('<button class="btn btn-warning btn-mini">x</button>').click(-> delete(window.active_list[product_id]) && Qrammer.build_product_list() )
row.append($('<td></td>').append(x_btn))
$('#active-order-total').html(Qrammer.currency(total))
table.show()
clear_active_list: ->
window.active_list = {}
$('#active-order-table').hide()
order_active_list: (post_uri)->
h = {list_id: active_list_id}
for product_id, info of window.active_list
h['products['+product_id+']'] = info.number
$.post(post_uri, h, ((res) -> Qrammer.handle_response(res)), 'json')
handle_response: (res) ->
if(typeof(res) == 'string')
return unless res.length
if res[0] == '{'
res = JSON.parse(res)
else
eval(res)
return
alert(res['message']) if res['message'] && !res['ok']
alert(res['message']) if res['message'] && res['ok']
load_active_order_list: (supplier_id) ->
$.get('/suppliers/'+supplier_id+'/active_order_list.json', (res) ->
body = $('#active-orders-table tbody')
body.find('tr').remove()
foot = $('#active-orders-table tfoot')
if(!res.orders && !res.orders.length)
alert('No orders in list');
return;
for order in res.orders
order_txts = []
row = $('<tr></tr>').appendTo(body)
process_btn = $('<button class="btn btn-success">In process!</button>')
process_callback = ( (ord) ->
->
my_btn = $(this)
$.post('/orders/'+ord.id+'/is_being_processed', {}, (res)-> my_btn.remove())
)(order)
process_btn.click(process_callback)
delivered_btn = $('<button class="btn btn-inverse">Is delivered!</button>')
delivered_callback = ( (ord, r) ->
->
my_btn = $(this)
$.post('/orders/'+ord.id+'/is_delivered', {}, (res)-> r.slideUp('slow'))
)(order, row)
delivered_btn.click(delivered_callback)
for product in order.products
order_txts.push(product.name + ' (' + product['number'] + ')')
row.append($('<td></td>').text(order_txts.join(', ')))
row.append($('<td class="numeric"></td>').text(order.table_number))
row.append($('<td class="currency"></td>').html(Qrammer.currency(order.total_amount)))
td_buttons = $('<td class="actions"></td>')
td_buttons.append(process_btn).append('&nbsp;') if order.state == 'placed'
td_buttons.append(delivered_btn)
row.append(td_buttons)
#foot.append('<tr><td></td><td class="currency"><strong>'+Qrammer.currency(res.total_amount)+'</strong></td></tr>');
)
load_active_lists: (supplier_id) ->
$.get('/suppliers/'+supplier_id+'/active_lists.json', (res) ->
body = $('#active-lists-table tbody')
body.find('tr').remove()
foot = $('#active-lists-table tfoot')
for list in res.lists
order_txts = []
row = $('<tr></tr>').appendTo(body)
close_btn = $('<button class="btn btn-success">Close!</button>')
close_callback = ( (lst, r) ->
->
my_btn = $(this)
$.post('/lists/'+lst._id+'/is_closed', {}, (res)-> r.slideUp('slow'))
)(list, row)
close_btn.click(close_callback)
row.append($('<td></td>').text(list._id))
row.append($('<td class="currency"></td>').html(Qrammer.currency(list.total_amount)))
td_buttons = $('<td class="actions"></td>')
td_buttons.append(close_btn)
row.append(td_buttons)
#foot.append('<tr><td></td><td class="currency"><strong>'+Qrammer.currency(res.total_amount)+'</strong></td></tr>');
)
build_product_list_as_modal: ->
wrapper = $('<div class="modal"></div>')
callback_wrapper = ->
wrapper.modal('hide')
@@ -50,4 +145,7 @@ root.Qrammer =
.append($('<a href="#" class="btn btn-primary">Yes</a>').click(callback_wrapper))
.appendTo(wrapper)
wrapper.modal()
jQuery.ajaxSetup
'beforeSend': (xhr) ->
xhr.setRequestHeader("Accept", "text/javascript")
+33
View File
@@ -0,0 +1,33 @@
table
thead
th
&.currency
text-align: right
tbody
td
&.currency
text-align: right
&.numeric
text-align: right
&.actions
text-align: right
tfoot
td
&.currency
text-align: right
#active-list-table
tbody
tr
td
&:first-child
padding-left: 35px
background-position: 5px center
background-repeat: no-repeat
&.placed
td
&:first-child
background-image: image-url('icons/order-check.png')
&.delivered
td
&:first-child
background-image: image-url('icons/order-doublecheck.png')