bemade-addons/replace_invoicing_user/wizard/sale_order.py
2025-03-06 10:21:49 -05:00

29 lines
No EOL
934 B
Python

from odoo import models, fields, api, _
class SaleOrder(models.Model):
_inherit = "sale.order"
def _prepare_invoice(self):
invoice_vals = super()._prepare_invoice()
# Get configuration parameters
use_current_user = self.env['ir.config_parameter'].sudo().get_param(
'current_user_as_invoice_user.use_current_user', 'True'
).lower() == 'true'
specific_user_id = int(self.env['ir.config_parameter'].sudo().get_param(
'current_user_as_invoice_user.specific_user_id', '0'
))
# Determine which user to use
if use_current_user:
user_id = self.env.user.id
else:
user_id = specific_user_id if specific_user_id else self.env.user.id
invoice_vals.update({
'invoice_user_id': user_id,
'user_id': user_id,
})
return invoice_vals