1 <?xml version="1.0" encoding="UTF-8"?>
4 <templates id="template" xml:space="preserve">
6 <div class="point-of-sale">
9 <img src="/point_of_sale/static/src/img/logo.png" />
12 <span class="oe_pos_synch-notification"></span>
13 <button>Close</button>
15 <div id="rightheader">
16 <div id="order-selector">
17 <button id="neworder-button">+</button>
25 <div id="placeholder-OrderWidget"></div>
31 <t t-if="widget.currency.position === 'before'" t-esc="widget.currency.symbol"/>
32 <span id="subtotal">0</span>
33 <t t-if="widget.currency.position === 'after'" t-esc="widget.currency.symbol"/>
38 <t t-if="widget.currency.position === 'before'" t-esc="widget.currency.symbol"/>
39 <span id="tax">0</span>
40 <t t-if="widget.currency.position === 'after'" t-esc="widget.currency.symbol"/>
45 <t t-if="widget.currency.position === 'before'" t-esc="widget.currency.symbol"/>
46 <span id="total">0</span>
47 <t t-if="widget.currency.position === 'after'" t-esc="widget.currency.symbol"/>
51 <div id="placeholder-PaypadWidget"></div>
52 <div id="placeholder-NumpadWidget"></div>
61 <t t-name="OrderWidget">
62 <div id="current-order">
73 <tbody id="current-order-content"></tbody>
77 <t t-name="pos-synch-notification">
79 <a t-if="widget.nbr_pending > 0" href="javascript:void(0)" class="oe_pos_synch-notification-button">
80 <t t-esc="widget.nbr_pending"/> pending orders
84 <t t-name="pos-scan-warning">
85 <div>The product could not be recognized. Please contact an employee.</div>
87 <t t-name="pos-close-warning">
88 <div>There are pending operations that could not be saved into the database, are you sure you want to exit?</div>
90 <t t-name="PaypadWidget">
94 <t t-name="NumpadWidget">
96 <button class="input-button number-char">1</button>
97 <button class="input-button number-char">2</button>
98 <button class="input-button number-char">3</button>
99 <button class="mode-button" data-mode='quantity'>Qty</button>
101 <button class="input-button number-char">4</button>
102 <button class="input-button number-char">5</button>
103 <button class="input-button number-char">6</button>
104 <button class="mode-button" data-mode='discount'>Disc</button>
106 <button class="input-button number-char">7</button>
107 <button class="input-button number-char">8</button>
108 <button class="input-button number-char">9</button>
109 <button class="mode-button" data-mode='list_price'>Price</button>
111 <button class="input-button" id="numpad-minus" >+/-</button>
112 <button class="input-button number-char">0</button>
113 <button class="input-button number-char">.</button>
114 <button class="input-button" id="numpad-backspace">
115 <img src="/point_of_sale/static/src/img/backspace.png" width="24" height="21" />
121 <!-- ************ SEARCH PRODUCT SCREEN ************ -->
123 <t t-name="ProductCategoriesWidget">
125 <ol class="breadcrumb">
126 <li class="oe-pos-categories-list">
127 <a href="javascript:void(0)">
128 <img src="/point_of_sale/static/src/img/home.png" class="homeimg" />
131 <t t-foreach="breadcrumb" t-as="category">
132 <li class="oe-pos-categories-list">
133 <img src="/point_of_sale/static/src/img/bc-arrow.png" class="bc-arrow" />
134 <a href="javascript:void(0)" t-att-data-category-id="category.id">
135 <t t-esc="category.name"/>
140 <div class="searchbox">
141 <input placeholder="Search Products" />
142 <img class="search-clear" src="/point_of_sale/static/src/img/search_reset.gif" />
145 <div id="categories">
147 <t t-foreach="categories" t-as="category">
148 <li class="oe-pos-categories-list">
149 <a href="javascript:void(0)" t-att-data-category-id="category.id" class="button">
150 <t t-esc="category.name"/>
157 <t t-name="ProductListWidget">
158 <ol id="products-screen-ol" class="product-list">
161 <t t-name="SearchProductScreenWidget">
162 <div id="products-screen">
163 <span class="placeholder-ProductCategoriesWidget" />
164 <span class="placeholder-ProductListWidget" />
168 <!-- ************ PAYMENT SCREEN ************ -->
170 <t t-name="PaymentScreenWidget">
171 <div id="payment-screen" class="step-screen">
172 <header><h2>Payment</h2></header>
173 <div class="pos-step-container">
174 <div class="pos-payment-container">
178 <td class="paymentline-type">Total:</td>
179 <td class="paymentline-amount pos-right-align">
180 <t t-if="currency.position == 'before'" t-esc="currency.symbol"/>
181 <span id="payment-due-total"></span>
182 <t t-if="currency.position == 'after'" t-esc="currency.symbol"/>
186 <table id="paymentlines">
190 <td class="paymentline-type">Paid:</td>
191 <td class="paymentline-amount pos-right-align">
192 <t t-if="currency.position == 'before'" t-esc="currency.symbol"/>
193 <span id="payment-paid-total"></span>
194 <t t-if="currency.position == 'after'" t-esc="currency.symbol"/>
198 <td class="paymentline-type">Change:</td>
199 <td class="paymentline-amount pos-right-align">
200 <t t-if="currency.position == 'before'" t-esc="currency.symbol"/>
201 <span id="payment-remaining"></span>
202 <t t-if="currency.position == 'after'" t-esc="currency.symbol"/>
207 <div class="pos-payment-buttons">
208 <button class="oe-back-to-products">
209 <img src="/web/static/src/img/icons/gtk-go-back.png"></img>
210 Back to Products</button>
211 <button id="validate-order">
212 <img src="/web/static/src/img/icons/gtk-apply.png"></img>
217 </t> <!-- pos-payment-screen -->
219 <!-- ************ RECEIPT SCREEN ************ -->
221 <t t-name="ReceiptScreenWidget">
222 <div id="receipt-screen" class="step-screen" >
223 <header><h2>Receipt</h2></header>
224 <div class="pos-step-container">
225 <div class="pos-receipt-container">
227 <div class='receipt-buttons'>
228 <button id="print-the-ticket">
230 <button id="pos-finish-order">Next Order</button>
237 <t t-name="WelcomeScreenWidget">
238 <div class="welcome-screen step-screen">
239 <header><h2>Welcome</h2></header>
240 <img src="/point_of_sale/static/src/img/scan.png" />
241 <p> Please scan an item or your member card </p>
246 <t t-name="ScanProductScreenWidget">
247 <div class="scan-product-screen step-screen">
248 <header><h2>Please scan an item</h2></header>
249 <img src="/point_of_sale/static/src/img/scan.png" />
253 <t t-name="ClientPaymentScreenWidget">
254 <div class="scan-product-screen step-screen">
255 <header><h2>Payment</h2></header>
256 <img src="/point_of_sale/static/src/img/bancontact.png" />
257 <p>Please insert your card in the reader and follow the instructions to complete
262 <t t-name="ScaleInviteScreenWidget">
263 <div class="scale-invite-screen step-screen">
264 <header><h2>Please put your product on the scale</h2></header>
265 <img src="/point_of_sale/static/src/img/scale.png" />
269 <t t-name="ScaleProductSelectionScreenWidget">
270 <div class="scale-product-selection-screen">
271 <span class="placeholder-ProductCategoriesWidget" />
272 <span class="placeholder-ProductListWidget" />
276 <t t-name="HelpPopupWidget">
277 <div class="modal-dialog">
278 <div class="popup popup-help">
279 <p class="message">Please be patient, help is on the way</p>
288 <t t-name="ReceiptPopupWidget">
289 <div class="modal-dialog">
290 <div class="popup popup-help">
291 <p class="message">Welcome Mr. John Smith <br /> Choose your type of receipt:</p>
292 <div class = "button big-left receipt">
295 <div class = "button big-right invoice">
304 <t t-name="ErrorPopupWidget">
305 <div class="modal-dialog">
306 <div class="popup popup-help">
307 <p class="message">The scanned product was not recognized<br /> Please wait, a cashier is on the way</p>
312 <t t-name="ProductWidget">
315 <div class="product-img">
317 <img t-att-src="'data:image/gif;base64,'+ widget.model.get('product_image_small')" />
318 <t t-if="!widget.model.get('weight')">
319 <span class="price-tag">
320 <t t-esc="widget.format_currency(widget.model.get('list_price'))"/>
323 <t t-if="widget.model.get('weight')">
324 <span class="price-tag">
325 <t t-esc="widget.format_currency(widget.model.get('list_price'))+'/Kg'"/>
327 <span class="price-subtag">
328 <t t-esc="widget.format_currency(widget.model.get('list_price') * widget.model.get('weight'))"/>
332 <div class="product-name">
333 <t t-esc="widget.model.get('name')"/>
338 <t t-name="OrderlineWidget">
344 <t t-esc="widget.format_currency(widget.model.get('list_price'))"/>
350 <t t-esc="widget.model.get('discount').toFixed(2)"/>
353 <t t-if="widget.model.get('weighted')">
354 <t t-esc="Math.round(widget.model.get('quantity')*100)/100+' Kg'"/>
356 <t t-if="!widget.model.get('weighted')">
357 <t t-esc="Math.round(widget.model.get('quantity')*100)/100"/>
361 <t t-esc="widget.format_currency(widget.model.get('list_price') * (1 - widget.model.get('discount')/100) * widget.model.get('quantity'))"/>
366 <t t-name="pos-paymentline-template">
367 <td class="paymentline-type">
370 <td class="paymentline-amount pos-right-align">
371 <input type="text" t-att-value="amount.toFixed(2)" />
372 <a href='javascript:void(0)' class='delete-payment-line'><img src="/point_of_sale/static/src/img/search_reset.gif" /></a>
376 <t t-name="PaymentButtonWidget">
377 <button class="payment-button" t-att-account-journal-id="widget.id">
378 <t t-esc="widget.name"/>
383 <t t-name="pos-order-selector-button-template">
384 <button class="select-order"><t t-esc="widget.order.get('creationDate').toString('t')"/></button>
386 <t t-name="pos-ticket">
387 <div class="pos-sale-ticket">
388 <div class="pos-right-align"><t t-esc="new Date().toString(Date.CultureInfo.formatPatterns.shortDate + ' ' +
389 Date.CultureInfo.formatPatterns.longTime)"/></div>
391 <t t-esc="widget.company.name"/><br />
392 Phone: <t t-esc="widget.company.phone || ''"/><br />
393 User: <t t-esc="widget.user.name"/><br />
394 Shop: <t t-esc="widget.shop_obj.name"/><br />
397 <tr t-foreach="widget.currentOrderLines.toArray()" t-as="order">
399 <t t-esc="order.get('name')"/>
401 <td class="pos-right-align">
402 <t t-esc="order.get('quantity').toFixed(0)"/>
404 <td class="pos-right-align">
405 <t t-esc="format_amount((order.get('list_price') * (1 - order.get('discount')/100) * order.get('quantity')).toFixed(2))"/>
411 <tr><td>Tax:</td><td class="pos-right-align">
412 <t t-esc="format_amount(widget.currentOrder.getTax().toFixed(2))"/>
414 <tr><td>Total:</td><td class="pos-right-align">
415 <t t-esc="format_amount(widget.currentOrder.getTotal().toFixed(2))"/>
420 <tr t-foreach="widget.currentPaymentLines.toArray()" t-as="pline">
422 <t t-esc="pline.get('journal_id')[1]"/>
424 <td class="pos-right-align">
425 <t t-esc="format_amount((pline.getAmount()).toFixed(2))"/>
431 <tr><td>Change:</td><td class="pos-right-align">
432 <t t-esc="format_amount((widget.currentOrder.getPaidTotal() - widget.currentOrder.getTotal()).toFixed(2))"/>
437 <t t-name="ActionBarWidget">
438 <div class="pos-actionbar">
439 <div class="pos-actionbar-left-pane">
440 <div class="button help-button">
442 <img src="/point_of_sale/static/src/img/icons/png48/help.png" />
443 <div class='iconlabel'>Help</div>
446 <div class="button logout-button">
448 <img src="/point_of_sale/static/src/img/icons/png48/system-log-out.png" />
449 <div class='iconlabel'>Exit</div>
453 Total: <span class="value"> 0 </span>€
456 <ul class="pos-actionbar-button-list">
457 <!-- <li class="button">BUTTOOON</li>
458 <li class="button">JEEENKIINS</li>
459 <li class="button rightalign">ARGH</li> -->
464 <t t-name="pos-action-button">
465 <li t-att-class=" 'button '+ (widget.rightalign ? 'rightalign ' : '')">
467 <t t-esc="widget.label" />
471 <t t-name="pos-action-button-with-icon">
472 <li t-att-class=" 'button '+ (widget.rightalign ? 'rightalign ' : '')">
474 <img t-att-src="widget.icon" />
475 <div class='iconlabel'><t t-esc="widget.label" /></div>
479 <!-- Onscreen Keyboard :
480 http://net.tutsplus.com/tutorials/javascript-ajax/creating-a-keyboard-with-css-and-jquery/ -->
481 <t t-name="pos-onscreen-keyboard-full-template">
482 <div class="keyboard_frame">
483 <ul class="keyboard full_keyboard">
484 <li class="symbol"><span class="off">`</span><span class="on">~</span></li>
485 <li class="symbol"><span class="off">1</span><span class="on">!</span></li>
486 <li class="symbol"><span class="off">2</span><span class="on">@</span></li>
487 <li class="symbol"><span class="off">3</span><span class="on">#</span></li>
488 <li class="symbol"><span class="off">4</span><span class="on">$</span></li>
489 <li class="symbol"><span class="off">5</span><span class="on">%</span></li>
490 <li class="symbol"><span class="off">6</span><span class="on">^</span></li>
491 <li class="symbol"><span class="off">7</span><span class="on">&</span></li>
492 <li class="symbol"><span class="off">8</span><span class="on">*</span></li>
493 <li class="symbol"><span class="off">9</span><span class="on">(</span></li>
494 <li class="symbol"><span class="off">0</span><span class="on">)</span></li>
495 <li class="symbol"><span class="off">-</span><span class="on">_</span></li>
496 <li class="symbol"><span class="off">=</span><span class="on">+</span></li>
497 <li class="delete lastitem">delete</li>
498 <li class="tab firstitem">tab</li>
499 <li class="letter">q</li>
500 <li class="letter">w</li>
501 <li class="letter">e</li>
502 <li class="letter">r</li>
503 <li class="letter">t</li>
504 <li class="letter">y</li>
505 <li class="letter">u</li>
506 <li class="letter">i</li>
507 <li class="letter">o</li>
508 <li class="letter">p</li>
509 <li class="symbol"><span class="off">[</span><span class="on">{</span></li>
510 <li class="symbol"><span class="off">]</span><span class="on">}</span></li>
511 <li class="symbol lastitem"><span class="off">\</span><span class="on">|</span></li>
512 <li class="capslock firstitem">caps lock</li>
513 <li class="letter">a</li>
514 <li class="letter">s</li>
515 <li class="letter">d</li>
516 <li class="letter">f</li>
517 <li class="letter">g</li>
518 <li class="letter">h</li>
519 <li class="letter">j</li>
520 <li class="letter">k</li>
521 <li class="letter">l</li>
522 <li class="symbol"><span class="off">;</span><span class="on">:</span></li>
523 <li class="symbol"><span class="off">'</span><span class="on">"</span></li>
524 <li class="return lastitem">return</li>
525 <li class="left-shift firstitem">shift</li>
526 <li class="letter">z</li>
527 <li class="letter">x</li>
528 <li class="letter">c</li>
529 <li class="letter">v</li>
530 <li class="letter">b</li>
531 <li class="letter">n</li>
532 <li class="letter">m</li>
533 <li class="symbol"><span class="off">,</span><span class="on"><</span></li>
534 <li class="symbol"><span class="off">.</span><span class="on">></span></li>
535 <li class="symbol"><span class="off">/</span><span class="on">?</span></li>
536 <li class="right-shift lastitem">shift</li>
537 <li class="space firstitem lastitem">&nbsp;</li>
539 <p class="close_button">close</p>
542 <t t-name="pos-onscreen-keyboard-simple-template">
543 <div class="keyboard_frame">
544 <ul class="keyboard simple_keyboard">
545 <li class="symbol firstitem row_qwerty"><span class="off">q</span><span class="on">1</span></li>
546 <li class="symbol"><span class="off">w</span><span class="on">2</span></li>
547 <li class="symbol"><span class="off">e</span><span class="on">3</span></li>
548 <li class="symbol"><span class="off">r</span><span class="on">4</span></li>
549 <li class="symbol"><span class="off">t</span><span class="on">5</span></li>
550 <li class="symbol"><span class="off">y</span><span class="on">6</span></li>
551 <li class="symbol"><span class="off">u</span><span class="on">7</span></li>
552 <li class="symbol"><span class="off">i</span><span class="on">8</span></li>
553 <li class="symbol"><span class="off">o</span><span class="on">9</span></li>
554 <li class="symbol lastitem"><span class="off">p</span><span class="on">0</span></li>
556 <li class="symbol firstitem row_asdf"><span class="off">a</span><span class="on">@</span></li>
557 <li class="symbol"><span class="off">s</span><span class="on">#</span></li>
558 <li class="symbol"><span class="off">d</span><span class="on">%</span></li>
559 <li class="symbol"><span class="off">f</span><span class="on">*</span></li>
560 <li class="symbol"><span class="off">g</span><span class="on">/</span></li>
561 <li class="symbol"><span class="off">h</span><span class="on">-</span></li>
562 <li class="symbol"><span class="off">j</span><span class="on">+</span></li>
563 <li class="symbol"><span class="off">k</span><span class="on">(</span></li>
564 <li class="symbol lastitem"><span class="off">l</span><span class="on">)</span></li>
566 <li class="symbol firstitem row_zxcv"><span class="off">z</span><span class="on">?</span></li>
567 <li class="symbol"><span class="off">x</span><span class="on">!</span></li>
568 <li class="symbol"><span class="off">c</span><span class="on">"</span></li>
569 <li class="symbol"><span class="off">v</span><span class="on">'</span></li>
570 <li class="symbol"><span class="off">b</span><span class="on">:</span></li>
571 <li class="symbol"><span class="off">n</span><span class="on">;</span></li>
572 <li class="symbol"><span class="off">m</span><span class="on">,</span></li>
573 <li class="delete lastitem">delete</li>
575 <li class="numlock firstitem row_space"><span class="off">123</span><span class="on">ABC</span></li>
576 <li class="space">&nbsp;</li>
577 <li class="symbol"><span class="off">.</span><span class="on">.</span></li>
578 <li class="return lastitem">return</li>
580 <p class="close_button">close</p>