1 <?xml version="1.0" encoding="UTF-8"?>
4 <templates id="template" xml:space="preserve">
5 <t t-name="PointOfSale">
6 <div class="point-of-sale">
9 <img src="/point_of_sale/static/src/img/logo.png" />
12 <input type="radio" id="products-step-button" class="step-button" data-step='products' name="radio" checked="checked" />
13 <label for="products-step-button">Products</label>
14 <img src="/point_of_sale/static/src/img/steps-arrow.png" />
15 <input type="radio" id="payment-step-button" class="step-button" data-step='payment' name="radio" />
16 <label for="payment-step-button">Payment</label>
17 <img src="/point_of_sale/static/src/img/steps-arrow.png" />
18 <input type="radio" id="receipt-step-button" class="step-button" data-step='receipt' name="radio" />
19 <label for="receipt-step-button">Receipt</label>
22 <span class="oe_pos_synch-notification"></span>
23 <button>Close</button>
25 <div id="rightheader">
26 <div id="order-selector">
27 <button id="neworder-button">+</button>
35 <div id="current-order">
46 <tbody id="current-order-content"></tbody>
53 <t t-if="currency.position == 'before'" t-esc="currency.symbol"/> <span id="subtotal">0</span> <t t-if="currency.position == 'after'" t-esc="currency.symbol"/>
57 <t t-if="currency.position == 'before'" t-esc="currency.symbol"/> <span id="tax">0</span> <t t-if="currency.position == 'after'" t-esc="currency.symbol"/>
61 <t t-if="currency.position == 'before'" t-esc="currency.symbol"/> <span id="total">0</span> <t t-if="currency.position == 'after'" t-esc="currency.symbol"/>
64 <div id="paypad"></div>
66 <button class="input-button number-char">1</button>
67 <button class="input-button number-char">2</button>
68 <button class="input-button number-char">3</button>
69 <button class="mode-button" data-mode='quantity'>Qty</button>
71 <button class="input-button number-char">4</button>
72 <button class="input-button number-char">5</button>
73 <button class="input-button number-char">6</button>
74 <button class="mode-button" data-mode='discount'>Disc</button>
76 <button class="input-button number-char">7</button>
77 <button class="input-button number-char">8</button>
78 <button class="input-button number-char">9</button>
79 <button class="mode-button" data-mode='list_price'>Price</button>
81 <button class="input-button" id="numpad-minus" >+/-</button>
82 <button class="input-button number-char">0</button>
83 <button class="input-button number-char">.</button>
84 <button class="input-button" id="numpad-backspace">
85 <img src="/point_of_sale/static/src/img/backspace.png" width="24" height="21" />
92 <div id="products-screen" class="step-screen selected-step">
93 <div id="products-screen-categories"/>
94 <ol id="products-screen-ol" class="product-list"></ol>
96 <div id="payment-screen" class="step-screen" style="display:none">
97 <header><h2>Payment</h2></header>
98 <div class="pos-step-container">
99 <div class="pos-payment-container">
103 <td class="paymentline-type">Total:</td>
104 <td class="paymentline-amount pos-rigth-align">
105 <t t-if="currency.position == 'before'" t-esc="currency.symbol"/>
106 <span id="payment-due-total"></span>
107 <t t-if="currency.position == 'after'" t-esc="currency.symbol"/>
111 <table id="paymentlines">
115 <td class="paymentline-type">Paid:</td>
116 <td class="paymentline-amount pos-rigth-align">
117 <t t-if="currency.position == 'before'" t-esc="currency.symbol"/>
118 <span id="payment-paid-total"></span>
119 <t t-if="currency.position == 'after'" t-esc="currency.symbol"/>
123 <td class="paymentline-type">Change:</td>
124 <td class="paymentline-amount pos-rigth-align">
125 <t t-if="currency.position == 'before'" t-esc="currency.symbol"/>
126 <span id="payment-remaining"></span>
127 <t t-if="currency.position == 'after'" t-esc="currency.symbol"/>
132 <div class="pos-payment-buttons">
133 <button class="oe-back-to-products">
134 <img src="/web/static/src/img/icons/gtk-go-back.png"></img>
135 Back to Products</button>
136 <button id="validate-order">
137 <img src="/web/static/src/img/icons/gtk-apply.png"></img>
142 <span id="receipt-screen"></span>
147 <t t-name="pos-synch-notification">
149 <a t-if="widget.nbr_pending > 0" href="javascript:void(0)" class="oe_pos_synch-notification-button">
150 <t t-esc="widget.nbr_pending"/> pending orders
154 <t t-name="pos-close-warning">
155 <div>There are pending operations that could not be saved into the database, are you sure you want to exit?</div>
157 <t t-name="pos-category-template">
159 <ol class="breadcrumb">
160 <li class="oe-pos-categories-list">
161 <a href="javascript:void(0)">
162 <img src="/point_of_sale/static/src/img/home.png" class="homeimg" />
165 <t t-foreach="breadcrumb" t-as="category">
166 <li class="oe-pos-categories-list">
167 <img src="/point_of_sale/static/src/img/bc-arrow.png" class="bc-arrow" />
168 <a href="javascript:void(0)" t-att-data-category-id="category.id">
169 <t t-esc="category.name"/>
174 <div class="searchbox">
175 <input placeholder="Search Products" />
176 <img class="search-clear" src="/point_of_sale/static/src/img/search_reset.gif" />
179 <div id="categories">
181 <t t-foreach="categories" t-as="category">
182 <li class="oe-pos-categories-list">
183 <a href="javascript:void(0)" t-att-data-category-id="category.id" class="button">
184 <t t-esc="category.name"/>
191 <t t-name="pos-product-template">
193 <div class="product-img">
194 <img t-att-src="'data:image/gif;base64,'+ product_image" />
195 <span class="price-tag">
196 <t t-esc="format_amount(list_price)"/>
199 <div class="product-name">
204 <t t-name="pos-orderline-template">
209 <t t-esc="format_amount(list_price.toFixed(2))"/>
212 <t t-esc="discount.toFixed(2)"/>
215 <t t-esc="quantity.toFixed(0)"/>
218 <t t-esc="format_amount((list_price * (1 - discount/100) * quantity).toFixed(2))"/>
221 <t t-name="pos-paymentline-template">
222 <td class="paymentline-type">
225 <td class="paymentline-amount pos-rigth-align">
226 <input type="text" t-att-value="amount.toFixed(2)" />
227 <a href='javascript:void(0)' class='delete-payment-line'><img src="/point_of_sale/static/src/img/search_reset.gif" /></a>
230 <t t-name="pos-payment-button-template">
231 <button class="payment-button" t-att-cash-register-id="id">
236 <t t-name="pos-order-selector-button-template">
237 <button class="select-order"><t t-esc="widget.order.get('creationDate').toString('t')"/></button>
239 <t t-name="pos-receipt-view">
240 <div id="receipt-screen" class="step-screen" style="display:none">
241 <header><h2>Receipt</h2></header>
242 <div class="pos-step-container">
243 <div class="pos-receipt-container">
245 <div class='receipt-buttons'>
246 <button id="print-the-ticket">
248 <button id="pos-finish-order">Next Order</button>
253 <t t-name="pos-ticket">
254 <div class="pos-sale-ticket">
255 <div class="pos-rigth-align"><t t-esc="new Date().toString(Date.CultureInfo.formatPatterns.shortDate + ' ' +
256 Date.CultureInfo.formatPatterns.longTime)"/></div>
258 <t t-esc="widget.company.name"/><br />
259 Phone: <t t-esc="widget.company.phone || ''"/><br />
260 User: <t t-esc="widget.user.name"/><br />
261 Shop: <t t-esc="widget.shop_obj.name"/><br />
264 <tr t-foreach="widget.currentOrderLines.toArray()" t-as="order">
266 <t t-esc="order.get('name')"/>
268 <td class="pos-rigth-align">
269 <t t-esc="order.get('quantity').toFixed(0)"/>
271 <td class="pos-rigth-align">
272 <t t-esc="format_amount((order.get('list_price') * (1 - order.get('discount')/100) * order.get('quantity')).toFixed(2))"/>
278 <tr><td>Tax:</td><td class="pos-rigth-align">
279 <t t-esc="format_amount(widget.currentOrder.getTax().toFixed(2))"/>
281 <tr><td>Total:</td><td class="pos-rigth-align">
282 <t t-esc="format_amount(widget.currentOrder.getTotal().toFixed(2))"/>
287 <tr t-foreach="widget.currentPaymentLines.toArray()" t-as="pline">
289 <t t-esc="pline.get('journal_id')[1]"/>
291 <td class="pos-rigth-align">
292 <t t-esc="format_amount((pline.getAmount()).toFixed(2))"/>
298 <tr><td>Change:</td><td class="pos-rigth-align">
299 <t t-esc="format_amount((widget.currentOrder.getPaidTotal() - widget.currentOrder.getTotal()).toFixed(2))"/>