trytond-patches/issue9103.diff

19 lines
923 B
Diff

diff --git a/trytond/trytond/pool.py b/trytond/trytond/pool.py
index 9e195ab0..4f7ea490 100644
--- a/trytond/trytond/pool.py
+++ b/trytond/trytond/pool.py
@@ -182,6 +182,13 @@ class Pool(object):
cls = builtins.type(str(name), (Report,), {})
cls.__setup__()
self.add(cls, type)
+ for mixins in self.classes_mixin.values():
+ for parent, mixin in mixins:
+ if (not issubclass(cls, parent) or issubclass(cls, mixin)):
+ continue
+ cls = builtins.type(cls.__name__, (mixin, cls), {})
+ self.add(cls, type=type)
+ cls = self._pool[self.database_name][type][name]
return cls
elif name[:15] == 'babi_execution_':
with Transaction(new=True).start(self.database_name, 0, readonly=False):