ZODB Components: providesIFoo() getters were only created for FS Interfaces (MR !1099).
Add them to BaseAccessorHolder (like `Base Category` accessors) instead of Base class so they can be regenerated on reset while not having to remove ZODB Components from Base class on reset. This means that providesIFoo() will only be available on Portal Type classes whereas before it was working for direct Document instanciation, but the latter has been banned for several years anyway and the few remaining ones have been fixed (23b2b5fd, e791d08a). Also, instead of Base.provides() being a CachingMethod() (does not work with resets), create a method dynamically on the Portal Type class (erp5.portal_type.Foo), as not caching at all is ~18 times slower.
Showing