[MIG] account_tax_balance: Migration to 16.0
This commit is contained in:
@@ -25,28 +25,27 @@ class AccountMove(models.Model):
|
||||
readonly=True,
|
||||
)
|
||||
|
||||
@api.depends(
|
||||
"line_ids.account_id.internal_type",
|
||||
"line_ids.balance",
|
||||
"line_ids.account_id.user_type_id.type",
|
||||
)
|
||||
@api.depends("line_ids.account_id.account_type", "line_ids.balance")
|
||||
def _compute_financial_type(self):
|
||||
def _balance_get(line_ids, internal_type):
|
||||
def _balance_get(line_ids, account_type):
|
||||
return sum(
|
||||
line_ids.filtered(
|
||||
lambda x: x.account_id.internal_type == internal_type
|
||||
lambda x: x.account_id.account_type == account_type
|
||||
).mapped("balance")
|
||||
)
|
||||
|
||||
for move in self:
|
||||
internal_types = move.line_ids.mapped("account_id.internal_type")
|
||||
if "liquidity" in internal_types:
|
||||
account_types = move.line_ids.mapped("account_id.account_type")
|
||||
if (
|
||||
"asset_cash" in account_types
|
||||
or "liability_credit_card" in account_types
|
||||
):
|
||||
move.financial_type = "liquidity"
|
||||
elif "payable" in internal_types:
|
||||
balance = _balance_get(move.line_ids, "payable")
|
||||
elif "liability_payable" in account_types:
|
||||
balance = _balance_get(move.line_ids, "liability_payable")
|
||||
move.financial_type = "payable" if balance < 0 else "payable_refund"
|
||||
elif "receivable" in internal_types:
|
||||
balance = _balance_get(move.line_ids, "receivable")
|
||||
elif "asset_receivable" in account_types:
|
||||
balance = _balance_get(move.line_ids, "asset_receivable")
|
||||
move.financial_type = (
|
||||
"receivable" if balance > 0 else "receivable_refund"
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user