summaryrefslogtreecommitdiff
path: root/addons/point_of_sale/wizard/pos_box.py
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
committerstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
commit3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch)
treea44932296ef4a9b71d5f010906253d8c53727726 /addons/point_of_sale/wizard/pos_box.py
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (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.py35
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