Choose between using current user or specific user as invoice user
-
+
diff --git a/replace_invoicing_user/wizard/sale_make_invoice_advance.py b/replace_invoicing_user/wizard/sale_make_invoice_advance.py
index 0577e07..96105c7 100644
--- a/replace_invoicing_user/wizard/sale_make_invoice_advance.py
+++ b/replace_invoicing_user/wizard/sale_make_invoice_advance.py
@@ -21,9 +21,26 @@ class SaleMakeInvoiceAdvance(models.TransientModel):
user_id = self.env.user.id
else:
user_id = specific_user_id if specific_user_id else self.env.user.id
+ # Ne pas tracker les followers si on n'utilise pas l'utilisateur courant
+ # Cette valeur sera lue depuis le contexte par le modèle account.move
+ self = self.with_context(no_follower_tracking=True, specific_invoice_user_id=specific_user_id)
invoice_vals.update({
'invoice_user_id': user_id,
'user_id': user_id,
})
return invoice_vals
+
+ def _create_invoices(self, sale_orders):
+ # Si on utilise un utilisateur spécifique, il faut aussi passer le contexte ici
+ use_current_user = self.env['ir.config_parameter'].sudo().get_param(
+ 'current_user_as_invoice_user.use_current_user', 'True'
+ ).lower() == 'true'
+
+ if not use_current_user:
+ specific_user_id = int(self.env['ir.config_parameter'].sudo().get_param(
+ 'current_user_as_invoice_user.specific_user_id', '0'
+ ))
+ self = self.with_context(no_follower_tracking=True, specific_invoice_user_id=specific_user_id)
+
+ return super()._create_invoices(sale_orders)
diff --git a/replace_invoicing_user/wizard/sale_order.py b/replace_invoicing_user/wizard/sale_order.py
index c1d16e2..f3b962b 100644
--- a/replace_invoicing_user/wizard/sale_order.py
+++ b/replace_invoicing_user/wizard/sale_order.py
@@ -21,9 +21,26 @@ class SaleOrder(models.Model):
user_id = self.env.user.id
else:
user_id = specific_user_id if specific_user_id else self.env.user.id
+ # Ne pas tracker les followers si on n'utilise pas l'utilisateur courant
+ # Cette valeur sera lue depuis le contexte par le modèle account.move
+ self = self.with_context(no_follower_tracking=True, specific_invoice_user_id=specific_user_id)
invoice_vals.update({
'invoice_user_id': user_id,
'user_id': user_id,
})
- return invoice_vals
\ No newline at end of file
+ return invoice_vals
+
+ def _create_invoices(self, grouped=False, final=False, date=None):
+ # Si on utilise un utilisateur spécifique, il faut aussi passer le contexte ici
+ use_current_user = self.env['ir.config_parameter'].sudo().get_param(
+ 'current_user_as_invoice_user.use_current_user', 'True'
+ ).lower() == 'true'
+
+ if not use_current_user:
+ specific_user_id = int(self.env['ir.config_parameter'].sudo().get_param(
+ 'current_user_as_invoice_user.specific_user_id', '0'
+ ))
+ self = self.with_context(no_follower_tracking=True, specific_invoice_user_id=specific_user_id)
+
+ return super()._create_invoices(grouped=grouped, final=final, date=date)
\ No newline at end of file