[FIX] account: make sending of invoice send emails deterministic

Using a set for langs means ordering is not deterministic. Having deterministic
processes is better for debug and testing. Use a sorted to ensure ordering
of langs iterable.

Task-2088884 (Mail: Use editable computed stored fields in composer)
Task-3149286 (Account: cleanup account.invoice.send wizard)

X-original-commit: odoo/odoo@d903424
Part-of: odoo/odoo#110919
This commit is contained in:
Thibault Delavallée
2023-01-26 22:09:47 +01:00
parent 9e45df02aa
commit fd513bd25b
@@ -144,7 +144,7 @@ class AccountInvoiceSend(models.TransientModel):
active_records = self.env[self.model].browse(active_ids)
langs = active_records.mapped('partner_id.lang')
default_lang = get_lang(self.env)
for lang in (set(langs) or [default_lang]):
for lang in sorted((set(langs)) or [default_lang]):
active_ids_lang = active_records.filtered(lambda r: r.partner_id.lang == lang).ids
self_lang = self.with_context(
composer_force_res_ids=active_ids_lang,