diff --git a/pos_receipt/__init__.py b/pos_receipt/__init__.py new file mode 100644 index 00000000000..33bbab569d0 --- /dev/null +++ b/pos_receipt/__init__.py @@ -0,0 +1,4 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import models +from . import wizard diff --git a/pos_receipt/__manifest__.py b/pos_receipt/__manifest__.py new file mode 100644 index 00000000000..d3e50844512 --- /dev/null +++ b/pos_receipt/__manifest__.py @@ -0,0 +1,21 @@ +{ + 'name': 'POS receipt', + 'version': '1.0', + 'author': 'niyp', + 'depends': ['point_of_sale'], + 'data': [ + 'security/ir.model.access.csv', + 'wizard/pos_receipt_wizard_views.xml', + 'views/res_config_settings_view.xml', + 'views/boxes_receipt.xml', + 'views/lined_receipt.xml', + 'views/light_receipt.xml', + ], + 'assets': { + 'point_of_sale._assets_pos': [ + 'pos_receipt/static/src/**/*', + ], + }, + 'installable': True, + 'license': 'LGPL-3', +} diff --git a/pos_receipt/models/__init__.py b/pos_receipt/models/__init__.py new file mode 100644 index 00000000000..14259d781e4 --- /dev/null +++ b/pos_receipt/models/__init__.py @@ -0,0 +1,4 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import pos_config +from . import res_config_settings diff --git a/pos_receipt/models/pos_config.py b/pos_receipt/models/pos_config.py new file mode 100644 index 00000000000..5830a8adc80 --- /dev/null +++ b/pos_receipt/models/pos_config.py @@ -0,0 +1,15 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import fields, models + + +class POSConfig(models.Model): + _inherit = 'pos.config' + + receipt_layout = fields.Selection([ + ('light', 'Light'), + ('lined', 'Lined'), + ('boxes', 'Boxes'), + ], string="Receipt Layout", default='light') + + receipt_logo = fields.Binary(string='Receipt Logo', related='company_id.logo', readonly=False) diff --git a/pos_receipt/models/res_config_settings.py b/pos_receipt/models/res_config_settings.py new file mode 100644 index 00000000000..b786afaff89 --- /dev/null +++ b/pos_receipt/models/res_config_settings.py @@ -0,0 +1,19 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import fields, models + + +class ResConfigSettings(models.TransientModel): + _inherit = 'res.config.settings' + + receipt_layout = fields.Selection(related='pos_config_id.receipt_layout', readonly=False) + + def action_pos_receipt_layout(self): + return { + 'type': 'ir.actions.act_window', + 'name': 'Configure your pos receipt', + 'res_model': 'pos.receipt.wizard', + 'view_mode': 'form', + 'target': 'new', + 'context': {'active_pos_config_id': self.pos_config_id.id, 'dialog_size': 'extra-large'}, + } diff --git a/pos_receipt/security/ir.model.access.csv b/pos_receipt/security/ir.model.access.csv new file mode 100644 index 00000000000..009e231981a --- /dev/null +++ b/pos_receipt/security/ir.model.access.csv @@ -0,0 +1,2 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +pos_receipt.access_receipt_layout,access_receipt_layout,pos_receipt.model_pos_receipt_wizard,base.group_user,1,1,1,1 diff --git a/pos_receipt/static/src/order_receipt_inherit.js b/pos_receipt/static/src/order_receipt_inherit.js new file mode 100644 index 00000000000..e16bdaad9ab --- /dev/null +++ b/pos_receipt/static/src/order_receipt_inherit.js @@ -0,0 +1,22 @@ +import { OrderReceipt } from "@point_of_sale/app/screens/receipt_screen/receipt/order_receipt"; +import { patch } from "@web/core/utils/patch"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; + +patch(OrderReceipt, { + template: "pos_receipt.order_receipt_inherited" +}); + +patch(OrderReceipt.prototype, { + setup(){ + super.setup(); + this.pos = usePos(); + }, + + get orderQuantity() { + return this.props.data.orderlines.reduce((acc, line) => acc + parseFloat(line.qty), 0); + }, + + get order() { + return this.pos.get_order() + } +}); diff --git a/pos_receipt/static/src/order_receipt_inherit.xml b/pos_receipt/static/src/order_receipt_inherit.xml new file mode 100644 index 00000000000..ae8e73c6200 --- /dev/null +++ b/pos_receipt/static/src/order_receipt_inherit.xml @@ -0,0 +1,329 @@ + + + +
+ + + + + + +
  • + + +
  • +
    +
    + +
    +
    --------------------------------
    +
    + + Untaxed Amount + +
    +
    + + + + + + + on + + + +
    +
    +
    --------------------------------
    +
    + TOTAL + +
    + +
    + Rounding + +
    +
    + To Pay + +
    +
    +
    + + +
    +
    + CHANGE + +
    + +
    + Discounts + +
    +
    +