diff --git a/custom_receipts_for_pos/__manifest__.py b/custom_receipts_for_pos/__manifest__.py index cfcb1df28..fd14549f4 100644 --- a/custom_receipts_for_pos/__manifest__.py +++ b/custom_receipts_for_pos/__manifest__.py @@ -23,7 +23,7 @@ { 'name': 'POS Receipt Design', - 'version': '16.0.1.0.0', + 'version': '16.0.1.0.1', 'summary': """Option to select the customised Receipts for each POS""", 'description': "Option to select the customised Receipts for each POS", 'category': 'Point of Sale', diff --git a/custom_receipts_for_pos/static/js/ReceiptScreen/order_receipt.js b/custom_receipts_for_pos/static/js/ReceiptScreen/order_receipt.js index 562809296..08b30d960 100644 --- a/custom_receipts_for_pos/static/js/ReceiptScreen/order_receipt.js +++ b/custom_receipts_for_pos/static/js/ReceiptScreen/order_receipt.js @@ -6,45 +6,45 @@ odoo.define('custom_receipts_for_pos.receipt',function(require){ const OrderReceipt = require('point_of_sale.OrderReceipt'); const AbstractReceiptScreen = require('point_of_sale.AbstractReceiptScreen'); var SuperOrder = models.Order; + const{onMounted}=owl; - PosDB.include({ - init:function(options){ - var self=this;this._super(options); + PosDB.include({ + init:function(options) + { + var self=this; + this._super(options); this.receipt_design=null; - }, - }) + }, + }) + const PosResOrderReceipt = OrderReceipt => class extends OrderReceipt { - get receiptEnv() { - let receipt_render_env = super.receiptEnv; - let receipt = receipt_render_env.receipt; - console.log(receipt, 'receipt') - var self=this; - if(self.env.pos.config.is_custom_receipt){ - var receipt_design=self.env.pos.config.design_receipt - var order=self._receiptEnv.order; - var data={ - widget:self.env, - pos:order.pos, - order:order, - receipt:order.export_for_printing(), - orderlines:order.get_orderlines(), - paymentlines:order.get_paymentlines(), - moment:moment, - }; - console.log(data, 'data') - var parser=new DOMParser(); - var xmlDoc=parser.parseFromString(receipt_design,"text/xml"); - var s=new XMLSerializer(); - var newXmlStr=s.serializeToString(xmlDoc); - var qweb=new QWeb2.Engine(); - qweb.add_template(''+newXmlStr+''); - receipt=qweb.render('receipt_design',data);$('div.pos-receipt').replaceWith(receipt); - return receipt_render_env; - } - return receipt_render_env; + setup(){ + super.setup(); + onMounted(()=>{ + var self=this; + if(self.env.pos.config.is_custom_receipt){ + var receipt_design=self.env.pos.config.design_receipt + var order=self._receiptEnv.order; + var data={ + widget:self.env, + pos:order.pos, + order:order, + receipt:order.export_for_printing(), + orderlines:order.get_orderlines(), + paymentlines:order.get_paymentlines(), + moment:moment, + }; + var parser=new DOMParser(); + var xmlDoc=parser.parseFromString(receipt_design,"text/xml"); + var s=new XMLSerializer(); + var newXmlStr=s.serializeToString(xmlDoc); + var qweb=new QWeb2.Engine(); + qweb.add_template(''+newXmlStr+''); + var receipt=qweb.render('receipt_design',data);$('div.pos-receipt').replaceWith(receipt); + } + }) } } Registries.Component.extend(OrderReceipt, PosResOrderReceipt) - return OrderReceipt -}); \ No newline at end of file +});