Odoo18-Base/addons/project_hr_expense/models/hr_expense.py
2025-01-06 10:57:38 +07:00

25 lines
1015 B
Python

from odoo import api, models
class HrExpense(models.Model):
_inherit = 'hr.expense'
def _compute_analytic_distribution(self):
project_id = self.env.context.get('project_id')
if not project_id:
super()._compute_analytic_distribution()
else:
analytic_distribution = self.env['project.project'].browse(project_id)._get_analytic_distribution()
for expense in self:
expense.analytic_distribution = expense.analytic_distribution or analytic_distribution
@api.model_create_multi
def create(self, vals_list):
project_id = self.env.context.get('project_id')
if project_id:
analytic_distribution = self.env['project.project'].browse(project_id)._get_analytic_distribution()
if analytic_distribution:
for vals in vals_list:
vals['analytic_distribution'] = vals.get('analytic_distribution', analytic_distribution)
return super().create(vals_list)