diff --git a/product/ERP5Type/dynamic/lazy_class.py b/product/ERP5Type/dynamic/lazy_class.py index acebd94723e06b875153cb964e32ade1e27c5f9e..0e4c2e5c87aaa6d8e3fda0c6b2fc11fc1fe69e74 100644 --- a/product/ERP5Type/dynamic/lazy_class.py +++ b/product/ERP5Type/dynamic/lazy_class.py @@ -237,7 +237,8 @@ class PortalTypeMetaClass(GhostBaseMetaClass): for key, value in attribute_dict.iteritems(): setattr(klass, key, value) - klass._categories = base_category_list + # XXX disabled + #klass._categories = base_category_list for interface in interface_list: classImplements(klass, interface) diff --git a/product/ERP5Type/dynamic/portal_type_class.py b/product/ERP5Type/dynamic/portal_type_class.py index 5755e1ed7c1ed906c7eddb59e35b512aea9d6f6f..fd8d5f10a2f3218639bbe65f89ac2896f42961ce 100644 --- a/product/ERP5Type/dynamic/portal_type_class.py +++ b/product/ERP5Type/dynamic/portal_type_class.py @@ -287,6 +287,11 @@ def generatePortalTypeClass(site, portal_type_name): erp5.accessor_holder, property_sheet_tool) + base_category_set = set(base_category_list) + for accessor_holder in accessor_holder_list: + base_category_set.update(accessor_holder._categories) + base_category_list = list(base_category_set) + property_sheet_generating_portal_type_set.remove(portal_type_name) # LOG("ERP5Type.dynamic", INFO,