1 <?xml version="1.0" encoding="UTF-8"?>
4 <templates id="template" xml:space="preserve">
8 <div class="pos-topheader">
9 <div class="pos-branding">
10 <img class="pos-logo" src="/point_of_sale/static/src/img/logo.png" />
11 <span class="placeholder-UsernameWidget"></span>
13 <div class="pos-rightheader">
14 <div class="order-selector">
15 <span class="orders"></span>
16 <span class="order-button square neworder-button"><i class='fa fa-plus' /></span>
17 <span class="order-button square deleteorder-button"><i class='fa fa-minus' /></span>
19 <!-- here goes header buttons -->
23 <div class="pos-content">
25 <div class="pos-leftpane">
27 <div class='subwindow'>
28 <div class='subwindow-container'>
29 <div class='subwindow-container-fix'>
30 <div class="placeholder-OrderWidget"></div>
35 <div class='subwindow collapsed'>
36 <div class='subwindow-container'>
37 <div class='subwindow-container-fix pads'>
38 <div class="control-buttons oe_hidden"></div>
39 <div class="placeholder-PaypadWidget"></div>
40 <div class="placeholder-NumpadWidget"></div>
45 <div class='subwindow collapsed'>
46 <div class='subwindow-container'>
47 <div class='subwindow-container-fix'>
48 <div class='placeholder-LeftActionBar'></div>
55 <div class="rightpane">
57 <div class='subwindow'>
58 <div class='subwindow-container'>
59 <div class='subwindow-container-fix screens'>
64 <div class='subwindow collapsed'>
65 <div class='subwindow-container'>
66 <div class='subwindow-container-fix'>
67 <div class='placeholder-RightActionBar'></div>
74 <div class="placeholder-OnscreenKeyboardWidget"></div>
78 <div class='loader-feedback oe_hidden'>
79 <h1 class='message'>Loading</h1>
80 <div class='progressbar'>
81 <div class='progress' width='50%'></div>
83 <div class='oe_hidden button skip'>
90 <div class='not-supported-browser'>
92 <img src='/point_of_sale/static/src/img/pos_screenshot.jpg' />
94 The Point of Sale is not supported by Microsoft Internet Explorer. Please use
95 a modern browser like <a href="http://www.mozilla.org/firefox/" target="_blank">Mozilla Firefox</a>
96 or <a href="http://www.google.com/chrome" target="_blank">Google Chrome</a>.
104 <t t-name="SynchNotificationWidget">
105 <div class="oe_status js_synch">
106 <span class='js_msg oe_hidden'>0</span>
107 <div class="js_connected oe_icon oe_green">
108 <i class='fa fa-fw fa-rss'></i>
110 <div class="js_connecting oe_icon oe_hidden">
111 <i class='fa fa-fw fa-spin fa-spinner'></i>
113 <div class="js_disconnected oe_icon oe_red oe_hidden">
114 <i class='fa fa-fw fa-rss'></i>
119 <t t-name="ProxyStatusWidget">
120 <div class="oe_status js_proxy">
121 <span class='js_msg oe_orange oe_hidden'></span>
122 <div class="js_connected oe_icon oe_green">
123 <i class='fa fa-fw fa-sitemap'></i>
125 <div class="js_connecting oe_icon oe_hidden">
126 <i class='fa fa-fw fa-spin fa-spinner'></i>
128 <div class="js_warning oe_icon oe_orange oe_hidden">
129 <i class='fa fa-fw fa-sitemap'></i>
131 <div class="js_disconnected oe_icon oe_red oe_hidden">
132 <i class='fa fa-fw fa-sitemap'></i>
137 <t t-name="HeaderButtonWidget">
138 <div class="header-button">
139 <t t-esc="widget.label" />
143 <t t-name="PosCloseWarning">
144 <div>There are pending operations that could not be saved into the database, are you sure you want to exit?</div>
147 <t t-name="PaypadWidget">
148 <div class="paypad touch-scrollable">
152 <t t-name="NumpadWidget">
154 <button class="input-button number-char">1</button>
155 <button class="input-button number-char">2</button>
156 <button class="input-button number-char">3</button>
157 <button class="mode-button" data-mode='quantity'>Qty</button>
159 <button class="input-button number-char">4</button>
160 <button class="input-button number-char">5</button>
161 <button class="input-button number-char">6</button>
162 <button class="mode-button" data-mode='discount'>Disc</button>
164 <button class="input-button number-char">7</button>
165 <button class="input-button number-char">8</button>
166 <button class="input-button number-char">9</button>
167 <button class="mode-button" data-mode='price'>Price</button>
169 <button class="input-button numpad-minus" >+/-</button>
170 <button class="input-button number-char">0</button>
171 <button class="input-button number-char">.</button>
172 <button class="input-button numpad-backspace">
173 <img src="/point_of_sale/static/src/img/backspace.png" width="24" height="21" />
179 <t t-name="CategoryButton">
180 <span class='category-button js-category-switch' t-att-data-category-id="category.id" >
181 <div class="category-img">
182 <img t-att-src="image_url" />
184 <div class="category-name">
185 <t t-esc="category.name"/>
190 <t t-name="CategorySimpleButton">
191 <span class='category-simple-button js-category-switch' t-att-data-category-id="category.id" >
192 <t t-esc="category.name"/>
196 <t t-name="ProductCategoriesWidget">
198 <header class='rightpane-header'>
199 <div class="breadcrumbs">
200 <span class="breadcrumb">
201 <span class=" breadcrumb-button js-category-switch">
202 <img src="/point_of_sale/static/src/img/home.png" class="breadcrumb-homeimg" />
205 <t t-foreach="widget.breadcrumb" t-as="category">
206 <span class="breadcrumb">
207 <img src="/point_of_sale/static/src/img/bc-arrow-big.png" class="breadcrumb-arrow" />
208 <span class="breadcrumb-button js-category-switch" t-att-data-category-id="category.id">
209 <t t-esc="category.name"/>
214 <div class="searchbox">
215 <input placeholder="Search Products" />
216 <span class="search-clear"></span>
219 <t t-if="widget.subcategories.length > 0">
220 <div class="categories">
221 <div class="category-list">
228 <t t-name="ProductListWidget">
229 <div class='product-list-container'>
230 <div class="product-list-scroller touch-scrollable">
231 <div class="product-list">
234 <span class="placeholder-ScrollbarWidget" />
238 <t t-name="ProductScreenWidget">
239 <div class="product-screen screen">
240 <table class="layout-table">
242 <tr class="header-row">
243 <td class="header-cell">
244 <span class="placeholder-ProductCategoriesWidget" />
248 <tr class="content-row">
249 <td class="content-cell">
250 <div class="content-container">
251 <span class="placeholder-ProductListWidget" />
260 <t t-name="ScaleScreenWidget">
261 <div class="scale-screen screen">
262 <div class="screen-content">
263 <div class="top-content">
264 <span class='button back'>
265 <i class='fa fa-angle-double-left'></i>
268 <h1 class='product-name'><t t-esc="widget.get_product_name()" /></h1>
270 <div class="centered-content">
271 <div class='weight js-weight'>
272 <t t-esc="widget.get_product_weight_string()" />
274 <div class='product-price'>
275 <t t-esc="widget.format_currency(widget.get_product_price()) + '/Kg'" />
277 <div class='computed-price'>
280 <div class='buy-product'>
282 <i class='fa fa-angle-double-right'></i>
289 <t t-name="ClientLine">
290 <tr class='client-line' t-att-data-id='partner.id'>
291 <td><t t-esc='partner.name' /></td>
292 <td><t t-esc='partner.address' /></td>
293 <td><t t-esc='partner.phone or partner.mobile or ""' /></td>
297 <t t-name="ClientDetailsEdit">
298 <section class='client-details edit'>
299 <div class='client-picture'>
300 <t t-if='!partner.id'>
301 <i class='fa fa-camera'></i>
303 <t t-if='partner.id'>
304 <img t-att-src='widget.partner_icon_url(partner.id)' />
306 <input type='file' class='image-uploader'></input>
308 <input class='detail client-name' name='name' t-att-value='partner.name' placeholder='Name'></input>
309 <div class='edit-buttons'>
310 <div class='button undo'><i class='fa fa-undo' /></div>
311 <div class='button save'><i class='fa fa-floppy-o' /></div>
313 <div class='client-details-box clearfix'>
314 <div class='client-details-left'>
315 <div class='client-detail'>
316 <span class='label'>Street</span>
317 <input class='detail client-address-street' name='street' t-att-value='partner.street' placeholder='Street'></input>
319 <div class='client-detail'>
320 <span class='label'>City</span>
321 <input class='detail client-address-city' name='city' t-att-value='partner.city' placeholder='City'></input>
323 <div class='client-detail'>
324 <span class='label'>Postcode</span>
325 <input class='detail client-address-zip' name='zip' t-att-value='partner.zip' placeholder='ZIP'></input>
327 <div class='client-detail'>
328 <span class='label'>Country</span>
329 <select class='detail client-address-country' name='country_id'>
330 <option value=''>None</option>
331 <t t-foreach='widget.pos.countries' t-as='country'>
332 <option t-att-value='country.id' t-att-selected="partner_country_id ? ((country.id === partner.country_id[0]) ? true : undefined) : undefined">
333 <t t-esc='country.name'/>
339 <div class='client-details-right'>
340 <div class='client-detail'>
341 <span class='label'>Email</span>
342 <input class='detail client-email' name='email' type='email' t-att-value='partner.email || ""'></input>
344 <div class='client-detail'>
345 <span class='label'>Phone</span>
346 <input class='detail client-phone' name='phone' type='tel' t-att-value='partner.phone || ""'></input>
348 <div class='client-detail'>
349 <span class='label'>Barcode</span>
350 <input class='detail barcode' name='ean13' t-att-value='partner.ean13 || ""'></input>
352 <div class='client-detail'>
353 <span class='label'>Tax ID</span>
354 <input class='detail vat' name='vat' t-att-value='partner.vat || ""'></input>
360 <t t-name="ClientDetails">
361 <section class='client-details'>
362 <div class='client-picture'>
363 <img t-att-src='widget.partner_icon_url(partner.id)' />
365 <div class='client-name'><t t-esc='partner.name' /></div>
366 <div class='edit-buttons'>
367 <div class='button edit'><i class='fa fa-pencil-square' /></div>
369 <div class='client-details-box clearfix'>
370 <div class='client-details-left'>
371 <div class='client-detail'>
372 <span class='label'>Address</span>
373 <span class='detail client-address'><t t-esc='partner.address' /></span>
375 <div class='client-detail'>
376 <span class='label'>Email</span>
377 <span class='detail client-email'><t t-esc='partner.email' /></span>
379 <div class='client-detail'>
380 <span class='label'>Phone</span>
381 <t t-if='partner.phone'>
382 <span class='detail client-phone'><t t-esc='partner.phone' /></span>
384 <t t-if='!partner.phone'>
385 <span class='detail client-phone empty'>N/A</span>
389 <div class='client-details-right'>
390 <div class='client-detail'>
391 <span class='label'>Barcode</span>
392 <t t-if='partner.ean13'>
393 <span class='detail client-id'><t t-esc='partner.ean13'/></span>
395 <t t-if='!partner.ean13'>
396 <span class='detail client-id empty'>N/A</span>
399 <div class='client-detail'>
400 <span class='label'>Tax ID</span>
401 <t t-if='partner.vat'>
402 <span class='detail vat'><t t-esc='partner.vat'/></span>
404 <t t-if='!partner.vat'>
405 <span class='detail vat empty'>N/A</span>
413 <t t-name="ClientListScreenWidget">
414 <div class="clientlist-screen screen">
415 <div class="screen-content">
416 <section class="top-content">
417 <span class='button back'>
418 <i class='fa fa-angle-double-left'></i>
421 <span class='searchbox'>
422 <input placeholder='Search Customers' />
423 <span class='search-clear'></span>
425 <span class='searchbox'></span>
426 <span class='button new-customer'>
427 <i class='fa fa-user'></i>
428 <i class='fa fa-plus'></i>
430 <span class='button next oe_hidden highlight'>
432 <i class='fa fa-angle-double-right'></i>
435 <section class="full-content">
437 <section class='subwindow collapsed'>
438 <div class='subwindow-container'>
439 <div class='subwindow-container-fix client-details-contents'>
443 <section class='subwindow'>
444 <div class='subwindow-container'>
445 <div class='subwindow-container-fix touch-scrollable scrollable-y'>
446 <table class='client-list'>
454 <tbody class='client-list-contents'>
468 <t t-name="PaymentScreenWidget">
469 <div class="payment-screen screen touch-scrollable">
470 <div class="pos-payment-container">
471 <div class='payment-due-total'></div>
472 <div class='payment-lines'></div>
473 <div class='payment-info'>
474 <div class="infoline">
475 <span class='left-block'>
478 <span class="right-block payment-paid-total"></span>
480 <div class="infoline">
481 <span class='left-block'>
484 <span class="right-block payment-remaining"></span>
486 <div class="infoline bigger" >
487 <span class='left-block'>
490 <span class="right-block payment-change"></span>
497 <t t-name="ReceiptScreenWidget">
498 <div class="receipt-screen screen touch-scrollable" >
499 <div class="pos-step-container">
500 <div class="pos-receipt-container">
506 <t t-name="XmlReceipt">
507 <receipt align='center' width='40' value-thousands-separator='' >
508 <t t-if='receipt.company.logo'>
509 <img t-att-src='receipt.company.logo' />
512 <t t-if='!receipt.company.logo'>
513 <h1><t t-esc='receipt.company.name' /></h1>
517 <t t-if='receipt.shop.name'>
518 <div><t t-esc='receipt.shop.name' /></div>
520 <t t-if='receipt.company.contact_address'>
521 <div><t t-esc='receipt.company.contact_address' /></div>
523 <t t-if='receipt.company.phone'>
524 <div>Tel:<t t-esc='receipt.company.phone' /></div>
526 <t t-if='receipt.company.vat'>
527 <div>VAT:<t t-esc='receipt.company.vat' /></div>
529 <t t-if='receipt.company.email'>
530 <div><t t-esc='receipt.company.email' /></div>
532 <t t-if='receipt.company.website'>
533 <div><t t-esc='receipt.company.website' /></div>
535 <t t-if='receipt.header'>
536 <div><t t-esc='receipt.header' /></div>
538 <t t-if='receipt.cashier'>
539 <div>--------------------------------</div>
540 <div>Served by <t t-esc='receipt.cashier' /></div>
547 <div line-ratio='0.6'>
548 <t t-foreach='receipt.orderlines' t-as='line'>
549 <t t-set='simple' t-value='line.discount === 0 and line.unit_name === "Unit(s)" and line.quantity === 1' />
552 <left><t t-esc='line.product_name' /></left>
553 <right><value><t t-esc='line.price_display' /></value></right>
557 <line><left><t t-esc='line.product_name' /></left></line>
558 <t t-if='line.discount !== 0'>
559 <line indent='1'><left>Discount: <t t-esc='line.discount' />%</left></line>
563 <value value-decimals='3' value-autoint='on'>
564 <t t-esc='line.quantity' />
566 <t t-if='line.unit_name !== "Unit(s)"'>
567 <t t-esc='line.unit_name' />
570 <value value-decimals='2'>
571 <t t-esc='line.price' />
575 <value><t t-esc='line.price_display' /></value>
584 <t t-set='taxincluded' t-value='Math.abs(receipt.subtotal - receipt.total_with_tax) <= 0.000001' />
585 <t t-if='!taxincluded'>
586 <line><right>--------</right></line>
587 <line><left>Subtotal</left><right> <value><t t-esc="receipt.subtotal" /></value></right></line>
588 <t t-foreach='receipt.tax_details' t-as='tax'>
590 <left><t t-esc='tax.name' /></left>
591 <right><value><t t-esc='tax.amount' /></value></right>
598 <line><right>--------</right></line>
599 <line size='double-height'>
600 <left><pre> TOTAL</pre></left>
601 <right><value><t t-esc='receipt.total_with_tax' /></value></right>
605 <!-- Payment Lines -->
607 <t t-foreach='receipt.paymentlines' t-as='line'>
609 <left><t t-esc='line.journal' /></left>
610 <right><value><t t-esc='line.amount'/></value></right>
615 <line size='double-height'>
616 <left><pre> CHANGE</pre></left>
617 <right><value><t t-esc='receipt.change' /></value></right>
621 <!-- Extra Payment Info -->
623 <t t-if='receipt.total_discount'>
625 <left>Discounts</left>
626 <right><value><t t-esc='receipt.total_discount'/></value></right>
629 <t t-if='taxincluded'>
630 <t t-foreach='receipt.tax_details' t-as='tax'>
632 <left><t t-esc='tax.name' /></left>
633 <right><value><t t-esc='tax.amount' /></value></right>
639 <t t-if='receipt.footer'>
641 <pre><t t-esc='receipt.footer' /></pre>
648 <div><t t-esc='receipt.name' /></div>
649 <div><t t-esc='receipt.date.localestring' /></div>
655 <t t-name="ErrorPopupWidget">
656 <div class="modal-dialog">
657 <div class="popup popup-error">
658 <p class="message"><t t-esc=" widget.message || 'Error' " /></p>
659 <p class="comment"><t t-esc=" widget.comment || '' "/></p>
669 <t t-name="ErrorTracebackPopupWidget">
670 <div class="modal-dialog">
671 <div class="popup popup-error">
672 <p class="message"><t t-esc=" widget.message || 'Error' " /></p>
673 <p class="comment traceback"><t t-esc=" widget.comment || '' "/></p>
683 <t t-name="ErrorBarcodePopupWidget">
684 <div class="modal-dialog">
685 <div class="popup popup-barcode">
686 <p class="message">Unknown Barcode
688 <span class='barcode'><t t-esc="widget.barcode" /></span>
691 The Point of Sale could not find any product, client, employee
692 or action associated with the scanned barcode.
703 <t t-name="ConfirmPopupWidget">
704 <div class="modal-dialog">
705 <div class="popup popup-confirm">
706 <p class="message"><t t-esc=" widget.message || 'Confirm ?' " /></p>
707 <p class="comment"><t t-esc=" widget.comment || '' "/></p>
709 <div class="button confirm">
712 <div class="button cancel">
720 <t t-name="UnsentOrdersPopupWidget">
721 <div class="modal-dialog">
722 <div class="popup popup-unsent-orders">
723 <p class="message">Unsent Orders</p>
724 <t t-if='widget.pos.db.get_orders().length === 0'>
726 There are no unsent orders
729 <t t-if='widget.pos.db.get_orders().length > 0'>
730 <p class='comment traceback'>
731 <t t-esc='JSON.stringify(widget.pos.db.get_orders(),null,2)' />
735 <div class="button confirm">
744 <span class='product' t-att-data-product-id="product.id">
745 <div class="product-img">
746 <img t-att-src='image_url' />
747 <t t-if="!product.to_weight">
748 <span class="price-tag">
749 <t t-esc="widget.format_currency(product.price)"/>
752 <t t-if="product.to_weight">
753 <span class="price-tag">
754 <t t-esc="widget.format_currency(product.price)+'/Kg'"/>
758 <div class="product-name">
759 <t t-esc="product.display_name"/>
764 <t t-name="Orderline">
765 <li t-attf-class="orderline #{ line.selected ? 'selected' : '' }">
766 <span class="product-name">
767 <t t-esc="line.get_product().display_name"/>
770 <t t-esc="widget.format_currency(line.get_display_price())"/>
772 <ul class="info-list">
773 <t t-if="line.get_quantity_str() !== '1' || line.selected ">
776 <t t-esc="line.get_quantity_str()" />
778 <t t-esc="line.get_unit().name" />
780 <t t-esc="widget.format_currency(line.get_unit_price())" />
782 <t t-esc="line.get_unit().name" />
785 <t t-if="line.get_discount_str() !== '0'">
789 <t t-esc="line.get_discount_str()" />%
798 <t t-name="OrderWidget">
799 <div class="order-container">
800 <div class="order-scroller touch-scrollable">
802 <ul class="orderlines">
803 <t t-if="orderlines.length === 0">
804 <li class="orderline empty">
805 Your shopping cart is empty
809 <div class="summary clearfix">
810 <div t-attf-class="line #{orderlines.length === 0 ? 'empty' : ''}">
811 <div class='entry total'>
812 <span class="label">Total: </span> <span class="value">0.00 €</span>
813 <div class='subentry'>Taxes: <span class="value">0.00€</span></div>
824 <t t-name="DebugWidget">
825 <div class="debug-widget">
826 <h1>Debug Window</h1>
827 <div class="toggle">â–¾</div>
828 <div class="content">
829 <p class="category">Electronic Scale</p>
831 <li><input type="text" class="weight"></input></li>
832 <li class="button set_weight">Set Weight</li>
833 <li class="button reset_weight">Reset</li>
836 <p class="category">Barcode Scanner</p>
838 <li><input type="text" class="ean"></input></li>
839 <li class="button custom_ean">Custom Ean13</li>
840 <li class="button admin_badge">Admin Badge</li>
841 <li class="button client_badge">Client Badge</li>
842 <li class="button soda_33cl">Soda 33cl</li>
843 <li class="button oranges_kg">3.141Kg Oranges</li>
844 <li class="button lemon_price">1.54€ Lemon</li>
845 <li class="button unknown_product">Unknown Product</li>
846 <li class="button invalid_ean">Invalid Ean</li>
847 <li class="button reference">Reference</li>
850 <p class="category">Unsent Orders</p>
852 <li class="button show_orders">Show All Unsent Orders</li>
853 <li class="button delete_orders">Delete All Unsent Orders</li>
856 <p class="category">Hardware Status</p>
858 <li class="status weighting">Weighting</li>
860 <p class="category">Hardware Events</p>
862 <li class="event open_cashbox">Open Cashbox</li>
863 <li class="event print_receipt">Print Receipt</li>
864 <li class="event scale_read">Read Weighting Scale</li>
871 <t t-name="Paymentline">
872 <div t-attf-class="paymentline #{line.selected ? 'selected' : ''}">
873 <div class='paymentline-name'>
874 <t t-esc="line.name"/>
876 <input class='paymentline-input' type="number" step="0.01" t-att-value="line.get_amount().toFixed(2)" />
877 <span class='paymentline-delete'>
878 <img src="/point_of_sale/static/src/img/search_reset.gif" />
883 <t t-name="PaymentlineOld">
884 <tr t-attf-class="paymentline #{line.selected ? 'selected' : ''}">
885 <td class="paymentline-type">
886 <t t-esc="line.name"/>
888 <td class="paymentline-amount pos-right-align">
889 <input type="number" step="0.01" t-att-value="line.get_amount().toFixed(2)" />
890 <span class='delete-payment-line'><img src="/point_of_sale/static/src/img/search_reset.gif" /></span>
895 <t t-name="PaypadButtonWidget">
896 <button class="paypad-button" t-att-cash-register-id="widget.cashregister.id">
897 <t t-esc="widget.cashregister.journal.name"/>
901 <t t-name="OrderButtonWidget">
902 <span class="order-button select-order">
903 <t t-if='widget.selected'>
904 <span class='order-sequence'>
905 <t t-esc='widget.order.sequence_number' />
907 <t t-if="widget.order.get_client()">
908 <i class='fa fa-user'/>
910 <t t-esc="(widget.order.get_client() ? widget.order.get_client_name()+' : ':'Unknown Customer: ') + widget.order.get('creationDate').toString('t')"/>
912 <t t-if='!widget.selected'>
913 <span class='order-sequence'>
914 <t t-esc='widget.order.sequence_number' />
920 <t t-name="UsernameWidget">
921 <span class="username">
922 <t t-esc="widget.get_name()" />
926 <t t-name="PosTicket">
927 <div class="pos-sale-ticket">
929 <div class="pos-center-align"><t t-esc="new Date().toString(Date.CultureInfo.formatPatterns.shortDate + ' ' +
930 Date.CultureInfo.formatPatterns.longTime)"/> <t t-esc="order.get('name')"/></div>
932 <t t-esc="widget.pos.company.name"/><br />
933 Phone: <t t-esc="widget.pos.company.phone || ''"/><br />
934 User: <t t-esc="widget.pos.cashier ? widget.pos.cashier.name : widget.pos.user.name"/><br />
935 Shop: <t t-esc="widget.pos.shop.name"/><br />
937 <t t-if="widget.pos.config.receipt_header">
938 <div style='text-align:center'>
939 <t t-esc="widget.pos.config.receipt_header" />
949 <tr t-foreach="orderlines" t-as="orderline">
951 <t t-esc="orderline.get_product().display_name"/>
952 <t t-if="orderline.get_discount() > 0">
953 <div class="pos-disc-font">
954 With a <t t-esc="orderline.get_discount()"/>% discount
958 <td class="pos-right-align">
959 <t t-esc="orderline.get_quantity_str_with_unit()"/>
961 <td class="pos-right-align">
962 <t t-esc="widget.format_currency(orderline.get_display_price())"/>
970 <td class="pos-right-align">
971 <t t-esc="widget.format_currency(order.getSubtotal())"/>
974 <t t-foreach="order.getTaxDetails()" t-as="taxdetail">
976 <td><t t-esc="taxdetail.name" /></td>
977 <td class="pos-right-align">
978 <t t-esc="widget.format_currency(taxdetail.amount)" />
984 <td class="pos-right-align">
985 <t t-esc="widget.format_currency(order.getDiscountTotal())"/>
990 <td class="pos-right-align">
991 <t t-esc="widget.format_currency(order.getTotalTaxIncluded())"/>
997 <tr t-foreach="paymentlines" t-as="line">
999 <t t-esc="line.name"/>
1001 <td class="pos-right-align">
1002 <t t-esc="widget.format_currency(line.get_amount())"/>
1008 <tr><td>Change:</td><td class="pos-right-align">
1009 <t t-esc="widget.format_currency(order.getChange())"/>
1012 <t t-if="widget.pos.config.receipt_footer">
1014 <div style='text-align:center'>
1015 <t t-esc="widget.pos.config.receipt_footer" />
1021 <t t-name="ActionBarWidget">
1022 <div class="pos-actionbar">
1023 <ul class="pos-actionbar-button-list">
1028 <t t-name="ActionButtonWidget">
1029 <li t-att-class=" 'button '+ (widget.rightalign ? 'rightalign ' : '') + (widget.disabled ? 'disabled ' : '')">
1031 <t t-esc="widget.label" />
1036 <t t-name="ActionButtonWidgetWithIcon">
1037 <li t-att-class=" 'button '+ (widget.rightalign ? 'rightalign ' : '') + (widget.disabled ? 'disabled ' : '')">
1039 <img t-att-src="widget.icon" />
1040 <div class='iconlabel'><t t-esc="widget.label" /></div>
1045 <!-- Onscreen Keyboard :
1046 http://net.tutsplus.com/tutorials/javascript-ajax/creating-a-keyboard-with-css-and-jquery/ -->
1047 <t t-name="OnscreenKeyboardFull">
1048 <div class="keyboard_frame">
1049 <ul class="keyboard full_keyboard">
1050 <li class="symbol"><span class="off">`</span><span class="on">~</span></li>
1051 <li class="symbol"><span class="off">1</span><span class="on">!</span></li>
1052 <li class="symbol"><span class="off">2</span><span class="on">@</span></li>
1053 <li class="symbol"><span class="off">3</span><span class="on">#</span></li>
1054 <li class="symbol"><span class="off">4</span><span class="on">$</span></li>
1055 <li class="symbol"><span class="off">5</span><span class="on">%</span></li>
1056 <li class="symbol"><span class="off">6</span><span class="on">^</span></li>
1057 <li class="symbol"><span class="off">7</span><span class="on">&</span></li>
1058 <li class="symbol"><span class="off">8</span><span class="on">*</span></li>
1059 <li class="symbol"><span class="off">9</span><span class="on">(</span></li>
1060 <li class="symbol"><span class="off">0</span><span class="on">)</span></li>
1061 <li class="symbol"><span class="off">-</span><span class="on">_</span></li>
1062 <li class="symbol"><span class="off">=</span><span class="on">+</span></li>
1063 <li class="delete lastitem">delete</li>
1064 <li class="tab firstitem">tab</li>
1065 <li class="letter">q</li>
1066 <li class="letter">w</li>
1067 <li class="letter">e</li>
1068 <li class="letter">r</li>
1069 <li class="letter">t</li>
1070 <li class="letter">y</li>
1071 <li class="letter">u</li>
1072 <li class="letter">i</li>
1073 <li class="letter">o</li>
1074 <li class="letter">p</li>
1075 <li class="symbol"><span class="off">[</span><span class="on">{</span></li>
1076 <li class="symbol"><span class="off">]</span><span class="on">}</span></li>
1077 <li class="symbol lastitem"><span class="off">\</span><span class="on">|</span></li>
1078 <li class="capslock firstitem">caps lock</li>
1079 <li class="letter">a</li>
1080 <li class="letter">s</li>
1081 <li class="letter">d</li>
1082 <li class="letter">f</li>
1083 <li class="letter">g</li>
1084 <li class="letter">h</li>
1085 <li class="letter">j</li>
1086 <li class="letter">k</li>
1087 <li class="letter">l</li>
1088 <li class="symbol"><span class="off">;</span><span class="on">:</span></li>
1089 <li class="symbol"><span class="off">'</span><span class="on">"</span></li>
1090 <li class="return lastitem">return</li>
1091 <li class="left-shift firstitem">shift</li>
1092 <li class="letter">z</li>
1093 <li class="letter">x</li>
1094 <li class="letter">c</li>
1095 <li class="letter">v</li>
1096 <li class="letter">b</li>
1097 <li class="letter">n</li>
1098 <li class="letter">m</li>
1099 <li class="symbol"><span class="off">,</span><span class="on"><</span></li>
1100 <li class="symbol"><span class="off">.</span><span class="on">></span></li>
1101 <li class="symbol"><span class="off">/</span><span class="on">?</span></li>
1102 <li class="right-shift lastitem">shift</li>
1103 <li class="space firstitem lastitem">&nbsp;</li>
1105 <p class="close_button">close</p>
1109 <t t-name="OnscreenKeyboardSimple">
1110 <div class="keyboard_frame">
1111 <ul class="keyboard simple_keyboard">
1112 <li class="symbol firstitem row_qwerty"><span class="off">q</span><span class="on">1</span></li>
1113 <li class="symbol"><span class="off">w</span><span class="on">2</span></li>
1114 <li class="symbol"><span class="off">e</span><span class="on">3</span></li>
1115 <li class="symbol"><span class="off">r</span><span class="on">4</span></li>
1116 <li class="symbol"><span class="off">t</span><span class="on">5</span></li>
1117 <li class="symbol"><span class="off">y</span><span class="on">6</span></li>
1118 <li class="symbol"><span class="off">u</span><span class="on">7</span></li>
1119 <li class="symbol"><span class="off">i</span><span class="on">8</span></li>
1120 <li class="symbol"><span class="off">o</span><span class="on">9</span></li>
1121 <li class="symbol lastitem"><span class="off">p</span><span class="on">0</span></li>
1123 <li class="symbol firstitem row_asdf"><span class="off">a</span><span class="on">@</span></li>
1124 <li class="symbol"><span class="off">s</span><span class="on">#</span></li>
1125 <li class="symbol"><span class="off">d</span><span class="on">%</span></li>
1126 <li class="symbol"><span class="off">f</span><span class="on">*</span></li>
1127 <li class="symbol"><span class="off">g</span><span class="on">/</span></li>
1128 <li class="symbol"><span class="off">h</span><span class="on">-</span></li>
1129 <li class="symbol"><span class="off">j</span><span class="on">+</span></li>
1130 <li class="symbol"><span class="off">k</span><span class="on">(</span></li>
1131 <li class="symbol lastitem"><span class="off">l</span><span class="on">)</span></li>
1133 <li class="symbol firstitem row_zxcv"><span class="off">z</span><span class="on">?</span></li>
1134 <li class="symbol"><span class="off">x</span><span class="on">!</span></li>
1135 <li class="symbol"><span class="off">c</span><span class="on">"</span></li>
1136 <li class="symbol"><span class="off">v</span><span class="on">'</span></li>
1137 <li class="symbol"><span class="off">b</span><span class="on">:</span></li>
1138 <li class="symbol"><span class="off">n</span><span class="on">;</span></li>
1139 <li class="symbol"><span class="off">m</span><span class="on">,</span></li>
1140 <li class="delete lastitem">delete</li>
1142 <li class="numlock firstitem row_space"><span class="off">123</span><span class="on">ABC</span></li>
1143 <li class="space">&nbsp;</li>
1144 <li class="symbol"><span class="off">.</span><span class="on">.</span></li>
1145 <li class="return lastitem">return</li>
1147 <p class="close_button">close</p>