Skip to content

Commit

Permalink
Tightened up permission declarations in many places where there were
Browse files Browse the repository at this point in the history
too loose.
  • Loading branch information
Jim Fulton committed Aug 12, 2004
1 parent b6e8b2a commit 04b7392
Show file tree
Hide file tree
Showing 8 changed files with 310 additions and 4 deletions.
53 changes: 53 additions & 0 deletions browser/configure.zcml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
<configure
xmlns="http://namespaces.zope.org/browser"
i18n_domain="zope">

<resource name="apidoc.css" file="apidoc.css" />

<page
for="*"
name="apidoc_macros"
permission="zope.View"
class=".macros.APIDocumentationMacros"
allowed_interface="zope.interface.common.mapping.IItemMapping"
/>

<page
for="*"
name="menu_macros"
permission="zope.View"
template="menu_macros.pt"
/>

<page
for="*"
name="details_macros"
permission="zope.View"
template="details_macros.pt"
/>

<pages
for="zope.app.apidoc.APIDocumentation"
class=".apidoc.APIDocumentationView"
permission="zope.app.apidoc.UseAPIDoc">

<page
name="index.html"
template="index.pt" />

<page
name="modulelist.html"
template="modules.pt" />

<page
name="menu.html"
template="menu.pt" />

<page
name="contents.html"
template="contents.pt" />

</pages>

</configure>

8 changes: 4 additions & 4 deletions classmodule/configure.zcml
Original file line number Diff line number Diff line change
Expand Up @@ -31,28 +31,28 @@

<browser:page
for=".ClassModule"
permission="zope.View"
permission="zope.app.apidoc.UseAPIDoc"
class=".browser.Menu"
name="menu.html"
template="menu.pt" />

<browser:page
for=".IModuleDocumentation"
permission="zope.View"
permission="zope.app.apidoc.UseAPIDoc"
class=".browser.ModuleDetails"
name="index.html"
template="module_index.pt" />

<browser:page
for=".IClassDocumentation"
permission="zope.View"
permission="zope.app.apidoc.UseAPIDoc"
class=".browser.ClassDetails"
name="index.html"
template="class_index.pt" />

<browser:page
for=".IFunctionDocumentation"
permission="zope.View"
permission="zope.app.apidoc.UseAPIDoc"
class=".browser.FunctionDetails"
name="index.html"
template="function_index.pt" />
Expand Down
39 changes: 39 additions & 0 deletions configure.zcml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<configure
xmlns="http://namespaces.zope.org/zope"
i18n_domain="zope">

<permission
id="zope.app.apidoc.UseAPIDoc"
title="[zope.app.apidoc.UseAPIDoc] Access Online API documentation"
/>

<class class=".APIDocumentation">
<require
interface="zope.app.container.interfaces.IReadContainer"
permission="zope.ManageApplication"
/>
</class>

<view
name="apidoc" type="*"
provides="zope.app.traversing.interfaces.ITraversable" for="*"
factory=".apidocNamespace"
/>
<adapter
name="apidoc"
provides="zope.app.traversing.interfaces.ITraversable" for="*"
factory=".apidocNamespace"
/>

<include package=".browser" />

<!-- API Documentation Modules -->
<include package=".classmodule" />
<include package=".ifacemodule" />
<include package=".servicemodule" />
<include package=".utilitymodule" />
<include package=".viewmodule" />
<include package=".zcmlmodule" />
<!--include package=".cookbookmodule" /-->

</configure>
44 changes: 44 additions & 0 deletions ifacemodule/configure.zcml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
<configure
xmlns="http://namespaces.zope.org/zope"
xmlns:browser="http://namespaces.zope.org/browser">

<class class=".InterfaceModule">
<allow interface=".IInterfaceModule" />
<allow interface="zope.app.container.interfaces.IReadContainer" />
</class>

<!-- Register the module with the API Documentation System -->

<utility
provides="zope.app.apidoc.interfaces.IDocumentationModule"
factory=".InterfaceModule"
name="Interface" />

<!-- The name for the interface content cannot be 'index.html', since the
introspector uses this name already. -->

<browser:page
for="zope.interface.interfaces.IInterface"
permission="zope.app.apidoc.UseAPIDoc"
class=".browser.InterfaceDetails"
name="apiindex.html"
template="index.pt"
/>

<!-- Interface Documentation Module Menu -->

<adapter
provides="zope.app.tree.interfaces.IChildObjects"
for=".IInterfaceModule"
factory=".menu.InterfaceModuleChildObjects"
/>

<browser:page
for=".InterfaceModule"
permission="zope.app.apidoc.UseAPIDoc"
class=".menu.Menu"
name="menu.html"
template="menu.pt"
/>

</configure>
37 changes: 37 additions & 0 deletions servicemodule/configure.zcml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<configure
xmlns="http://namespaces.zope.org/zope"
xmlns:browser="http://namespaces.zope.org/browser"
>

<class class=".ServiceModule">
<allow interface="zope.app.apidoc.interfaces.IDocumentationModule" />
<allow interface="zope.app.container.interfaces.IReadContainer" />
</class>

<class class=".Service">
<allow attributes="name interface implementations" />
</class>

<utility
provides="zope.app.apidoc.interfaces.IDocumentationModule"
factory=".ServiceModule"
name="Service"
/>

<browser:page
for=".ServiceModule"
permission="zope.app.apidoc.UseAPIDoc"
class=".browser.Menu"
name="menu.html"
template="menu.pt"
/>

<browser:page
for=".Service"
permission="zope.app.apidoc.UseAPIDoc"
class=".browser.ServiceDetails"
name="index.html"
template="index.pt"
/>

</configure>
38 changes: 38 additions & 0 deletions utilitymodule/configure.zcml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
<configure
xmlns="http://namespaces.zope.org/zope"
xmlns:browser="http://namespaces.zope.org/browser">

<class class=".UtilityModule">
<allow interface="zope.app.apidoc.interfaces.IDocumentationModule" />
<allow interface="zope.app.container.interfaces.IReadContainer" />
</class>

<class class=".Utility">
<allow attributes="registration interface component doc" />
</class>

<class class=".UtilityInterface">
<allow interface="zope.app.container.interfaces.IReadContainer" />
<allow attributes="interface" />
</class>

<utility
provides="zope.app.apidoc.interfaces.IDocumentationModule"
factory=".UtilityModule"
name="Utility" />

<browser:page
for=".UtilityModule"
permission="zope.app.apidoc.UseAPIDoc"
class=".browser.Menu"
name="menu.html"
template="menu.pt" />

<browser:page
for=".Utility"
permission="zope.app.apidoc.UseAPIDoc"
class=".browser.UtilityDetails"
name="index.html"
template="index.pt" />

</configure>
56 changes: 56 additions & 0 deletions viewmodule/configure.zcml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
<configure
xmlns="http://namespaces.zope.org/zope"
xmlns:browser="http://namespaces.zope.org/browser">

<class class=".ViewModule">
<allow interface="zope.app.apidoc.interfaces.IDocumentationModule" />
<allow attributes="getSkins"/>
</class>

<utility
provides="..interfaces.IDocumentationModule"
factory=".ViewModule"
name="Views" />

<class class=".SkinDocumentation">
<allow interface=".ISkinDocumentation" />
<allow attributes="getLayers isDefault getDoc"/>
</class>

<adapter
for=".ISkinRegistration"
provides=".ISkinDocumentation"
factory=".SkinDocumentation" />

<class class=".LayerDocumentation">
<allow interface=".ILayerDocumentation" />
<allow attributes="getDoc"/>
</class>

<adapter
for=".ILayerRegistration"
provides=".ILayerDocumentation"
factory=".LayerDocumentation" />

<browser:page
for=".ViewModule"
permission="zope.app.apidoc.UseAPIDoc"
class=".browser.Menu"
name="menu.html"
template="menu.pt" />

<browser:page
for=".ViewModule"
permission="zope.app.apidoc.UseAPIDoc"
class=".browser.SkinLayer"
name="skin_layer.html"
template="skin_layer.pt" />

<browser:page
for=".ViewModule"
permission="zope.app.apidoc.UseAPIDoc"
class=".browser.ViewsDetails"
name="index.html"
template="index.pt" />

</configure>
39 changes: 39 additions & 0 deletions zcmlmodule/configure.zcml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<configure
xmlns="http://namespaces.zope.org/zope"
xmlns:browser="http://namespaces.zope.org/browser">

<class class=".ZCMLModule">
<allow interface="zope.app.apidoc.interfaces.IDocumentationModule" />
<allow interface="zope.app.container.interfaces.IReadContainer" />
</class>

<class class=".Namespace">
<allow attributes="getShortName getFullName getQuotedName" />
<allow interface="zope.app.container.interfaces.IReadContainer" />
</class>

<class class=".Directive">
<allow attributes="name schema handler info subdirs" />
</class>

<utility
provides="zope.app.apidoc.interfaces.IDocumentationModule"
factory=".ZCMLModule"
name="ZCML" />

<browser:page
for=".ZCMLModule"
class=".browser.Menu"
permission="zope.app.apidoc.UseAPIDoc"
name="menu.html"
template="menu.pt" />

<browser:page
for=".Directive"
class=".browser.DirectiveDetails"
permission="zope.app.apidoc.UseAPIDoc"
name="index.html"
template="index.pt" />

</configure>

0 comments on commit 04b7392

Please sign in to comment.