From 3751379f1e9a4c215fb6eb898b4ccc67659b9ace Mon Sep 17 00:00:00 2001 From: stephanchrst Date: Tue, 10 May 2022 21:51:50 +0700 Subject: initial commit 2 --- addons/point_of_sale/wizard/pos_box.py | 35 ++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 addons/point_of_sale/wizard/pos_box.py (limited to 'addons/point_of_sale/wizard/pos_box.py') diff --git a/addons/point_of_sale/wizard/pos_box.py b/addons/point_of_sale/wizard/pos_box.py new file mode 100644 index 00000000..bd8aa751 --- /dev/null +++ b/addons/point_of_sale/wizard/pos_box.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import api, _ +from odoo.exceptions import UserError + +from odoo.addons.account.wizard.pos_box import CashBox + + +class PosBox(CashBox): + _register = False + + def run(self): + active_model = self.env.context.get('active_model', False) + active_ids = self.env.context.get('active_ids', []) + + if active_model == 'pos.session': + bank_statements = [session.cash_register_id for session in self.env[active_model].browse(active_ids) if session.cash_register_id] + if not bank_statements: + raise UserError(_("There is no cash register for this PoS Session")) + return self._run(bank_statements) + else: + return super(PosBox, self).run() + + +class PosBoxOut(PosBox): + _inherit = 'cash.box.out' + + def _calculate_values_for_statement_line(self, record): + values = super(PosBoxOut, self)._calculate_values_for_statement_line(record) + active_model = self.env.context.get('active_model', False) + active_ids = self.env.context.get('active_ids', []) + if active_model == 'pos.session' and active_ids: + values['ref'] = self.env[active_model].browse(active_ids)[0].name + return values -- cgit v1.2.3