Merge PR #70 into 14.0

Signed-off-by DarioLodeiros
This commit is contained in:
OCA-git-bot
2021-10-17 14:40:14 +00:00
10 changed files with 244 additions and 86 deletions

View File

@@ -181,6 +181,7 @@ class PmsFolio(models.Model):
)
transaction_ids = fields.Many2many(
string="Transactions",
help="Payments made through payment acquirer",
readonly=True,
copy=False,
comodel_name="payment.transaction",
@@ -188,9 +189,29 @@ class PmsFolio(models.Model):
column1="folio_id",
column2="transaction_id",
)
payment_ids = fields.Many2many(
string="Bank Payments",
help="Payments made by bank direct",
readonly=True,
copy=False,
comodel_name="account.payment",
relation="account_payment_folio_rel",
column1="folio_id",
column2="payment_id",
)
statement_line_ids = fields.Many2many(
string="Cash Payments",
help="Payments made by cash",
readonly=True,
copy=False,
comodel_name="account.bank.statement.line",
relation="account_bank_statement_folio_rel",
column1="folio_id",
column2="account_journal_id",
)
payment_term_id = fields.Many2one(
string="Payment Terms",
help="Pricelist for current folio.",
help="Payment terms for current folio.",
readonly=False,
store=True,
comodel_name="account.payment.term",
@@ -1483,19 +1504,43 @@ class PmsFolio(models.Model):
services=False,
partner=False,
date=False,
pay_type=False,
):
line = self._get_statement_line_vals(
journal=journal,
receivable_account=receivable_account,
user=user,
amount=amount,
folios=folio,
reservations=reservations,
services=services,
partner=partner,
date=date,
)
self.env["account.bank.statement.line"].sudo().create(line)
"""
create folio payment
type: set cash to use statement or bank to use account.payment,
by default, use the journal type
"""
if not pay_type:
pay_type = journal.type
if pay_type == "cash":
line = self._get_statement_line_vals(
journal=journal,
receivable_account=receivable_account,
user=user,
amount=amount,
folios=folio,
reservations=reservations,
services=services,
partner=partner,
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>""",