• Arnaud Fontaine's avatar
    ZODB Components: providesIFoo() getters were only created for FS Interfaces (MR !1099). · c86107bf
    Arnaud Fontaine authored
    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.
    c86107bf
Base.py 145 KB