cybertools/relation/configure.zcml
helmutm 963a167f12 relation: some minor changes; + __parent__ assignment for relation when registering it
git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@668 fd906abe-77d9-0310-91a1-e0d9ade77398
2005-11-09 11:21:56 +00:00

72 lines
2 KiB
XML

<!-- $Id$ -->
<configure
xmlns="http://namespaces.zope.org/zope"
xmlns:browser="http://namespaces.zope.org/browser"
i18n_domain="zope">
<localUtility class=".registry.RelationsRegistry">
<require
permission="zope.View"
interface=".interfaces.IRelationsRegistryQuery"
/>
<require
permission="zope.ManageContent"
interface=".interfaces.IRelationsRegistryUpdate"
/>
<require
interface="zope.app.catalog.interfaces.ICatalogQuery"
permission="zope.View"
/>
<require
interface="zope.app.catalog.interfaces.ICatalogEdit"
permission="zope.ManageServices"
/>
<require
interface="zope.app.container.interfaces.IContainer"
permission="zope.ManageServices"
/>
<factory id="cybertools.relation.registry.RelationsRegistry" />
</localUtility>
<adapter
for=".interfaces.IRelation"
provides=".registry.IIndexableRelation"
factory=".registry.IndexableRelationAdapter"
trusted="true"
/>
<subscriber
for=".interfaces.IRelationsRegistry
zope.app.container.interfaces.IObjectAddedEvent"
handler=".registry.setupIndexes"
/>
<subscriber
for="zope.interface.Interface
zope.app.container.interfaces.IObjectRemovedEvent"
handler=".registry.invalidateRelations"
/>
<subscriber
for="cybertools.relation.interfaces.IRelation
cybertools.relation.interfaces.IRelationInvalidatedEvent"
handler=".registry.removeRelation"
/>
<!-- browser settings -->
<browser:tool
interface=".interfaces.IRelationsRegistry"
title="Relations Registry"
description="Registry for relation objects."
/>
<browser:addMenuItem
title="Relations Registry"
description="A utility that allows the registration of and query for relations"
class=".registry.RelationsRegistry"
permission="zope.ManageSite"
/>
</configure>