def ensurePolicy(self, target, information_type): """Helper to call _ensurePolicies Useful because we need to follow to product from ProductSeries to get to _ensurePolicies. """ if IProductSeries.providedBy(target): target = target.product removeSecurityProxy(target)._ensurePolicies(information_type)
def getSpecification(self, target, name): """Helper to get the specification. Useful because we need to follow to product from a ProductSeries. """ # We need an interaction in order to access a product. with person_logged_in(ANONYMOUS): if IProductSeries.providedBy(target): return target.product.getSpecification(name) return target.getSpecification(name)