[FIX] hw_escops, point_of_sale: backporting fixes from the pos-restaurant branch
[odoo/odoo.git] / addons / point_of_sale / static / src / xml / pos.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- vim:fdl=1:
3 -->
4 <templates id="template" xml:space="preserve">
5
6     <t t-name="PosWidget">
7         <div class="pos">
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>
12                 </div>
13                 <div class="pos-rightheader">
14                     <div class="order-selector">
15                         <button class="order-button square neworder-button"><img src='/point_of_sale/static/src/img/plus.png' /></button>
16                         <button class="order-button square deleteorder-button"><img src='/point_of_sale/static/src/img/minus.png' /></button>
17                         <span class="orders"></span>
18                     </div>
19                     <!-- here goes header buttons -->
20                 </div>
21             </div>
22
23             <div class="pos-content">
24
25                 <div class="pos-leftpane">
26                     <div class='window'>
27                         <div class='subwindow'>
28                             <div class='subwindow-container'>
29                                 <div class='subwindow-container-fix'>
30                                     <div class="placeholder-OrderWidget"></div>
31                                 </div>
32                             </div>
33                         </div>
34
35                         <div class='subwindow collapsed'>
36                             <div class='subwindow-container'>
37                                 <div class='subwindow-container-fix pads'>
38                                     <div class="placeholder-PaypadWidget"></div>
39                                     <div class="placeholder-NumpadWidget"></div>
40                                 </div>
41                             </div>
42                         </div>
43
44                         <div class='subwindow collapsed'>
45                             <div class='subwindow-container'>
46                                 <div class='subwindow-container-fix'>
47                                     <div class='placeholder-LeftActionBar'></div>
48                                 </div>
49                             </div>
50                         </div>
51                     </div>
52                 </div>
53
54                 <div class="rightpane">
55                     <div class='window'>
56                         <div class='subwindow'>
57                             <div class='subwindow-container'>
58                                 <div class='subwindow-container-fix screens'>
59                                 </div>
60                             </div>
61                         </div>
62
63                         <div class='subwindow collapsed'>
64                             <div class='subwindow-container'>
65                                 <div class='subwindow-container-fix'>
66                                     <div class='placeholder-RightActionBar'></div>
67                                 </div>
68                             </div>
69                         </div>
70                     </div>
71                 </div>
72
73                 <div class="placeholder-OnscreenKeyboardWidget"></div>
74             </div>
75
76             <div class="loader">
77                 <div class='loader-feedback oe_hidden'>
78                     <h1 class='message'>Loading</h1>
79                     <div class='progressbar'>
80                         <div class='progress' width='50%'></div>
81                     </div>
82                     <div class='oe_hidden button skip'>
83                         Skip
84                     </div>
85                 </div>
86             </div>
87
88             &lt;!--[if IE]&gt;
89             <div class='not-supported-browser'>
90                 <div class='message'>
91                     <img src='/point_of_sale/static/src/img/pos_screenshot.jpg' />
92                     <p>
93                         The Point of Sale is not supported by Microsoft Internet Explorer. Please use
94                         a modern browser like <a href="http://www.mozilla.org/firefox/" target="_blank">Mozilla Firefox</a> 
95                         or <a href="http://www.google.com/chrome" target="_blank">Google Chrome</a>. 
96                     </p>
97                 </div>
98             </div>
99             &lt;![endif]--&gt;
100         </div>
101     </t>
102
103     <t t-name="SynchNotificationWidget">
104         <div class="oe_status js_synch">
105             <span class='js_msg oe_hidden'>0</span>
106             <div class="js_connected oe_icon oe_green">
107                 <i class='fa fa-fw fa-rss'></i>
108             </div>
109             <div class="js_connecting oe_icon oe_hidden">
110                 <i class='fa fa-fw fa-spin fa-spinner'></i>
111             </div>
112             <div class="js_disconnected oe_icon oe_red oe_hidden">
113                 <i class='fa fa-fw fa-rss'></i>
114             </div>
115         </div>
116     </t>
117
118     <t t-name="ProxyStatusWidget">
119         <div class="oe_status js_proxy">
120             <span class='js_msg oe_orange oe_hidden'></span>
121             <div class="js_connected oe_icon oe_green">
122                 <i class='fa fa-fw fa-sitemap'></i>
123             </div>
124             <div class="js_connecting oe_icon oe_hidden">
125                 <i class='fa fa-fw fa-spin fa-spinner'></i>
126             </div>
127             <div class="js_warning oe_icon oe_orange oe_hidden">
128                 <i class='fa fa-fw fa-sitemap'></i>
129             </div>
130             <div class="js_disconnected oe_icon oe_red oe_hidden">
131                 <i class='fa fa-fw fa-sitemap'></i>
132             </div>
133         </div>
134     </t>
135
136     <t t-name="HeaderButtonWidget">
137         <div class="header-button">
138             <t t-esc="widget.label" />
139         </div>
140     </t>
141
142     <t t-name="PosCloseWarning">
143         <div>There are pending operations that could not be saved into the database, are you sure you want to exit?</div>
144     </t>
145
146     <t t-name="PaypadWidget">
147         <div class="paypad touch-scrollable">
148         </div>
149     </t>
150
151     <t t-name="NumpadWidget">
152         <div class="numpad">
153             <button class="input-button number-char">1</button>
154             <button class="input-button number-char">2</button>
155             <button class="input-button number-char">3</button>
156             <button class="mode-button" data-mode='quantity'>Qty</button>
157             <br />
158             <button class="input-button number-char">4</button>
159             <button class="input-button number-char">5</button>
160             <button class="input-button number-char">6</button>
161             <button class="mode-button" data-mode='discount'>Disc</button>
162             <br />
163             <button class="input-button number-char">7</button>
164             <button class="input-button number-char">8</button>
165             <button class="input-button number-char">9</button>
166             <button class="mode-button" data-mode='price'>Price</button>
167             <br />
168             <button class="input-button numpad-minus" >+/-</button>
169             <button class="input-button number-char">0</button>
170             <button class="input-button number-char">.</button>
171             <button class="input-button numpad-backspace">
172                 <img src="/point_of_sale/static/src/img/backspace.png" width="24" height="21" />
173             </button>
174             <br />
175         </div>
176     </t>
177
178     <t t-name="CategoryButton">
179         <span class='category-button js-category-switch' t-att-data-category-id="category.id" >
180             <div class="category-img">
181                 <img t-att-src="image_url" />
182             </div>
183             <div class="category-name">
184                 <t t-esc="category.name"/>
185             </div>
186         </span>
187     </t>
188
189     <t t-name="CategorySimpleButton">
190         <span class='category-simple-button js-category-switch' t-att-data-category-id="category.id" >
191             <t t-esc="category.name"/>
192         </span>
193     </t>
194
195     <t t-name="ProductCategoriesWidget">
196         <div>
197         <header class='rightpane-header'>
198             <div class="breadcrumbs">
199                 <span class="breadcrumb">
200                     <span class=" breadcrumb-button js-category-switch">
201                         <img src="/point_of_sale/static/src/img/home.png" class="breadcrumb-homeimg" />
202                     </span>
203                 </span>
204                 <t t-foreach="widget.breadcrumb" t-as="category">
205                     <span class="breadcrumb">
206                         <img src="/point_of_sale/static/src/img/bc-arrow-big.png" class="breadcrumb-arrow" />
207                         <span class="breadcrumb-button js-category-switch" t-att-data-category-id="category.id">
208                             <t t-esc="category.name"/>
209                         </span>
210                     </span>
211                 </t>
212             </div>
213             <div class="searchbox">
214                 <input placeholder="Search Products" />
215                 <span class="search-clear"></span>
216             </div>
217         </header>
218         <t t-if="widget.subcategories.length > 0">
219             <div class="categories">
220                 <div class="category-list">
221                 </div>
222             </div>
223         </t>
224         </div>
225     </t>
226
227     <t t-name="ProductListWidget">
228         <div class='product-list-container'>
229             <div class="product-list-scroller touch-scrollable">
230                 <div class="product-list">
231                 </div>
232             </div>
233             <span class="placeholder-ScrollbarWidget" />
234         </div>
235     </t>
236
237     <t t-name="ProductScreenWidget">
238         <div class="product-screen screen">
239             <table class="layout-table">
240
241                 <tr class="header-row">
242                     <td class="header-cell">
243                         <span class="placeholder-ProductCategoriesWidget" />
244                     </td>
245                 </tr>
246
247                 <tr class="content-row">
248                     <td class="content-cell">
249                         <div class="content-container">
250                             <span class="placeholder-ProductListWidget" />
251                         </div>
252                     </td>
253                 </tr>
254
255             </table>
256         </div>
257     </t>
258
259     <t t-name="ScaleScreenWidget">
260         <div class="scale-screen screen">
261             <div class="display">
262                 <span class="weight">
263                     <p>
264                         <span class='js-weight'>
265                             <t t-esc="widget.get_product_weight_string()" />
266                         </span>
267                     </p>
268                 </span>
269                 <span class="product-name">
270                     <t t-esc="widget.get_product_name()" />
271                 </span>
272                 <div class="product-picture">
273                     <span class="product-price">
274                         <t t-esc="widget.format_currency(widget.get_product_price()) + '/Kg'" />
275                     </span> 
276                     <t t-if="widget.get_product()">
277                         <img t-att-src="widget.get_product_image_url()" />
278                     </t>
279                 </div>
280             </div>
281         </div>
282     </t>
283
284     <t t-name="PaymentScreenWidget">
285         <div class="payment-screen screen touch-scrollable">
286             <div class="pos-payment-container">
287                 <div class='payment-due-total'></div>
288                 <div class='payment-lines'></div>
289                 <div class='payment-info'>
290                     <div class="infoline">
291                         <span class='left-block'>
292                             Paid:
293                         </span>
294                         <span class="right-block payment-paid-total"></span>
295                     </div>
296                     <div class="infoline">
297                         <span class='left-block'>
298                             Remaining:
299                         </span>
300                         <span class="right-block payment-remaining"></span>
301                     </div>
302                     <div class="infoline bigger" >
303                         <span class='left-block'>
304                             Change:
305                         </span>
306                         <span class="right-block payment-change"></span>
307                     </div>
308                 </div>
309             </div>
310         </div>
311     </t>
312
313     <t t-name="ReceiptScreenWidget">
314         <div class="receipt-screen screen touch-scrollable" >
315             <div class="pos-step-container">
316                 <div class="pos-receipt-container">
317                 </div>
318             </div>
319         </div>
320     </t>
321
322     <t t-name="XmlReceipt">
323         <receipt align='center' width='40' value-thousands-separator='' >
324             <t t-if='receipt.company.logo'>
325                 <img t-att-src='receipt.company.logo' />
326                 <br/>
327             </t>
328             <t t-if='!receipt.company.logo'>
329                 <h1><t t-esc='receipt.company.name' /></h1>
330                 <br/>
331             </t>
332             <div font='b'>
333                 <t t-if='receipt.shop.name'>
334                     <div><t t-esc='receipt.shop.name' /></div>
335                 </t>
336                 <t t-if='receipt.company.contact_address'>
337                     <div><t t-esc='receipt.company.contact_address' /></div>
338                 </t>
339                 <t t-if='receipt.company.phone'>
340                     <div>Tel:<t t-esc='receipt.company.phone' /></div>
341                 </t>
342                 <t t-if='receipt.company.vat'>
343                     <div>VAT:<t t-esc='receipt.company.vat' /></div>
344                 </t>
345                 <t t-if='receipt.company.email'>
346                     <div><t t-esc='receipt.company.email' /></div>
347                 </t>
348                 <t t-if='receipt.company.website'>
349                     <div><t t-esc='receipt.company.website' /></div>
350                 </t>
351                 <t t-if='receipt.header'>
352                     <div><t t-esc='receipt.header' /></div>
353                 </t>
354                 <t t-if='receipt.cashier'>
355                     <div>--------------------------------</div>
356                     <div>Served by <t t-esc='receipt.cashier' /></div>
357                 </t>
358             </div>
359             <br /><br />
360
361             <!-- Orderlines -->
362
363             <div line-ratio='0.6'>
364                 <t t-foreach='receipt.orderlines' t-as='line'>
365                     <t t-set='simple' t-value='line.discount === 0 and line.unit_name === "Unit(s)" and line.quantity === 1' />
366                     <t t-if='simple'>
367                         <line>
368                             <left><t t-esc='line.product_name' /></left>
369                             <right><value><t t-esc='line.price_display' /></value></right>
370                         </line>
371                     </t>
372                     <t t-if='!simple'>
373                         <line><left><t t-esc='line.product_name' /></left></line>
374                         <t t-if='line.discount !== 0'>
375                             <line indent='1'><left>Discount: <t t-esc='line.discount' />%</left></line>
376                         </t>
377                         <line indent='1'>
378                             <left>
379                                 <value value-decimals='3' autoint='on'>
380                                     <t t-esc='line.quantity' />
381                                 </value>
382                                 <t t-if='line.unit_name !== "Unit(s)"'>
383                                     <t t-esc='line.unit_name' /> 
384                                 </t>
385                                 x 
386                                 <value value-decimals='2'>
387                                     <t t-esc='line.price' />
388                                 </value>
389                             </left>
390                             <right>
391                                 <value><t t-esc='line.price_display' /></value>
392                             </right>
393                         </line>
394                     </t>
395                 </t>
396             </div>
397
398             <!-- Subtotal -->
399
400             <t t-set='taxincluded' t-value='Math.abs(receipt.subtotal - receipt.total_with_tax) &lt;= 0.000001' />
401             <t t-if='!taxincluded'>
402                 <line><right>--------</right></line>
403                 <line><left>Subtotal</left><right> <value><t t-esc="receipt.subtotal" /></value></right></line>
404                 <t t-foreach='receipt.tax_details' t-as='tax'>
405                     <line>
406                         <left><t t-esc='tax.name' /></left>
407                         <right><value><t t-esc='tax.amount' /></value></right>
408                     </line>
409                 </t>
410             </t>
411
412             <!-- Total -->
413
414             <line><right>--------</right></line>
415             <line size='double-height'>
416                 <left><pre>        TOTAL</pre></left>
417                 <right><value><t t-esc='receipt.total_with_tax' /></value></right>
418             </line>
419             <br/><br/>
420
421             <!-- Payment Lines -->
422
423             <t t-foreach='receipt.paymentlines' t-as='line'>
424                 <line>
425                     <left><t t-esc='line.journal' /></left>
426                     <right><value><t t-esc='line.amount'/></value></right>
427                 </line>
428             </t>
429             <br/> 
430
431             <line size='double-height'>
432                 <left><pre>        CHANGE</pre></left>
433                 <right><value><t t-esc='receipt.change' /></value></right>
434             </line>
435             <br/>
436             
437             <!-- Extra Payment Info -->
438
439             <t t-if='receipt.total_discount'>
440                 <line>
441                     <left>Discounts</left>
442                     <right><value><t t-esc='receipt.total_discount'/></value></right>
443                 </line>
444             </t>
445             <t t-if='taxincluded'>
446                 <t t-foreach='receipt.tax_details' t-as='tax'>
447                     <line>
448                         <left><t t-esc='tax.name' /></left>
449                         <right><value><t t-esc='tax.amount' /></value></right>
450                     </line>
451                 </t>
452             </t>
453
454             <!-- Footer -->
455             <t t-if='receipt.footer'>
456                 <br/>
457                 <pre><t t-esc='receipt.footer' /></pre>
458                 <br/>
459                 <br/>
460             </t>
461
462             <br/>
463             <div font='b'>
464                 <div><t t-esc='receipt.name' /></div>
465                 <div><t t-esc='receipt.date.localestring' /></div>
466             </div>
467
468         </receipt>
469     </t>
470
471     <t t-name="WelcomeScreenWidget">
472         <div class="welcome-screen screen">
473             <header class='rightpane-header'><h2>Welcome</h2></header>
474             <div class="dialog">
475             <img src="/point_of_sale/static/src/img/scan.png" />
476             <p> Please scan an item or your member card </p>
477             </div>
478         </div>
479         <div class="goodbye-message">
480             <p>Thank you for shopping with us.</p>
481         </div>
482     </t>
483
484
485     <t t-name="ScanProductScreenWidget">
486         <div class="scan-product-screen screen touch-scrollable">
487             <header class='rightpane-header'><h2>Please scan an item</h2></header>
488             <img src="/point_of_sale/static/src/img/scan.png" />
489         </div>
490     </t>
491
492     <t t-name="ClientPaymentScreenWidget">
493         <div class="scan-product-screen screen">
494             <header class='rightpane-header'><h2>Payment</h2></header>
495             <div class="dialog">
496                 <img src="/point_of_sale/static/src/img/bancontact.png" />
497                 <p>Please insert your card in the reader and follow the instructions to complete
498             your purchase</p>
499             </div>
500         </div>
501     </t>
502
503     <t t-name="ScaleInviteScreenWidget">
504         <div class="scale-invite-screen screen">
505             <header class='rightpane-header'><h2>Please put your product on the scale</h2></header>
506             <img src="/point_of_sale/static/src/img/scale.png" />
507         </div>
508     </t>
509
510     <t t-name="HelpPopupWidget">
511         <div class="modal-dialog">
512             <div class="popup popup-help">
513                 <p class="message">Please be patient, help is on the way</p>
514                 <div class="footer">
515                     <div class="button">
516                         Cancel
517                     </div>
518                 </div>
519             </div>
520         </div>
521     </t>
522
523     <t t-name="ChooseReceiptPopupWidget">
524         <div class="modal-dialog">
525             <div class="popup popup-help">
526                 <p class="message">Welcome <t t-esc="widget.get_client_name()" /><br /> Choose your type of receipt:</p>
527                 <div class = "button big-left receipt">
528                     Ticket
529                 </div>
530                 <div class = "button big-right invoice">
531                     Invoice
532                 </div>
533             </div>
534         </div>
535     </t>
536
537     <t t-name="ProductErrorPopupWidget">
538         <div class="modal-dialog">
539             <div class="popup popup-help">
540                 <p class="message">The scanned product was not recognized<br /> Please wait, a cashier is on the way</p>
541                 <div class="footer">
542                     <div class="button">
543                         Ok
544                     </div>
545                 </div>
546             </div>
547         </div>
548     </t>
549
550     <t t-name="ErrorSessionPopupWidget">
551         <div class="modal-dialog">
552             <div class="popup popup-help">
553                 <p class="message">Sorry, we could not create a session for this user.</p>
554             </div>
555         </div>
556     </t>
557
558     <t t-name="ErrorNegativePricePopupWidget">
559         <div class="modal-dialog">
560             <div class="popup popup-help">
561                 <p class="message">Your order has to be validated by a cashier.</p>
562             </div>
563         </div>
564     </t>
565
566     <t t-name="ErrorNoClientPopupWidget">
567         <div class="modal-dialog">
568             <div class="popup popup-help">
569                 <p class="message">An anonymous order cannot be invoiced</p>
570                 <div class="footer">
571                     <div class="button">
572                         Ok
573                     </div>
574                 </div>
575             </div>
576         </div>
577     </t>
578
579     <t t-name="ErrorInvoiceTransferPopupWidget">
580         <div class="modal-dialog">
581             <div class="popup popup-help">
582                 <p class="message">The Order could not be sent to the server for invoicing. Invoices cannot be generated
583                     in offline mode. Please check your internet connection and try again.</p>
584                 <div class="footer">
585                     <div class="button">
586                         Ok
587                     </div>
588                 </div>
589             </div>
590         </div>
591     </t>
592
593     <t t-name="ErrorPopupWidget">
594         <div class="modal-dialog">
595             <div class="popup popup-help">
596                 <p class="message"><t t-esc=" widget.message || 'Error' " /></p>
597                 <p class="comment"><t t-esc=" widget.comment || '' "/></p>
598             </div>
599         </div>
600     </t>
601
602     <t t-name="Product">
603         <span class='product' t-att-data-product-id="product.id">
604             <div class="product-img">
605                 <img t-att-src='image_url' /> 
606                 <t t-if="!product.to_weight">
607                     <span class="price-tag">
608                         <t t-esc="widget.format_currency(product.price)"/>
609                     </span>
610                 </t>
611                 <t t-if="product.to_weight">
612                     <span class="price-tag">
613                         <t t-esc="widget.format_currency(product.price)+'/Kg'"/>
614                     </span>
615                 </t>
616             </div>
617             <div class="product-name">
618                 <t t-esc="product.name"/>
619             </div>
620         </span>
621     </t>
622
623     <t t-name="OrderWidget">
624         <div class="order-container">
625             <div class="order-scroller touch-scrollable">
626                 <div class="order">
627                     <ul class="orderlines">
628                         <t t-if="orderlines.length === 0">
629                             <li class="orderline empty">
630                                 Your shopping cart is empty
631                             </li>
632                         </t>
633                     </ul>
634                     <div class="summary clearfix">
635                         <div t-attf-class="line #{orderlines.length === 0 ? 'empty' : ''}">
636                             <div class='entry total'>
637                                 <span class="label">Total: </span> <span class="value">0.00 â‚¬</span>
638                                 <div class='subentry'>Taxes: <span class="value">0.00€</span></div>
639                             </div>
640                         </div>
641                         <div class='clear'></div>
642                     </div>
643                 </div>
644             </div>
645         </div>
646     </t>
647
648     <t t-name="DebugWidget">
649         <div class="debug-widget">
650             <h1>Debug Window</h1>
651             <div class="toggle">â–¾</div>
652             <div class="content">
653                 <p class="category">Payment Terminal</p>
654
655                 <ul>
656                     <li class="button accept_payment">Accept Payment</li>
657                     <li class="button reject_payment">Reject Payment</li>
658                 </ul>
659                 <p class="category">Electronic Scale</p>
660                 <ul>
661                     <li><input type="text" class="weight"></input></li>
662                     <li class="button set_weight">Set Weight</li>
663                     <li class="button reset_weight">Reset</li>
664                 </ul>
665
666                 <p class="category">Barcode Scanner</p>
667                 <ul>
668                     <li><input type="text" class="ean"></input></li>
669                     <li class="button custom_ean">Custom Ean13</li>
670                     <li class="button admin_badge">Admin Badge</li>
671                     <li class="button client_badge">Client Badge</li>
672                     <li class="button soda_33cl">Soda 33cl</li>
673                     <li class="button oranges_kg">3.141Kg Oranges</li>
674                     <li class="button lemon_price">1.54€ Lemon</li>
675                     <li class="button unknown_product">Unknown Product</li>
676                     <li class="button invalid_ean">Invalid Ean</li>
677                     <li class="button reference">Reference</li>
678                 </ul>
679
680                 <p class="category">Hardware Status</p>
681                 <ul>
682                     <li class="status help_needed">Help needed</li>
683                     <li class="status weighting">Weighting</li>
684                     <li class="status transaction">In Transaction</li>
685                 </ul>
686                 <p class="category">Hardware Events</p>
687                 <ul>
688                     <li class="event scan_item_success">Scan Item Success</li>
689                     <li class="event scan_item_error_unrecognized">Scan Item Unrecognized</li>
690                     <li class="event payment_request">Payment Request</li>
691                     <li class="event payment_status">Payment Status</li>
692                     <li class="event open_cashbox">Open Cashbox</li>
693                     <li class="event print_receipt">Print Receipt</li>
694                     <li class="event print_pdf_invoice">Print Invoice</li>
695                     <li class="event weighting_read_kg">Read Weighting Scale</li>
696                 </ul>
697             </div>
698         </div>
699     </t>
700
701     <t t-name="Orderline">
702         <li t-attf-class="orderline #{ line.selected ? 'selected' : '' }">
703             <span class="product-name">
704                 <t t-esc="line.get_product().name"/>
705             </span>
706             <span class="price">
707                 <t t-esc="widget.format_currency(line.get_display_price())"/>
708             </span>
709             <ul class="info-list">
710                 <t t-if="line.get_quantity_str() !== '1' || line.selected ">
711                     <li class="info">
712                         <em>
713                             <t t-esc="line.get_quantity_str()" />
714                         </em>
715                         <t t-esc="line.get_unit().name" />
716                         at
717                         <t t-esc="widget.format_currency(line.get_unit_price())" />
718                         /
719                         <t t-esc="line.get_unit().name" />
720                     </li>
721                 </t>
722                 <t t-if="line.get_discount_str() !== '0'">
723                     <li class="info">
724                         With a 
725                         <em>
726                             <t t-esc="line.get_discount_str()" />%
727                         </em>
728                         discount
729                     </li>
730                 </t>
731             </ul>
732         </li>
733     </t>
734
735     <t t-name="Paymentline">
736         <div t-attf-class="paymentline #{line.selected ? 'selected' : ''}">
737             <div class='paymentline-name'>
738                 <t t-esc="line.name"/>
739             </div>
740             <input class='paymentline-input' type="number" step="0.01" t-att-value="line.get_amount().toFixed(2)" />
741             <span  class='paymentline-delete'>
742                 <img src="/point_of_sale/static/src/img/search_reset.gif" />
743             </span>
744         </div>
745     </t>
746
747     <t t-name="PaymentlineOld">
748         <tr t-attf-class="paymentline #{line.selected ? 'selected' : ''}">
749             <td class="paymentline-type">
750                 <t t-esc="line.name"/>
751             </td>
752             <td class="paymentline-amount pos-right-align">
753                 <input type="number" step="0.01" t-att-value="line.get_amount().toFixed(2)" />
754                 <span class='delete-payment-line'><img src="/point_of_sale/static/src/img/search_reset.gif" /></span>
755             </td>
756         </tr>
757     </t>
758
759     <t t-name="PaypadButtonWidget">
760         <button class="paypad-button" t-att-cash-register-id="widget.cashregister.id">
761             <t t-esc="widget.cashregister.journal.name"/>
762         </button>
763     </t>
764
765     <t t-name="OrderButtonWidget">
766         <button class="order-button select-order"><t t-esc="(widget.order.get_client() ? widget.order.get_client_name()+' : ':'') + widget.order.get('creationDate').toString('t')"/></button>
767     </t>
768
769     <t t-name="UsernameWidget">
770         <span class="username">
771             <t t-esc="widget.get_name()" />
772         </span>
773     </t>
774
775     <t t-name="PosTicket">
776         <div class="pos-sale-ticket">
777             
778             <div class="pos-center-align"><t t-esc="new Date().toString(Date.CultureInfo.formatPatterns.shortDate + ' ' +
779                 Date.CultureInfo.formatPatterns.longTime)"/> <t t-esc="order.get('name')"/></div>
780             <br />
781             <t t-esc="widget.pos.company.name"/><br />
782             Phone: <t t-esc="widget.pos.company.phone || ''"/><br />
783             User: <t t-esc="widget.pos.user.name"/><br />
784             Shop: <t t-esc="widget.pos.shop.name"/><br />
785             <br />
786             <t t-if="widget.pos.config.receipt_header">
787                 <div style='text-align:center'>
788                     <t t-esc="widget.pos.config.receipt_header" />
789                 </div>
790                 <br />
791             </t>
792             <table>
793                 <colgroup>
794                     <col width='50%' />
795                     <col width='25%' />
796                     <col width='25%' />
797                 </colgroup>
798                 <tr t-foreach="orderlines" t-as="orderline">
799                     <td>
800                         <t t-esc="orderline.get_product().name"/>
801                          <t t-if="orderline.get_discount() > 0">
802                             <div class="pos-disc-font">
803                                 With a <t t-esc="orderline.get_discount()"/>% discount
804                             </div>
805                         </t>
806                     </td>
807                     <td class="pos-right-align">
808                         <t t-esc="orderline.get_quantity_str_with_unit()"/>
809                     </td>
810                     <td class="pos-right-align">
811                         <t t-esc="widget.format_currency(orderline.get_display_price())"/>
812                     </td>
813                 </tr>
814             </table>
815             <br />
816             <table>
817                 <tr>
818                     <td>Subtotal:</td>
819                     <td class="pos-right-align">
820                         <t t-esc="widget.format_currency(order.getSubtotal())"/>
821                     </td>
822                 </tr>
823                 <t t-foreach="order.getTaxDetails()" t-as="taxdetail">
824                     <tr>
825                         <td><t t-esc="taxdetail.tax.name" /></td>
826                         <td class="pos-right-align">
827                             <t t-esc="widget.format_currency(taxdetail.amount)" />
828                         </td>
829                     </tr>
830                 </t>
831                 <tr>
832                     <td>Discount:</td>
833                     <td class="pos-right-align">
834                         <t t-esc="widget.format_currency(order.getDiscountTotal())"/>
835                     </td>
836                 </tr>
837                 <tr class="emph">
838                     <td>Total:</td>
839                     <td class="pos-right-align">
840                         <t t-esc="widget.format_currency(order.getTotalTaxIncluded())"/>
841                     </td>
842                 </tr>
843             </table>
844             <br />
845             <table>
846                 <tr t-foreach="paymentlines" t-as="line">
847                     <td>
848                         <t t-esc="line.name"/>
849                     </td>
850                     <td class="pos-right-align">
851                         <t t-esc="widget.format_currency(line.get_amount())"/>
852                     </td>
853                 </tr>
854             </table>
855             <br />
856             <table>
857                 <tr><td>Change:</td><td class="pos-right-align">
858                     <t t-esc="widget.format_currency(order.getChange())"/>
859                     </td></tr>
860             </table>
861             <t t-if="widget.pos.config.receipt_footer">
862                 <br />
863                 <div style='text-align:center'>
864                     <t t-esc="widget.pos.config.receipt_footer" />
865                 </div>
866             </t>
867         </div>
868     </t>
869
870     <t t-name="ActionBarWidget">
871         <div class="pos-actionbar">
872             <ul class="pos-actionbar-button-list">
873             </ul>
874         </div>
875     </t>
876
877     <t t-name="ActionButtonWidget">
878         <li t-att-class=" 'button '+ (widget.rightalign  ? 'rightalign ' : '') + (widget.disabled ? 'disabled ' : '')">
879             <div class='label'>
880                 <t t-esc="widget.label" />
881             </div>
882         </li>
883     </t>
884
885     <t t-name="ActionButtonWidgetWithIcon">
886         <li t-att-class=" 'button '+ (widget.rightalign  ? 'rightalign ' : '') + (widget.disabled ? 'disabled ' : '')">
887             <div class='icon'>
888                 <img t-att-src="widget.icon" />
889                 <div class='iconlabel'><t t-esc="widget.label" /></div>
890             </div>
891         </li>
892     </t>
893
894     <!-- Onscreen Keyboard : 
895          http://net.tutsplus.com/tutorials/javascript-ajax/creating-a-keyboard-with-css-and-jquery/ -->
896     <t t-name="OnscreenKeyboardFull">
897         <div class="keyboard_frame">
898             <ul class="keyboard full_keyboard">
899                 <li class="symbol"><span class="off">`</span><span class="on">~</span></li>
900                 <li class="symbol"><span class="off">1</span><span class="on">!</span></li>
901                 <li class="symbol"><span class="off">2</span><span class="on">@</span></li>
902                 <li class="symbol"><span class="off">3</span><span class="on">#</span></li>
903                 <li class="symbol"><span class="off">4</span><span class="on">$</span></li>
904                 <li class="symbol"><span class="off">5</span><span class="on">%</span></li>
905                 <li class="symbol"><span class="off">6</span><span class="on">^</span></li>
906                 <li class="symbol"><span class="off">7</span><span class="on">&amp;</span></li>
907                 <li class="symbol"><span class="off">8</span><span class="on">*</span></li>
908                 <li class="symbol"><span class="off">9</span><span class="on">(</span></li>
909                 <li class="symbol"><span class="off">0</span><span class="on">)</span></li>
910                 <li class="symbol"><span class="off">-</span><span class="on">_</span></li>
911                 <li class="symbol"><span class="off">=</span><span class="on">+</span></li>
912                 <li class="delete lastitem">delete</li>
913                 <li class="tab firstitem">tab</li>
914                 <li class="letter">q</li>
915                 <li class="letter">w</li>
916                 <li class="letter">e</li>
917                 <li class="letter">r</li>
918                 <li class="letter">t</li>
919                 <li class="letter">y</li>
920                 <li class="letter">u</li>
921                 <li class="letter">i</li>
922                 <li class="letter">o</li>
923                 <li class="letter">p</li>
924                 <li class="symbol"><span class="off">[</span><span class="on">{</span></li>
925                 <li class="symbol"><span class="off">]</span><span class="on">}</span></li>
926                 <li class="symbol lastitem"><span class="off">\</span><span class="on">|</span></li>
927                 <li class="capslock firstitem">caps lock</li>
928                 <li class="letter">a</li>
929                 <li class="letter">s</li>
930                 <li class="letter">d</li>
931                 <li class="letter">f</li>
932                 <li class="letter">g</li>
933                 <li class="letter">h</li>
934                 <li class="letter">j</li>
935                 <li class="letter">k</li>
936                 <li class="letter">l</li>
937                 <li class="symbol"><span class="off">;</span><span class="on">:</span></li>
938                 <li class="symbol"><span class="off">'</span><span class="on">&quot;</span></li>
939                 <li class="return lastitem">return</li>
940                 <li class="left-shift firstitem">shift</li>
941                 <li class="letter">z</li>
942                 <li class="letter">x</li>
943                 <li class="letter">c</li>
944                 <li class="letter">v</li>
945                 <li class="letter">b</li>
946                 <li class="letter">n</li>
947                 <li class="letter">m</li>
948                 <li class="symbol"><span class="off">,</span><span class="on">&lt;</span></li>
949                 <li class="symbol"><span class="off">.</span><span class="on">&gt;</span></li>
950                 <li class="symbol"><span class="off">/</span><span class="on">?</span></li>
951                 <li class="right-shift lastitem">shift</li>
952                 <li class="space firstitem lastitem">&amp;nbsp;</li>
953             </ul>
954             <p class="close_button">close</p>
955         </div>
956     </t>
957
958     <t t-name="OnscreenKeyboardSimple">
959         <div class="keyboard_frame">
960             <ul class="keyboard simple_keyboard">
961                 <li class="symbol firstitem row_qwerty"><span class="off">q</span><span class="on">1</span></li>
962                 <li class="symbol"><span class="off">w</span><span class="on">2</span></li>
963                 <li class="symbol"><span class="off">e</span><span class="on">3</span></li>
964                 <li class="symbol"><span class="off">r</span><span class="on">4</span></li>
965                 <li class="symbol"><span class="off">t</span><span class="on">5</span></li>
966                 <li class="symbol"><span class="off">y</span><span class="on">6</span></li>
967                 <li class="symbol"><span class="off">u</span><span class="on">7</span></li>
968                 <li class="symbol"><span class="off">i</span><span class="on">8</span></li>
969                 <li class="symbol"><span class="off">o</span><span class="on">9</span></li>
970                 <li class="symbol lastitem"><span class="off">p</span><span class="on">0</span></li>
971
972                 <li class="symbol firstitem row_asdf"><span class="off">a</span><span class="on">@</span></li>
973                 <li class="symbol"><span class="off">s</span><span class="on">#</span></li>
974                 <li class="symbol"><span class="off">d</span><span class="on">%</span></li>
975                 <li class="symbol"><span class="off">f</span><span class="on">*</span></li>
976                 <li class="symbol"><span class="off">g</span><span class="on">/</span></li>
977                 <li class="symbol"><span class="off">h</span><span class="on">-</span></li>
978                 <li class="symbol"><span class="off">j</span><span class="on">+</span></li>
979                 <li class="symbol"><span class="off">k</span><span class="on">(</span></li>
980                 <li class="symbol lastitem"><span class="off">l</span><span class="on">)</span></li>
981
982                 <li class="symbol firstitem row_zxcv"><span class="off">z</span><span class="on">?</span></li>
983                 <li class="symbol"><span class="off">x</span><span class="on">!</span></li>
984                 <li class="symbol"><span class="off">c</span><span class="on">"</span></li>
985                 <li class="symbol"><span class="off">v</span><span class="on">'</span></li>
986                 <li class="symbol"><span class="off">b</span><span class="on">:</span></li>
987                 <li class="symbol"><span class="off">n</span><span class="on">;</span></li>
988                 <li class="symbol"><span class="off">m</span><span class="on">,</span></li>
989                 <li class="delete lastitem">delete</li>
990
991                 <li class="numlock firstitem row_space"><span class="off">123</span><span class="on">ABC</span></li>
992                 <li class="space">&amp;nbsp;</li>
993                 <li class="symbol"><span class="off">.</span><span class="on">.</span></li>
994                 <li class="return lastitem">return</li>
995             </ul>
996             <p class="close_button">close</p>
997         </div>
998     </t>
999
1000 </templates>