Merge PR #1975 into 16.0

Signed-off-by adrienpeiffer
This commit is contained in:
OCA-git-bot
2024-12-02 11:04:55 +00:00

View File

@@ -263,6 +263,7 @@ class AccountLoanLine(models.Model):
)
def _move_vals(self, journal=False, account=False):
self.ensure_one()
return {
"loan_line_id": self.id,
"loan_id": self.loan_id.id,
@@ -274,8 +275,8 @@ class AccountLoanLine(models.Model):
],
}
def _move_line_vals(self, account=False):
vals = []
def _add_basic_values(self, vals, account):
self.ensure_one()
partner = self.loan_id.partner_id.with_company(self.loan_id.company_id)
vals.append(
{
@@ -286,14 +287,21 @@ class AccountLoanLine(models.Model):
"debit": 0,
}
)
if self.interests_amount:
vals.append(
{
"account_id": self.loan_id.interest_expenses_account_id.id,
"credit": 0,
"debit": self.interests_amount,
}
)
return vals
def _add_interests_values(self, vals):
self.ensure_one()
vals.append(
{
"account_id": self.loan_id.interest_expenses_account_id.id,
"credit": 0,
"debit": self.interests_amount,
}
)
return vals
def _add_short_term_account_values(self, vals):
self.ensure_one()
vals.append(
{
"account_id": self.loan_id.short_term_loan_account_id.id,
@@ -301,6 +309,10 @@ class AccountLoanLine(models.Model):
"debit": self.payment_amount - self.interests_amount,
}
)
return vals
def _add_long_term_account_values(self, vals):
self.ensure_one()
if self.long_term_loan_account_id and self.long_term_principal_amount:
vals.append(
{
@@ -318,7 +330,20 @@ class AccountLoanLine(models.Model):
)
return vals
def _move_line_vals(self, account=False):
self.ensure_one()
vals = []
vals = self._add_basic_values(vals, account)
if self.interests_amount:
vals = self._add_interests_values(vals)
vals = self._add_short_term_account_values(vals)
vals = self._add_long_term_account_values(vals)
return vals
def _invoice_vals(self):
self.ensure_one()
return {
"loan_line_id": self.id,
"loan_id": self.loan_id.id,
@@ -332,8 +357,7 @@ class AccountLoanLine(models.Model):
],
}
def _invoice_line_vals(self):
vals = list()
def _add_basic_values_invoice_line(self, vals):
vals.append(
{
"product_id": self.loan_id.product_id.id,
@@ -343,6 +367,9 @@ class AccountLoanLine(models.Model):
"account_id": self.loan_id.short_term_loan_account_id.id,
}
)
return vals
def _add_interests_values_invoice_line(self, vals):
vals.append(
{
"product_id": self.loan_id.interests_product_id.id,
@@ -354,6 +381,12 @@ class AccountLoanLine(models.Model):
)
return vals
def _invoice_line_vals(self):
vals = list()
vals = self._add_basic_values_invoice_line(vals)
vals = self._add_interests_values_invoice_line(vals)
return vals
def _generate_move(self, journal=False, account=False):
"""
Computes and post the moves of loans