[WIP] automatic register cash moves

This commit is contained in:
Darío Lodeiros
2022-01-16 19:33:17 +01:00
parent c9cd05195d
commit 725b86ee81
2 changed files with 61 additions and 69 deletions

View File

@@ -1668,6 +1668,21 @@ class PmsFolio(models.Model):
"""
if not pay_type:
pay_type = journal.type
vals = {
"journal_id": journal.id,
"partner_id": partner.id,
"amount": amount,
"date": fields.Date.today(),
"ref": folio.name,
"folio_ids": [(6, 0, [folio.id])],
"payment_type": "inbound",
"partner_type": "customer",
"state": "draft",
}
pay = self.env["account.payment"].create(vals)
pay.action_post()
# Automatic register payment in cash register
if pay_type == "cash":
line = self._get_statement_line_vals(
journal=journal,
@@ -1681,36 +1696,22 @@ class PmsFolio(models.Model):
date=date,
)
self.env["account.bank.statement.line"].sudo().create(line)
else:
vals = {
"journal_id": journal.id,
"partner_id": partner.id,
"amount": amount,
"date": fields.Date.today(),
"ref": folio.name,
"folio_ids": [(6, 0, [folio.id])],
"payment_type": "inbound",
"partner_type": "customer",
"state": "draft",
}
pay = self.env["account.payment"].create(vals)
pay.action_post()
folio.message_post(
body=_(
"""Payment: <b>%s</b> by <b>%s</b>""",
amount,
journal.display_name,
)
)
for reservation in folio.reservation_ids:
reservation.message_post(
body=_(
"""Payment: <b>%s</b> by <b>%s</b>""",
amount,
journal.display_name,
)
)
# folio.message_post(
# body=_(
# """Payment: <b>%s</b> by <b>%s</b>""",
# amount,
# journal.display_name,
# )
# )
# for reservation in folio.reservation_ids:
# reservation.message_post(
# body=_(
# """Payment: <b>%s</b> by <b>%s</b>""",
# amount,
# journal.display_name,
# )
# )
return True
def do_refund(
@@ -1733,6 +1734,22 @@ class PmsFolio(models.Model):
"""
if not pay_type:
pay_type = journal.type
vals = {
"journal_id": journal.id,
"partner_id": partner.id,
"amount": amount if amount > 0 else -amount,
"date": fields.Date.today(),
"ref": folio.name,
"folio_ids": [(6, 0, [folio.id])],
"payment_type": "outbound",
"partner_type": "customer",
"state": "draft",
}
pay = self.env["account.payment"].create(vals)
pay.action_post()
# Automatic register refund in cash register
if pay_type == "cash":
line = self._get_statement_line_vals(
journal=journal,
@@ -1746,36 +1763,22 @@ class PmsFolio(models.Model):
date=date,
)
self.env["account.bank.statement.line"].sudo().create(line)
else:
vals = {
"journal_id": journal.id,
"partner_id": partner.id,
"amount": amount if amount > 0 else -amount,
"date": fields.Date.today(),
"ref": folio.name,
"folio_ids": [(6, 0, [folio.id])],
"payment_type": "outbound",
"partner_type": "customer",
"state": "draft",
}
pay = self.env["account.payment"].create(vals)
pay.action_post()
folio.message_post(
body=_(
"""Refund: <b>%s</b> by <b>%s</b>""",
amount,
journal.display_name,
)
)
for reservation in folio.reservation_ids:
reservation.message_post(
body=_(
"""Refund: <b>%s</b> by <b>%s</b>""",
amount,
journal.display_name,
)
)
# folio.message_post(
# body=_(
# """Refund: <b>%s</b> by <b>%s</b>""",
# amount,
# journal.display_name,
# )
# )
# for reservation in folio.reservation_ids:
# reservation.message_post(
# body=_(
# """Refund: <b>%s</b> by <b>%s</b>""",
# amount,
# journal.display_name,
# )
# )
return True
def open_wizard_several_partners(self):

View File

@@ -535,17 +535,6 @@
</group>
</page>
<page string="Payments">
<separator string="Cash" colspan="4" />
<field name="statement_line_ids" nolabel="1">
<tree>
<field name="journal_id" string="Payment Mode" />
<field name="date" />
<field name="amount" />
<field name="partner_id" invisible="1" />
<field name="state" invisible="1" />
</tree>
</field>
<separator string="Bank" colspan="4" />
<field name="payment_ids" nolabel="1">
<tree>
<field name="journal_id" string="Payment Mode" />