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",
|
"category": "Point of Sale",
|
||||||
"author": "Suherdy Yacob",
|
"author": "Suherdy Yacob",
|
||||||
"depends": ["point_of_sale"],
|
"depends": ["point_of_sale"],
|
||||||
"data": [],
|
"data": [
|
||||||
|
"views/pos_session_views.xml",
|
||||||
|
],
|
||||||
"assets": {
|
"assets": {
|
||||||
"point_of_sale.assets": [
|
"point_of_sale.assets": [
|
||||||
"pos_cash_opening_adjustment/static/src/xml/closing_popup.xml",
|
"pos_cash_opening_adjustment/static/src/xml/closing_popup.xml",
|
||||||
|
|||||||
@ -43,6 +43,12 @@ class PosSession(models.Model):
|
|||||||
readonly=True,
|
readonly=True,
|
||||||
help="Difference between expected and counted cash at session closing.",
|
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")
|
@api.depends("opening_cash_expected", "opening_cash_counted")
|
||||||
def _compute_opening_cash_difference(self):
|
def _compute_opening_cash_difference(self):
|
||||||
@ -51,6 +57,14 @@ class PosSession(models.Model):
|
|||||||
counted = session.opening_cash_counted or 0.0
|
counted = session.opening_cash_counted or 0.0
|
||||||
session.opening_cash_difference = counted - expected
|
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):
|
def action_pos_session_open(self):
|
||||||
res = super().action_pos_session_open()
|
res = super().action_pos_session_open()
|
||||||
for session in self:
|
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