feat: add computed cash_difference field to pos.session and display in tree view
This commit is contained in:
parent
6518ac6250
commit
24e108e903
@ -5,7 +5,9 @@
|
||||
"category": "Point of Sale",
|
||||
"author": "Suherdy Yacob",
|
||||
"depends": ["point_of_sale"],
|
||||
"data": [],
|
||||
"data": [
|
||||
"views/pos_session_views.xml",
|
||||
],
|
||||
"assets": {
|
||||
"point_of_sale.assets": [
|
||||
"pos_cash_opening_adjustment/static/src/xml/closing_popup.xml",
|
||||
|
||||
@ -43,6 +43,12 @@ class PosSession(models.Model):
|
||||
readonly=True,
|
||||
help="Difference between expected and counted cash at session closing.",
|
||||
)
|
||||
cash_difference = fields.Monetary(
|
||||
string="Cash Different",
|
||||
currency_field="currency_id",
|
||||
compute="_compute_cash_difference",
|
||||
help="The difference between the expected cash and the counted cash.",
|
||||
)
|
||||
|
||||
@api.depends("opening_cash_expected", "opening_cash_counted")
|
||||
def _compute_opening_cash_difference(self):
|
||||
@ -51,6 +57,14 @@ class PosSession(models.Model):
|
||||
counted = session.opening_cash_counted or 0.0
|
||||
session.opening_cash_difference = counted - expected
|
||||
|
||||
@api.depends("state", "closing_cash_difference", "cash_register_difference")
|
||||
def _compute_cash_difference(self):
|
||||
for session in self:
|
||||
if session.state == "closed":
|
||||
session.cash_difference = session.closing_cash_difference or 0.0
|
||||
else:
|
||||
session.cash_difference = session.cash_register_difference or 0.0
|
||||
|
||||
def action_pos_session_open(self):
|
||||
res = super().action_pos_session_open()
|
||||
for session in self:
|
||||
|
||||
16
views/pos_session_views.xml
Normal file
16
views/pos_session_views.xml
Normal file
@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<!--
|
||||
Inherit the pos.session list/tree view to add "Cash Different" field.
|
||||
-->
|
||||
<record id="view_pos_session_tree_inherit" model="ir.ui.view">
|
||||
<field name="name">pos.session.tree.inherit.cash.difference</field>
|
||||
<field name="model">pos.session</field>
|
||||
<field name="inherit_id" ref="point_of_sale.view_pos_session_tree"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='cash_register_balance_end']" position="after">
|
||||
<field name="cash_difference" optional="show"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
Loading…
Reference in New Issue
Block a user