diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
| commit | 3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch) | |
| tree | a44932296ef4a9b71d5f010906253d8c53727726 /addons/point_of_sale/wizard/pos_box.py | |
| parent | 0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff) | |
initial commit 2
Diffstat (limited to 'addons/point_of_sale/wizard/pos_box.py')
| -rw-r--r-- | addons/point_of_sale/wizard/pos_box.py | 35 |
1 files changed, 35 insertions, 0 deletions
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 |
