[FIX] point_of_sale: printing of tax name on hardware was missing data 'name', also...
[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                         <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>
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="control-buttons oe_hidden"></div>
39                                     <div class="placeholder-PaypadWidget"></div>
40                                     <div class="placeholder-NumpadWidget"></div>
41                                 </div>
42                             </div>
43                         </div>
44
45                         <div class='subwindow collapsed'>
46                             <div class='subwindow-container'>
47                                 <div class='subwindow-container-fix'>
48                                     <div class='placeholder-LeftActionBar'></div>
49                                 </div>
50                             </div>
51                         </div>
52                     </div>
53                 </div>
54
55                 <div class="rightpane">
56                     <div class='window'>
57                         <div class='subwindow'>
58                             <div class='subwindow-container'>
59                                 <div class='subwindow-container-fix screens'>
60                                 </div>
61                             </div>
62                         </div>
63
64                         <div class='subwindow collapsed'>
65                             <div class='subwindow-container'>
66                                 <div class='subwindow-container-fix'>
67                                     <div class='placeholder-RightActionBar'></div>
68                                 </div>
69                             </div>
70                         </div>
71                     </div>
72                 </div>
73
74                 <div class="placeholder-OnscreenKeyboardWidget"></div>
75             </div>
76
77             <div class="loader">
78                 <div class='loader-feedback oe_hidden'>
79                     <h1 class='message'>Loading</h1>
80                     <div class='progressbar'>
81                         <div class='progress' width='50%'></div>
82                     </div>
83                     <div class='oe_hidden button skip'>
84                         Skip
85                     </div>
86                 </div>
87             </div>
88
89             &lt;!--[if IE]&gt;
90             <div class='not-supported-browser'>
91                 <div class='message'>
92                     <img src='/point_of_sale/static/src/img/pos_screenshot.jpg' />
93                     <p>
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>. 
97                     </p>
98                 </div>
99             </div>
100             &lt;![endif]--&gt;
101         </div>
102     </t>
103
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>
109             </div>
110             <div class="js_connecting oe_icon oe_hidden">
111                 <i class='fa fa-fw fa-spin fa-spinner'></i>
112             </div>
113             <div class="js_disconnected oe_icon oe_red oe_hidden">
114                 <i class='fa fa-fw fa-rss'></i>
115             </div>
116         </div>
117     </t>
118
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>
124             </div>
125             <div class="js_connecting oe_icon oe_hidden">
126                 <i class='fa fa-fw fa-spin fa-spinner'></i>
127             </div>
128             <div class="js_warning oe_icon oe_orange oe_hidden">
129                 <i class='fa fa-fw fa-sitemap'></i>
130             </div>
131             <div class="js_disconnected oe_icon oe_red oe_hidden">
132                 <i class='fa fa-fw fa-sitemap'></i>
133             </div>
134         </div>
135     </t>
136
137     <t t-name="HeaderButtonWidget">
138         <div class="header-button">
139             <t t-esc="widget.label" />
140         </div>
141     </t>
142
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>
145     </t>
146
147     <t t-name="PaypadWidget">
148         <div class="paypad touch-scrollable">
149         </div>
150     </t>
151
152     <t t-name="NumpadWidget">
153         <div class="numpad">
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>
158             <br />
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>
163             <br />
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>
168             <br />
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" />
174             </button>
175             <br />
176         </div>
177     </t>
178
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" />
183             </div>
184             <div class="category-name">
185                 <t t-esc="category.name"/>
186             </div>
187         </span>
188     </t>
189
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"/>
193         </span>
194     </t>
195
196     <t t-name="ProductCategoriesWidget">
197         <div>
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" />
203                     </span>
204                 </span>
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"/>
210                         </span>
211                     </span>
212                 </t>
213             </div>
214             <div class="searchbox">
215                 <input placeholder="Search Products" />
216                 <span class="search-clear"></span>
217             </div>
218         </header>
219         <t t-if="widget.subcategories.length > 0">
220             <div class="categories">
221                 <div class="category-list">
222                 </div>
223             </div>
224         </t>
225         </div>
226     </t>
227
228     <t t-name="ProductListWidget">
229         <div class='product-list-container'>
230             <div class="product-list-scroller touch-scrollable">
231                 <div class="product-list">
232                 </div>
233             </div>
234             <span class="placeholder-ScrollbarWidget" />
235         </div>
236     </t>
237
238     <t t-name="ProductScreenWidget">
239         <div class="product-screen screen">
240             <table class="layout-table">
241
242                 <tr class="header-row">
243                     <td class="header-cell">
244                         <span class="placeholder-ProductCategoriesWidget" />
245                     </td>
246                 </tr>
247
248                 <tr class="content-row">
249                     <td class="content-cell">
250                         <div class="content-container">
251                             <span class="placeholder-ProductListWidget" />
252                         </div>
253                     </td>
254                 </tr>
255
256             </table>
257         </div>
258     </t>
259
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>
266                         Back
267                     </span>
268                     <h1 class='product-name'><t t-esc="widget.get_product_name()" /></h1>
269                 </div>
270                 <div class="centered-content">
271                     <div class='weight js-weight'>
272                         <t t-esc="widget.get_product_weight_string()" />
273                     </div>
274                     <div class='product-price'>
275                         <t t-esc="widget.format_currency(widget.get_product_price()) + '/Kg'" />
276                     </div>
277                     <div class='computed-price'>
278                         123.14 â‚¬
279                     </div>
280                     <div class='buy-product'>
281                         Order
282                         <i class='fa fa-angle-double-right'></i>
283                     </div>
284                 </div>
285             </div>
286         </div>
287     </t>
288
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>
294         </tr>
295     </t>
296
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>
302                 </t>
303                 <t t-if='partner.id'>
304                     <img t-att-src='widget.partner_icon_url(partner.id)' />
305                 </t>
306                 <input type='file' class='image-uploader'></input>   
307             </div>
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>
312             </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>
318                     </div>
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>
322                     </div>
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>
326                     </div>
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'/>
334                                 </option>
335                             </t>
336                         </select>
337                     </div>
338                 </div>
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>
343                     </div>
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>
347                     </div>
348                     <div class='client-detail'>
349                         <span class='label'>Barcode</span>
350                         <input class='detail barcode'       name='ean13'    t-att-value='partner.ean13 || ""'></input>
351                     </div>
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>
355                     </div>
356                 </div>
357             </div>
358         </section>
359     </t>
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)' />
364             </div>
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>
368             </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>
374                     </div>
375                     <div class='client-detail'>
376                         <span class='label'>Email</span>
377                         <span class='detail client-email'><t t-esc='partner.email' /></span>
378                     </div>
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>
383                         </t>
384                         <t t-if='!partner.phone'>
385                             <span class='detail client-phone empty'>N/A</span>
386                         </t>
387                     </div>
388                 </div>
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>
394                         </t>
395                         <t t-if='!partner.ean13'>
396                             <span class='detail client-id empty'>N/A</span>
397                         </t>
398                     </div>
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>
403                         </t>
404                         <t t-if='!partner.vat'>
405                             <span class='detail vat empty'>N/A</span>
406                         </t>
407                     </div>
408                 </div>
409             </div>
410         </section>
411     </t>
412
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>
419                         Cancel
420                     </span>
421                     <span class='searchbox'>
422                         <input placeholder='Search Customers' />
423                         <span class='search-clear'></span>
424                     </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>
429                     </span>
430                     <span class='button next oe_hidden highlight'>
431                         Select Customer
432                         <i class='fa fa-angle-double-right'></i>
433                     </span>
434                 </section>
435                 <section class="full-content">
436                     <div class='window'>
437                         <section class='subwindow collapsed'>
438                             <div class='subwindow-container'>
439                                 <div class='subwindow-container-fix client-details-contents'>
440                                 </div>
441                             </div>
442                         </section>
443                         <section class='subwindow'>
444                             <div class='subwindow-container'>
445                                 <div class='subwindow-container-fix touch-scrollable scrollable-y'>
446                                     <table class='client-list'>
447                                         <thead>
448                                             <tr>
449                                                 <th>Name</th>
450                                                 <th>Address</th>
451                                                 <th>Phone</th>
452                                             </tr>
453                                         </thead>
454                                         <tbody class='client-list-contents'>
455                                         </tbody>
456                                     </table>
457                                 </div>
458                             </div>
459                         </section>
460                     </div>
461                 </section>
462             </div>
463         </div>
464     </t>
465
466         
467
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'>
476                             Paid:
477                         </span>
478                         <span class="right-block payment-paid-total"></span>
479                     </div>
480                     <div class="infoline">
481                         <span class='left-block'>
482                             Remaining:
483                         </span>
484                         <span class="right-block payment-remaining"></span>
485                     </div>
486                     <div class="infoline bigger" >
487                         <span class='left-block'>
488                             Change:
489                         </span>
490                         <span class="right-block payment-change"></span>
491                     </div>
492                 </div>
493             </div>
494         </div>
495     </t>
496
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">
501                 </div>
502             </div>
503         </div>
504     </t>
505
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' />
510                 <br/>
511             </t>
512             <t t-if='!receipt.company.logo'>
513                 <h1><t t-esc='receipt.company.name' /></h1>
514                 <br/>
515             </t>
516             <div font='b'>
517                 <t t-if='receipt.shop.name'>
518                     <div><t t-esc='receipt.shop.name' /></div>
519                 </t>
520                 <t t-if='receipt.company.contact_address'>
521                     <div><t t-esc='receipt.company.contact_address' /></div>
522                 </t>
523                 <t t-if='receipt.company.phone'>
524                     <div>Tel:<t t-esc='receipt.company.phone' /></div>
525                 </t>
526                 <t t-if='receipt.company.vat'>
527                     <div>VAT:<t t-esc='receipt.company.vat' /></div>
528                 </t>
529                 <t t-if='receipt.company.email'>
530                     <div><t t-esc='receipt.company.email' /></div>
531                 </t>
532                 <t t-if='receipt.company.website'>
533                     <div><t t-esc='receipt.company.website' /></div>
534                 </t>
535                 <t t-if='receipt.header'>
536                     <div><t t-esc='receipt.header' /></div>
537                 </t>
538                 <t t-if='receipt.cashier'>
539                     <div>--------------------------------</div>
540                     <div>Served by <t t-esc='receipt.cashier' /></div>
541                 </t>
542             </div>
543             <br /><br />
544
545             <!-- Orderlines -->
546
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' />
550                     <t t-if='simple'>
551                         <line>
552                             <left><t t-esc='line.product_name' /></left>
553                             <right><value><t t-esc='line.price_display' /></value></right>
554                         </line>
555                     </t>
556                     <t t-if='!simple'>
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>
560                         </t>
561                         <line indent='1'>
562                             <left>
563                                 <value value-decimals='3' value-autoint='on'>
564                                     <t t-esc='line.quantity' />
565                                 </value>
566                                 <t t-if='line.unit_name !== "Unit(s)"'>
567                                     <t t-esc='line.unit_name' /> 
568                                 </t>
569                                 x 
570                                 <value value-decimals='2'>
571                                     <t t-esc='line.price' />
572                                 </value>
573                             </left>
574                             <right>
575                                 <value><t t-esc='line.price_display' /></value>
576                             </right>
577                         </line>
578                     </t>
579                 </t>
580             </div>
581
582             <!-- Subtotal -->
583
584             <t t-set='taxincluded' t-value='Math.abs(receipt.subtotal - receipt.total_with_tax) &lt;= 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'>
589                     <line>
590                         <left><t t-esc='tax.name' /></left>
591                         <right><value><t t-esc='tax.amount' /></value></right>
592                     </line>
593                 </t>
594             </t>
595
596             <!-- Total -->
597
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>
602             </line>
603             <br/><br/>
604
605             <!-- Payment Lines -->
606
607             <t t-foreach='receipt.paymentlines' t-as='line'>
608                 <line>
609                     <left><t t-esc='line.journal' /></left>
610                     <right><value><t t-esc='line.amount'/></value></right>
611                 </line>
612             </t>
613             <br/> 
614
615             <line size='double-height'>
616                 <left><pre>        CHANGE</pre></left>
617                 <right><value><t t-esc='receipt.change' /></value></right>
618             </line>
619             <br/>
620             
621             <!-- Extra Payment Info -->
622
623             <t t-if='receipt.total_discount'>
624                 <line>
625                     <left>Discounts</left>
626                     <right><value><t t-esc='receipt.total_discount'/></value></right>
627                 </line>
628             </t>
629             <t t-if='taxincluded'>
630                 <t t-foreach='receipt.tax_details' t-as='tax'>
631                     <line>
632                         <left><t t-esc='tax.name' /></left>
633                         <right><value><t t-esc='tax.amount' /></value></right>
634                     </line>
635                 </t>
636             </t>
637
638             <!-- Footer -->
639             <t t-if='receipt.footer'>
640                 <br/>
641                 <pre><t t-esc='receipt.footer' /></pre>
642                 <br/>
643                 <br/>
644             </t>
645
646             <br/>
647             <div font='b'>
648                 <div><t t-esc='receipt.name' /></div>
649                 <div><t t-esc='receipt.date.localestring' /></div>
650             </div>
651
652         </receipt>
653     </t>
654
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>
660                 <div class="footer">
661                     <div class="button">
662                         Ok
663                     </div>
664                 </div>
665             </div>
666         </div>
667     </t>
668
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>
674                 <div class="footer">
675                     <div class="button">
676                         Ok
677                     </div>
678                 </div>
679             </div>
680         </div>
681     </t>
682
683     <t t-name="ErrorBarcodePopupWidget">
684         <div class="modal-dialog">
685             <div class="popup popup-barcode">
686                 <p class="message">Unknown Barcode
687                     <br />
688                     <span class='barcode'><t t-esc="widget.barcode" /></span>
689                 </p>
690                 <p class="comment">
691                     The Point of Sale could not find any product, client, employee
692                     or action associated with the scanned barcode.
693                 </p>
694                 <div class="footer">
695                     <div class="button">
696                         Ok
697                     </div>
698                 </div>
699             </div>
700         </div>
701     </t>
702
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>
708                 <div class="footer">
709                     <div class="button confirm">
710                         Confirm 
711                     </div>
712                     <div class="button cancel">
713                         Cancel 
714                     </div>
715                 </div>
716             </div>
717         </div>
718     </t>
719
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'>
725                     <p class='comment'>
726                         There are no unsent orders
727                     </p>
728                 </t>
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)' />
732                     </p>
733                 </t>
734                 <div class="footer">
735                     <div class="button confirm">
736                         Ok
737                     </div>
738                 </div>
739             </div>
740         </div>
741     </t>
742
743     <t t-name="Product">
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)"/>
750                     </span>
751                 </t>
752                 <t t-if="product.to_weight">
753                     <span class="price-tag">
754                         <t t-esc="widget.format_currency(product.price)+'/Kg'"/>
755                     </span>
756                 </t>
757             </div>
758             <div class="product-name">
759                 <t t-esc="product.display_name"/>
760             </div>
761         </span>
762     </t>
763
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"/>
768             </span>
769             <span class="price">
770                 <t t-esc="widget.format_currency(line.get_display_price())"/>
771             </span>
772             <ul class="info-list">
773                 <t t-if="line.get_quantity_str() !== '1' || line.selected ">
774                     <li class="info">
775                         <em>
776                             <t t-esc="line.get_quantity_str()" />
777                         </em>
778                         <t t-esc="line.get_unit().name" />
779                         at
780                         <t t-esc="widget.format_currency(line.get_unit_price())" />
781                         /
782                         <t t-esc="line.get_unit().name" />
783                     </li>
784                 </t>
785                 <t t-if="line.get_discount_str() !== '0'">
786                     <li class="info">
787                         With a 
788                         <em>
789                             <t t-esc="line.get_discount_str()" />%
790                         </em>
791                         discount
792                     </li>
793                 </t>
794             </ul>
795         </li>
796     </t>
797
798     <t t-name="OrderWidget">
799         <div class="order-container">
800             <div class="order-scroller touch-scrollable">
801                 <div class="order">
802                     <ul class="orderlines">
803                         <t t-if="orderlines.length === 0">
804                             <li class="orderline empty">
805                                 Your shopping cart is empty
806                             </li>
807                         </t>
808                     </ul>
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>
814                             </div>
815                         </div>
816                     </div>
817                 </div>
818             </div>
819         </div>
820     </t>
821
822
823
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>
830                 <ul>
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>
834                 </ul>
835
836                 <p class="category">Barcode Scanner</p>
837                 <ul>
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>
848                 </ul>
849
850                 <p class="category">Unsent Orders</p>
851                 <ul>
852                     <li class="button show_orders">Show All Unsent Orders</li>
853                     <li class="button delete_orders">Delete All Unsent Orders</li>
854                 </ul>
855
856                 <p class="category">Hardware Status</p>
857                 <ul>
858                     <li class="status weighting">Weighting</li>
859                 </ul>
860                 <p class="category">Hardware Events</p>
861                 <ul>
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>
865                 </ul>
866             </div>
867         </div>
868     </t>
869
870
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"/>
875             </div>
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" />
879             </span>
880         </div>
881     </t>
882
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"/>
887             </td>
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>
891             </td>
892         </tr>
893     </t>
894
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"/>
898         </button>
899     </t>
900
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' />
906                 </span>
907                 <t t-if="widget.order.get_client()">
908                     <i class='fa fa-user'/>
909                 </t>
910                 <t t-esc="(widget.order.get_client() ? widget.order.get_client_name()+' : ':'Unknown Customer: ') + widget.order.get('creationDate').toString('t')"/>
911             </t>
912             <t t-if='!widget.selected'>
913                 <span class='order-sequence'>
914                     <t t-esc='widget.order.sequence_number' />
915                 </span>
916             </t>
917         </span>
918     </t>
919
920     <t t-name="UsernameWidget">
921         <span class="username">
922             <t t-esc="widget.get_name()" />
923         </span>
924     </t>
925
926     <t t-name="PosTicket">
927         <div class="pos-sale-ticket">
928             
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>
931             <br />
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 />
936             <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" />
940                 </div>
941                 <br />
942             </t>
943             <table>
944                 <colgroup>
945                     <col width='50%' />
946                     <col width='25%' />
947                     <col width='25%' />
948                 </colgroup>
949                 <tr t-foreach="orderlines" t-as="orderline">
950                     <td>
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
955                             </div>
956                         </t>
957                     </td>
958                     <td class="pos-right-align">
959                         <t t-esc="orderline.get_quantity_str_with_unit()"/>
960                     </td>
961                     <td class="pos-right-align">
962                         <t t-esc="widget.format_currency(orderline.get_display_price())"/>
963                     </td>
964                 </tr>
965             </table>
966             <br />
967             <table>
968                 <tr>
969                     <td>Subtotal:</td>
970                     <td class="pos-right-align">
971                         <t t-esc="widget.format_currency(order.getSubtotal())"/>
972                     </td>
973                 </tr>
974                 <t t-foreach="order.getTaxDetails()" t-as="taxdetail">
975                     <tr>
976                         <td><t t-esc="taxdetail.name" /></td>
977                         <td class="pos-right-align">
978                             <t t-esc="widget.format_currency(taxdetail.amount)" />
979                         </td>
980                     </tr>
981                 </t>
982                 <tr>
983                     <td>Discount:</td>
984                     <td class="pos-right-align">
985                         <t t-esc="widget.format_currency(order.getDiscountTotal())"/>
986                     </td>
987                 </tr>
988                 <tr class="emph">
989                     <td>Total:</td>
990                     <td class="pos-right-align">
991                         <t t-esc="widget.format_currency(order.getTotalTaxIncluded())"/>
992                     </td>
993                 </tr>
994             </table>
995             <br />
996             <table>
997                 <tr t-foreach="paymentlines" t-as="line">
998                     <td>
999                         <t t-esc="line.name"/>
1000                     </td>
1001                     <td class="pos-right-align">
1002                         <t t-esc="widget.format_currency(line.get_amount())"/>
1003                     </td>
1004                 </tr>
1005             </table>
1006             <br />
1007             <table>
1008                 <tr><td>Change:</td><td class="pos-right-align">
1009                     <t t-esc="widget.format_currency(order.getChange())"/>
1010                     </td></tr>
1011             </table>
1012             <t t-if="widget.pos.config.receipt_footer">
1013                 <br />
1014                 <div style='text-align:center'>
1015                     <t t-esc="widget.pos.config.receipt_footer" />
1016                 </div>
1017             </t>
1018         </div>
1019     </t>
1020
1021     <t t-name="ActionBarWidget">
1022         <div class="pos-actionbar">
1023             <ul class="pos-actionbar-button-list">
1024             </ul>
1025         </div>
1026     </t>
1027
1028     <t t-name="ActionButtonWidget">
1029         <li t-att-class=" 'button '+ (widget.rightalign  ? 'rightalign ' : '') + (widget.disabled ? 'disabled ' : '')">
1030             <div class='label'>
1031                 <t t-esc="widget.label" />
1032             </div>
1033         </li>
1034     </t>
1035
1036     <t t-name="ActionButtonWidgetWithIcon">
1037         <li t-att-class=" 'button '+ (widget.rightalign  ? 'rightalign ' : '') + (widget.disabled ? 'disabled ' : '')">
1038             <div class='icon'>
1039                 <img t-att-src="widget.icon" />
1040                 <div class='iconlabel'><t t-esc="widget.label" /></div>
1041             </div>
1042         </li>
1043     </t>
1044
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">&amp;</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">&quot;</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">&lt;</span></li>
1100                 <li class="symbol"><span class="off">.</span><span class="on">&gt;</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">&amp;nbsp;</li>
1104             </ul>
1105             <p class="close_button">close</p>
1106         </div>
1107     </t>
1108
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>
1122
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>
1132
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>
1141
1142                 <li class="numlock firstitem row_space"><span class="off">123</span><span class="on">ABC</span></li>
1143                 <li class="space">&amp;nbsp;</li>
1144                 <li class="symbol"><span class="off">.</span><span class="on">.</span></li>
1145                 <li class="return lastitem">return</li>
1146             </ul>
1147             <p class="close_button">close</p>
1148         </div>
1149     </t>
1150
1151 </templates>