Odoo Mindscape. Understand Odoo faster. Explore modules, fields, dependencies and version differences in one place instead of digging through the source code.

Module: Invoicing

Entity: ir.module.module

Compute Method: _compute_account_templates

View 19.0 View 20.0
Inputs Method Outputs
  • category_id
  • name
  • state
- chart_category = self.env.ref('base.module_category_accounting_localizations_account_charts')
- ChartTemplate = self.env['account.chart.template']
+ code2country = self.env['res.country'].search([]).grouped('code')
for module in self:
-             templates = {}
-             if module.category_id == chart_category or module.name == 'account':
-                 try:
-                     python_module = import_module(f"odoo.addons.{module.name}.models")
-                 except ModuleNotFoundError:
-                     templates = {}
-                 else:
-                     templates = {
-                         fct._l10n_template[0]: {
-                             'name': template_values.get('name'),
-                             'parent': template_values.get('parent'),
-                             'sequence': template_values.get('sequence', 1),
-                             'country': template_values.get('country', ''),
-                             'visible': template_values.get('visible', True),
-                             'installed': module.state == "installed",
-                             'module': module.name,
-                         }
-                         for _name, mdl in getmembers(python_module, template_module)
-                         for _name, cls in getmembers(mdl, template_class)
-                         for _name, fct in getmembers(cls, template_function)
-                         if (template_values := fct(ChartTemplate))
-                     }
- 
            module.account_templates = {
-                 code: templ(self.env, code, **vals)
-                 for code, vals in sorted(templates.items(), key=lambda kv: kv[1]['sequence'])
+                 code: templ(self.env, code2country, **vals)
+                 for code, vals in module._get_module_template().items()
            }
  • account_templates

Back to entity