def edit(self, id, enabled=None, condition=None): """See IModifierRegistrySet """ modifier = self.get(id) if IConditionalTalesModifier.isImplementedBy(modifier): modifier.edit(enabled, condition) else: if condition: raise NotImplementedError("%s does not implement conditions." % modifier) modifier.edit(enabled)
def install(portal_modifier): """Registers modifiers in the modifier registry (at tool install time). """ for m in modifiers: id = m['id'] if id in portal_modifier.objectIds(): continue title = m['title'] modifier = m['modifier']() wrapper = m['wrapper'](id, modifier, title) enabled = m['enabled'] if IConditionalTalesModifier.isImplementedBy(wrapper): wrapper.edit(enabled, m['condition']) else: wrapper.edit(enabled) portal_modifier.register(m['id'], wrapper)