19.0 vanilla

This commit is contained in:
Ernad Husremovic 2026-03-09 09:31:00 +01:00
parent a1137a1456
commit e1d89e11e3
2789 changed files with 1093187 additions and 605897 deletions

View file

@ -1,6 +1,4 @@
# -*- coding: utf-8 -*-
from odoo import models, fields, api, _
from odoo import models, api
class AccountPaymentRegister(models.TransientModel):
@ -14,9 +12,13 @@ class AccountPaymentRegister(models.TransientModel):
def _get_line_batch_key(self, line):
# OVERRIDE to set the bank account defined on the employee
res = super()._get_line_batch_key(line)
expense_sheet = self.env['hr.expense.sheet'].search([('payment_mode', '=', 'own_account'), ('account_move_id', 'in', line.move_id.ids)])
if expense_sheet and not line.move_id.partner_bank_id:
res['partner_bank_id'] = expense_sheet.employee_id.sudo().bank_account_id.id or line.partner_id.bank_ids and line.partner_id.bank_ids.ids[0]
expense = line.move_id.expense_ids.filtered(lambda expense: expense.payment_mode == 'own_account')
if expense and not line.move_id.partner_bank_id:
res['partner_bank_id'] = (
expense.employee_id.sudo().primary_bank_account_id.id
or line.partner_id.bank_ids
and line.partner_id.bank_ids.ids[0]
)
return res
def _init_payments(self, to_process, edit_mode=False):
@ -25,15 +27,5 @@ class AccountPaymentRegister(models.TransientModel):
for payment, vals in zip(payments, to_process):
expenses = vals['batch']['lines'].expense_id
if expenses:
payment.line_ids.write({'expense_id': expenses[0].id})
payment.move_id.line_ids.write({'expense_id': expenses[0].id})
return payments
def _reconcile_payments(self, to_process, edit_mode=False):
# OVERRIDE
res = super()._reconcile_payments(to_process, edit_mode=edit_mode)
for vals in to_process:
expense_sheets = vals['batch']['lines'].expense_id.sheet_id
for expense_sheet in expense_sheets:
if expense_sheet.currency_id.is_zero(expense_sheet.amount_residual):
expense_sheet.state = 'done'
return res