Manuel Claeys Bouuaert
5 years ago
12 changed files with 575 additions and 0 deletions
-
2beesdoo_pos/__init__.py
-
35beesdoo_pos/__openerp__.py
-
14beesdoo_pos/data/cron.xml
-
22beesdoo_pos/data/email.xml
-
151beesdoo_pos/i18n/fr_BE.po
-
1beesdoo_pos/models/__init__.py
-
98beesdoo_pos/models/beesdoo_pos.py
-
5beesdoo_pos/security/ir.model.access.csv
-
34beesdoo_pos/static/src/css/beesdoo.css
-
95beesdoo_pos/static/src/js/beesdoo.js
-
80beesdoo_pos/static/src/xml/templates.xml
-
38beesdoo_pos/views/beesdoo_pos.xml
@ -0,0 +1,2 @@ |
|||
# -*- coding: utf-8 -*- |
|||
import models |
@ -0,0 +1,35 @@ |
|||
# -*- coding: utf-8 -*- |
|||
{ |
|||
'name': "Beescoop Point of sale", |
|||
|
|||
'summary': """ |
|||
Module that extends the pos for the beescoop |
|||
""", |
|||
|
|||
'description': """ |
|||
Long description of module's purpose |
|||
""", |
|||
|
|||
'author': "Beescoop - Cellule IT", |
|||
'website': "https://github.com/beescoop/Obeesdoo", |
|||
|
|||
# Categories can be used to filter modules in modules listing |
|||
# Check https://github.com/odoo/odoo/blob/master/openerp/addons/base/module/module_data.xml |
|||
# for the full list |
|||
'category': 'Point Of Sale', |
|||
'version': '9.0.1.1.0', |
|||
|
|||
# any module necessary for this one to work correctly |
|||
'depends': ['beesdoo_base', 'beesdoo_product'], |
|||
|
|||
# always loaded |
|||
'data': [ |
|||
'security/ir.model.access.csv', |
|||
'views/beesdoo_pos.xml', |
|||
'data/email.xml', |
|||
'data/cron.xml', |
|||
], |
|||
'qweb': ['static/src/xml/templates.xml'], |
|||
# only loaded in demonstration mode |
|||
} |
|||
|
@ -0,0 +1,14 @@ |
|||
<odoo> |
|||
<data noupdate="1"> |
|||
<record id="ir_cron_sent_pos_ticket" model="ir.cron"> |
|||
<field name="name">send ticket</field> |
|||
<field name="interval_number">1</field> |
|||
<field name="interval_type">minutes</field> |
|||
<field name="numbercall">-1</field> |
|||
<field name="doall" eval="False" /> |
|||
<field name="model">pos.order</field> |
|||
<field name="function">_send_order_cron</field> |
|||
<field name="args">()</field> |
|||
</record> |
|||
</data> |
|||
</odoo> |
@ -0,0 +1,22 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<odoo> |
|||
<data noupdate="1"> |
|||
|
|||
<!--Email template --> |
|||
<record id="email_send_ticket" model="mail.template"> |
|||
<field name="name">Envoyer Reçu</field> |
|||
<field name="email_from">${(object.user_id.email and '%s <%s>' % (object.user_id.name, object.user_id.email) or '')|safe}</field> |
|||
<field name="subject">${object.pos_reference}</field> |
|||
<field name="partner_to">${object.partner_id.id}</field> |
|||
<field name="model_id" ref="point_of_sale.model_pos_order" /> |
|||
<field name="auto_delete" eval="True" /> |
|||
<field name="report_template" ref="point_of_sale.action_report_pos_receipt" /> |
|||
<field name="report_name">Ticket ${object.pos_reference}</field> |
|||
<field name="lang">${object.partner_id.lang}</field> |
|||
<field name="body_html"><![CDATA[ |
|||
Votre Ticket ${object.pos_reference} |
|||
]]></field> |
|||
</record> |
|||
|
|||
</data> |
|||
</odoo> |
@ -0,0 +1,151 @@ |
|||
# Translation of Odoo Server. |
|||
# This file contains the translation of the following modules: |
|||
# * beesdoo_pos |
|||
# |
|||
msgid "" |
|||
msgstr "" |
|||
"Project-Id-Version: Odoo Server 9.0c\n" |
|||
"Report-Msgid-Bugs-To: \n" |
|||
"POT-Creation-Date: 2016-11-13 15:23+0000\n" |
|||
"PO-Revision-Date: 2016-11-13 15:23+0000\n" |
|||
"Last-Translator: <>\n" |
|||
"Language-Team: \n" |
|||
"MIME-Version: 1.0\n" |
|||
"Content-Type: text/plain; charset=UTF-8\n" |
|||
"Content-Transfer-Encoding: \n" |
|||
"Plural-Forms: \n" |
|||
|
|||
#. module: beesdoo_pos |
|||
#: model:mail.template,body_html:beesdoo_pos.email_send_ticket |
|||
msgid "\n" |
|||
"Votre Ticket ${object.pos_reference}\n" |
|||
" " |
|||
msgstr "<p style=\"margin:0px 0px 10px 0px;font-size:13px;font-family:"Lucida Grande", Helvetica, Verdana, Arial, sans-serif;\"></p><p style=\"margin:0px 0px 10px 0px;font-size:13px;font-family:"Lucida Grande", Helvetica, Verdana, Arial, sans-serif;\">\n" |
|||
"\n" |
|||
"</p><p style=\"margin:0px 0px 10px 0px;font-size:13px;font-family:"Lucida Grande", Helvetica, Verdana, Arial, sans-serif;\">\n" |
|||
"\n" |
|||
"</p><p style=\"margin:0px 0px 10px 0px;font-size:13px;font-family:"Lucida Grande", Helvetica, Verdana, Arial, sans-serif;color: rgb(33, 33, 33)\"><font style=\"font-size: 12px;\">Bonjour, </font></p><p style=\"margin:0px 0px 10px 0px;font-size:13px;font-family:"Lucida Grande", Helvetica, Verdana, Arial, sans-serif;color: rgb(33, 33, 33)\"><font style=\"font-size: 12px;\">Vous trouverez ci-joint votre ticket de caisse en version électronique.</font></p><p style=\"margin:0px 0px 10px 0px;font-size:13px;font-family:"Lucida Grande", Helvetica, Verdana, Arial, sans-serif;color: rgb(33, 33, 33)\"><font style=\"font-size: 12px;\">Pour rappel, à partir d'octobre, le Labo market est ouvert les lundis, mardis, mercredis de 17h30 à 20h et les samedis de 10h30 à 16h.</font></p><p style=\"margin:0px 0px 10px 0px;font-size:13px;font-family:"Lucida Grande", Helvetica, Verdana, Arial, sans-serif;color: rgb(33, 33, 33)\"><font style=\"font-size: 12px;\">Pour vous inscrire à des permanences BEES, rendez-vous sur <a href=\"http://shift.bees-coop.be/\" target=\"_blank\" style=\"cursor:pointer;text-decoration:none;color:rgb(51, 122, 183);background-color:transparent;\">http://shift.bees-coop.be/</a> .</font></p><p style=\"margin:0px 0px 10px 0px;font-size:13px;font-family:"Lucida Grande", Helvetica, Verdana, Arial, sans-serif;color: rgb(33, 33, 33)\"><font style=\"font-size: 12px;\">Au plaisir de vous revoir au Labo market.</font></p><p style=\"margin:0px 0px 10px 0px;font-size:13px;font-family:"Lucida Grande", Helvetica, Verdana, Arial, sans-serif;color: rgb(33, 33, 33)\"></p><p style=\"margin:0px 0px 10px 0px;font-size:13px;font-family:"Lucida Grande", Helvetica, Verdana, Arial, sans-serif;color: rgb(33, 33, 33)\"></p><p style=\"margin:0px 0px 10px 0px;font-size:13px;font-family:"Lucida Grande", Helvetica, Verdana, Arial, sans-serif;\"></p><p style=\"margin:0px 0px 10px 0px;font-size:13px;font-family:"Lucida Grande", Helvetica, Verdana, Arial, sans-serif;\"></p><p style=\"margin:0px 0px 10px 0px;font-size:13px;font-family:"Lucida Grande", Helvetica, Verdana, Arial, sans-serif;color: rgb(33, 33, 33)\"><font style=\"font-size: 12px;\">BEES coop,</font></p><p style=\"margin:0px 0px 10px 0px;font-size:13px;font-family:"Lucida Grande", Helvetica, Verdana, Arial, sans-serif;color: rgb(33, 33, 33)\"><img src=\"/web/image/9457\" class=\"pull-left\" style=\"float:left;vertical-align:middle;border-image-repeat:initial;border-image-outset:initial;border-image-width:initial;border-image-slice:initial;border-image-source:initial;border-left-color:initial;border-bottom-color:initial;border-right-color:initial;border-top-color:initial;border-left-style:initial;border-bottom-style:initial;border-right-style:initial;border-top-style:initial;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;border-top-width:0px;width: 25%;\"></p><p style=\"margin:0px 0px 10px 0px;font-size:13px;font-family:"Lucida Grande", Helvetica, Verdana, Arial, sans-serif;color: rgb(33, 33, 33)\"><font style=\"font-size: 12px;\"></font></p><p style=\"margin:0px 0px 10px 0px;font-size:13px;font-family:"Lucida Grande", Helvetica, Verdana, Arial, sans-serif;color: rgb(33, 33, 33)\"><font style=\"font-size: 12px;\"></font></p><p style=\"margin:0px 0px 10px 0px;font-size:13px;font-family:"Lucida Grande", Helvetica, Verdana, Arial, sans-serif;\"></p>" |
|||
|
|||
#. module: beesdoo_pos |
|||
#: model:mail.template,subject:beesdoo_pos.email_send_ticket |
|||
msgid "${object.pos_reference}" |
|||
msgstr "${object.pos_reference}" |
|||
|
|||
#. module: beesdoo_pos |
|||
#: model:ir.model,name:beesdoo_pos.model_account_bank_statement_cashbox |
|||
msgid "Account Bank Statement Cashbox Details" |
|||
msgstr "Détails" |
|||
|
|||
#. module: beesdoo_pos |
|||
#. openerp-web |
|||
#: code:addons/beesdoo_pos/static/src/xml/templates.xml:17 |
|||
#: code:addons/beesdoo_pos/static/src/xml/templates.xml:35 |
|||
#, python-format |
|||
msgid "Balance:" |
|||
msgstr "Balance:" |
|||
|
|||
#. module: beesdoo_pos |
|||
#: model:ir.ui.view,arch_db:beesdoo_pos.beescoop_pos_inherit |
|||
msgid "Bill Value" |
|||
msgstr "Bill Value" |
|||
|
|||
#. module: beesdoo_pos |
|||
#: model:ir.model.fields,field_description:beesdoo_pos.field_pos_config_bill_value |
|||
msgid "Bill value" |
|||
msgstr "Bill value" |
|||
|
|||
#. module: beesdoo_pos |
|||
#: code:addons/beesdoo_pos/models/beesdoo_pos.py:38 |
|||
#, python-format |
|||
msgid "Cannot send the ticket, no email address found on the client" |
|||
msgstr "Cannot send the ticket, no email address found on the client" |
|||
|
|||
#. module: beesdoo_pos |
|||
#: model:ir.model.fields,field_description:beesdoo_pos.field_bill_value_create_uid |
|||
msgid "Created by" |
|||
msgstr "Créé par" |
|||
|
|||
#. module: beesdoo_pos |
|||
#: model:ir.model.fields,field_description:beesdoo_pos.field_bill_value_create_date |
|||
msgid "Created on" |
|||
msgstr "Créé le" |
|||
|
|||
#. module: beesdoo_pos |
|||
#: model:ir.model.fields,field_description:beesdoo_pos.field_bill_value_display_name |
|||
msgid "Display Name" |
|||
msgstr "Nom affiché" |
|||
|
|||
#. module: beesdoo_pos |
|||
#: code:addons/beesdoo_pos/models/beesdoo_pos.py:36 |
|||
#, python-format |
|||
msgid "Error: no order found" |
|||
msgstr "Error: no order found" |
|||
|
|||
#. module: beesdoo_pos |
|||
#: model:ir.model.fields,field_description:beesdoo_pos.field_bill_value_id |
|||
msgid "ID" |
|||
msgstr "ID" |
|||
|
|||
#. module: beesdoo_pos |
|||
#: model:ir.model.fields,field_description:beesdoo_pos.field_bill_value___last_update |
|||
msgid "Last Modified on" |
|||
msgstr "Dernière modification le" |
|||
|
|||
#. module: beesdoo_pos |
|||
#: model:ir.model.fields,field_description:beesdoo_pos.field_bill_value_write_uid |
|||
msgid "Last Updated by" |
|||
msgstr "Mis à jour par" |
|||
|
|||
#. module: beesdoo_pos |
|||
#: model:ir.model.fields,field_description:beesdoo_pos.field_bill_value_write_date |
|||
msgid "Last Updated on" |
|||
msgstr "Mis à jour le" |
|||
|
|||
#. module: beesdoo_pos |
|||
#: model:ir.model.fields,field_description:beesdoo_pos.field_bill_value_name |
|||
msgid "Name" |
|||
msgstr "Nom" |
|||
|
|||
#. module: beesdoo_pos |
|||
#: model:ir.model,name:beesdoo_pos.model_res_partner |
|||
msgid "Partner" |
|||
msgstr "Partenaire" |
|||
|
|||
#. module: beesdoo_pos |
|||
#: model:ir.model,name:beesdoo_pos.model_pos_order |
|||
msgid "Point of Sale" |
|||
msgstr "Point de vente" |
|||
|
|||
#. module: beesdoo_pos |
|||
#: model:ir.model.fields,field_description:beesdoo_pos.field_bill_value_pos |
|||
msgid "Pos" |
|||
msgstr "Pos" |
|||
|
|||
#. module: beesdoo_pos |
|||
#. openerp-web |
|||
#: code:addons/beesdoo_pos/static/src/xml/templates.xml:6 |
|||
#, python-format |
|||
msgid "Send Receipt By Mail" |
|||
msgstr "Send Receipt By Mail" |
|||
|
|||
#. module: beesdoo_pos |
|||
#: model:mail.template,report_name:beesdoo_pos.email_send_ticket |
|||
msgid "Ticket ${object.pos_reference}" |
|||
msgstr "Ticket ${object.pos_reference}" |
|||
|
|||
#. module: beesdoo_pos |
|||
#: code:addons/beesdoo_pos/models/beesdoo_pos.py:41 |
|||
#, python-format |
|||
msgid "Ticket sent" |
|||
msgstr "Ticket sent" |
|||
|
|||
#. module: beesdoo_pos |
|||
#: model:ir.model,name:beesdoo_pos.model_bill_value |
|||
msgid "bill_value" |
|||
msgstr "bill_value" |
|||
|
|||
#. module: beesdoo_pos |
|||
#: model:ir.model,name:beesdoo_pos.model_pos_config |
|||
msgid "pos.config" |
|||
msgstr "pos.config" |
|||
|
@ -0,0 +1 @@ |
|||
import beesdoo_pos |
@ -0,0 +1,98 @@ |
|||
# -*- coding: utf-8 -*- |
|||
from openerp import models, fields, api, _ |
|||
import logging |
|||
|
|||
_logger = logging.getLogger(__name__) |
|||
|
|||
class BeesPOS(models.Model): |
|||
_inherit = 'pos.config' |
|||
|
|||
bill_value = fields.One2many('bill_value', 'pos', copy=True) |
|||
|
|||
class BillValue(models.Model): |
|||
_name = 'bill_value' |
|||
_order = 'name asc' |
|||
|
|||
name = fields.Float(string='Name') |
|||
pos = fields.Many2one('pos.config') |
|||
|
|||
class BeesAccountBankStatement(models.Model): |
|||
_inherit = 'account.bank.statement.cashbox' |
|||
|
|||
def _get_default_line(self): |
|||
if not self.env.context.get('active_id'): |
|||
return [] |
|||
|
|||
pos_session_rec = self.env['pos.session'].browse(self.env.context['active_id']) |
|||
return [(0, 0, {'coin_value' : bill_value_rec.name, 'subtotal':0.0}) for bill_value_rec in pos_session_rec.config_id.bill_value] |
|||
|
|||
cashbox_lines_ids = fields.One2many(default=_get_default_line) |
|||
|
|||
class BeescoopPosOrder(models.Model): |
|||
|
|||
_inherit = 'pos.order' |
|||
|
|||
print_status = fields.Selection([('no_print', 'Do not Print'), |
|||
('to_print', 'To print'), |
|||
('printed', 'Printed')], |
|||
default="no_print", string="Print Status") |
|||
|
|||
@api.model |
|||
def send_order(self, receipt_name): |
|||
order = self.search([('pos_reference', '=', receipt_name)]) |
|||
if not order: |
|||
return _('Error: no order found') |
|||
if not order.partner_id.email: |
|||
return _('Cannot send the ticket, no email address found on the client') |
|||
order.print_status = 'to_print' |
|||
|
|||
return _("Ticket will be sent") |
|||
|
|||
@api.model |
|||
def _send_order_cron(self): |
|||
mail_template = self.env.ref("beesdoo_pos.email_send_ticket") |
|||
_logger.info("Start to send ticket") |
|||
for order in self.search([('print_status', '=', 'to_print')]): |
|||
if not order.partner_id.email: |
|||
continue |
|||
|
|||
mail_template.send_mail(order.id, force_send=True) |
|||
order.print_status = 'printed' |
|||
#Make sure we commit the change to not send ticket twice |
|||
self.env.cr.commit() |
|||
|
|||
|
|||
class BeescoopPosPartner(models.Model): |
|||
_inherit = 'res.partner' |
|||
|
|||
def _get_eater(self): |
|||
eaters = [False, False, False] |
|||
for i, eater in enumerate(self.child_eater_ids): |
|||
eaters[i] = eater.name |
|||
return tuple(eaters) |
|||
|
|||
@api.multi |
|||
def get_eater(self): |
|||
eater1, eater2, eater3 = self._get_eater() |
|||
return eater1, eater2, eater3 |
|||
|
|||
from openerp.addons.point_of_sale.report import pos_receipt |
|||
|
|||
class order_tva_included(pos_receipt.order): |
|||
|
|||
def __init__(self, cr, uid, name, context): |
|||
super(order_tva_included, self).__init__(cr, uid, name, context=context) |
|||
self.env = api.Environment(cr, uid, context) |
|||
|
|||
def netamount(self, order_line_id): |
|||
order_line = self.env['pos.order.line'].browse(order_line_id) |
|||
if order_line.order_id.config_id.iface_tax_included: |
|||
return order_line.price_subtotal_incl |
|||
else: |
|||
return order_line.price_subtotal |
|||
|
|||
|
|||
class report_order_receipt(models.AbstractModel): |
|||
_inherit = 'report.point_of_sale.report_receipt' |
|||
_template = 'point_of_sale.report_receipt' |
|||
_wrapped_report_class = order_tva_included |
@ -0,0 +1,5 @@ |
|||
"id","name","model_id/id","group_id/id","perm_read","perm_write","perm_create","perm_unlink" |
|||
"bill_value_read_all","Read All","beesdoo_pos.model_bill_value","","True","False","False","False" |
|||
"bill_value_accountant_all","All Comptable","beesdoo_pos.model_bill_value","account.group_account_user","True","True","True","True" |
|||
"bill_value_pos_manager_all","All POS manager","beesdoo_pos.model_bill_value","point_of_sale.group_pos_manager","True","True","True","True" |
|||
"account_bank_statement_cashbox POS user","account.bank.statement.cashbox POS User","account.model_account_bank_statement_cashbox","point_of_sale.group_pos_user","True","True","True","False" |
@ -0,0 +1,34 @@ |
|||
.message-send { |
|||
margin: 16px; |
|||
text-align: center; |
|||
} |
|||
|
|||
.customer-information { |
|||
margin: 16px 24px 16px 24px; |
|||
font-weight: bold; |
|||
font-size: 16px; |
|||
} |
|||
|
|||
.customer-name { |
|||
font-size: 18px; |
|||
} |
|||
|
|||
.pos .actionpad .button.set-customer { |
|||
height: 108px; |
|||
} |
|||
|
|||
.pos .actionpad .button .fa-user { |
|||
left: 5px; |
|||
top: 38px; |
|||
} |
|||
|
|||
|
|||
.customer-information-pay { |
|||
font-weight: normal; |
|||
font-size: 12px; |
|||
text-align: left; |
|||
} |
|||
|
|||
.pos .actionpad .button.pay { |
|||
height: 108px; |
|||
} |
@ -0,0 +1,95 @@ |
|||
odoo.define('beescoop.pos', function (require) { |
|||
"use strict"; |
|||
var module = require("point_of_sale.screens"); |
|||
var Model = require('web.DataModel'); |
|||
var set_customer_info = function(el_class, value, prefix) { |
|||
var el = this.$(el_class); |
|||
el.empty(); |
|||
if (prefix && value) { |
|||
value = prefix + value |
|||
} |
|||
if (value) { |
|||
el.append(value); |
|||
} |
|||
} |
|||
|
|||
module.ReceiptScreenWidget = module.ReceiptScreenWidget.include({ |
|||
send : function() { |
|||
var self = this; |
|||
var loaded = new $.Deferred(); |
|||
var order = this.pos.get_order().name; |
|||
var records = new Model('pos.order').call('send_order', [order], {}, { shadow: false, timeout: 10000}); |
|||
records.then(function(result){ |
|||
var el = self.$('.message-send') |
|||
el.empty(); |
|||
el.append('<h2>' + result + '</h2>'); |
|||
},function(err){ |
|||
loaded.reject(err); |
|||
}); |
|||
}, |
|||
renderElement: function() { |
|||
var self = this; |
|||
this._super(); |
|||
this.$('.button.send').click(function(){ |
|||
if (!self._locked) { |
|||
self.send(); |
|||
} |
|||
}); |
|||
}, |
|||
show: function(){ |
|||
this._super(); |
|||
var self = this; |
|||
this.$('.message-send').empty(); |
|||
}, |
|||
}) |
|||
|
|||
module.ActionpadWidget = module.ActionpadWidget.include({ |
|||
renderElement : function() { |
|||
var self = this; |
|||
var loaded = new $.Deferred(); |
|||
this._super(); |
|||
if (!this.pos.get_client()) { |
|||
return |
|||
|
|||
} |
|||
var customer_id = this.pos.get_client().id; |
|||
var res = new Model('res.partner').call('get_eater', |
|||
[ customer_id ], undefined, { shadow: true, timeout: 1000}); |
|||
res.then(function(result) { |
|||
set_customer_info.call(self, '.customer-delegate1', result[0], 'Eater 1: '); |
|||
set_customer_info.call(self, '.customer-delegate2', result[1], 'Eater 2: '); |
|||
set_customer_info.call(self, '.customer-delegate3', result[2], 'Eater 3: '); |
|||
}, function(err) { |
|||
loaded.reject(err); |
|||
}); |
|||
}, |
|||
}); |
|||
|
|||
module.PaymentScreenWidget.include({ |
|||
render_customer_info : function() { |
|||
var self = this; |
|||
var loaded = new $.Deferred(); |
|||
if (!this.pos.get_client()) { |
|||
return |
|||
} |
|||
var customer_id = this.pos.get_client().id; |
|||
var res = new Model('res.partner').call('get_eater', [ customer_id ], undefined, { shadow: true, timeout: 1000}); |
|||
res.then(function(result) { |
|||
set_customer_info.call(self, '.customer-name', self.pos.get_client().name); |
|||
set_customer_info.call(self, '.customer-delegate1', result[0], 'Eater 1: '); |
|||
set_customer_info.call(self, '.customer-delegate2', result[1], 'Eater 2: '); |
|||
set_customer_info.call(self, '.customer-delegate3', result[2], 'Eater 3: '); |
|||
}, function(err) { |
|||
loaded.reject(err); |
|||
}); |
|||
}, |
|||
renderElement : function() { |
|||
this._super(); |
|||
this.render_customer_info(); |
|||
}, |
|||
customer_changed : function() { |
|||
this._super(); |
|||
this.render_customer_info(); |
|||
}, |
|||
}); |
|||
}); |
@ -0,0 +1,80 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<templates id="template"> |
|||
<t t-extend="ReceiptScreenWidget"> |
|||
<t t-jquery='.pos-receipt-container' t-operation='before'> |
|||
<div class="button send"> |
|||
<i class='fa fa-envelope'></i> |
|||
Send Receipt By Mail |
|||
</div> |
|||
<div class="message-send"> |
|||
</div> |
|||
</t> |
|||
</t> |
|||
|
|||
<t t-extend="ActionpadWidget"> |
|||
<t t-jquery="t[t-if='widget.pos.get_client()']" t-operation="after"> |
|||
<t t-if="widget.pos.get_client()"> |
|||
<div class='customer-information-pay'> |
|||
<span class='customer-delegate1' /> |
|||
<br /> |
|||
<span class='customer-delegate2' /> |
|||
<br /> |
|||
<span class='customer-delegate3' /> |
|||
</div> |
|||
</t> |
|||
</t> |
|||
</t> |
|||
|
|||
<t t-extend="PaymentScreenWidget"> |
|||
<t t-jquery=".paymentmethods-container" t-operation="inner"> |
|||
<t t-if="widget.pos.get_client()"> |
|||
<div class="customer-information"> |
|||
<span class='customer-name' /> |
|||
<br /> |
|||
<span class='customer-delegate1' /> |
|||
<br /> |
|||
<span class='customer-delegate2' /> |
|||
<br /> |
|||
<span class='customer-delegate3' /> |
|||
<br /> |
|||
</div> |
|||
</t> |
|||
</t> |
|||
</t> |
|||
|
|||
<t t-extend="ClientListScreenWidget"> |
|||
<t t-jquery='.new-customer' t-operation='replace'> |
|||
</t> |
|||
|
|||
<t t-jquery=".client-list" t-operation="replace"> |
|||
|
|||
<table class='client-list'> |
|||
<thead> |
|||
<tr> |
|||
<th>Name</th> |
|||
</tr> |
|||
</thead> |
|||
<tbody class='client-list-contents'> |
|||
</tbody> |
|||
</table> |
|||
|
|||
</t> |
|||
</t> |
|||
|
|||
<t t-extend="ClientLine"> |
|||
<t t-jquery=".client-line" t-operation="replace"> |
|||
<tr class='client-line' t-att-data-id='partner.id'> |
|||
<td><t t-esc='partner.name' /></td> |
|||
</tr> |
|||
</t> |
|||
</t> |
|||
|
|||
<t t-extend="ClientDetails"> |
|||
<t t-jquery=".client-details-left" t-operation="replace"> |
|||
<div class='client-details-left'></div> |
|||
</t> |
|||
<t t-jquery=".edit-buttons" t-operation="replace"> |
|||
<div class='edit-buttons'></div> |
|||
</t> |
|||
</t> |
|||
</templates> |
@ -0,0 +1,38 @@ |
|||
<openerp> |
|||
<data> |
|||
<record model="ir.ui.view" id="beescoop_pos_inherit"> |
|||
<field name="name">bees.pos.config.form.view</field> |
|||
<field name="model">pos.config</field> |
|||
<field name="inherit_id" ref="point_of_sale.view_pos_config_form" /> |
|||
<field name="arch" type="xml"> |
|||
<field name="iface_tax_included" position="after"> |
|||
<separator string="Bill Value" colspan="2" /> |
|||
<field name="bill_value" nolabel="1" colspan="2"> |
|||
<tree editable="bottom"> |
|||
<field name="name" /> |
|||
</tree> |
|||
</field> |
|||
</field> |
|||
</field> |
|||
</record> |
|||
|
|||
<record id="view_account_bnk_stmt_cashbox" model="ir.ui.view"> |
|||
<field name="name">account.bnk_stmt_cashbox.form</field> |
|||
<field name="model">account.bank.statement.cashbox</field> |
|||
<field name="inherit_id" ref="account.view_account_bnk_stmt_cashbox" /> |
|||
<field name="arch" type="xml"> |
|||
<field name="coin_value" position="attributes"> |
|||
<attribute name="readonly">1</attribute> |
|||
</field> |
|||
</field> |
|||
</record> |
|||
|
|||
<template id="assets" inherit_id="point_of_sale.assets"> |
|||
<xpath expr="." position="inside"> |
|||
<script type="text/javascript" |
|||
src="/beesdoo_pos/static/src/js/beesdoo.js"></script> |
|||
<link rel='stylesheet' href="/beesdoo_pos/static/src/css/beesdoo.css" /> |
|||
</xpath> |
|||
</template> |
|||
</data> |
|||
</openerp> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue