[Zope-Checkins] SVN: Zope/trunk/ Removed `AccessRule` and `SiteRoot` from `Products.SiteAccess`.
Hanno Schlichting
hannosch at hannosch.eu
Sun Jul 3 09:43:06 EDT 2011
Log message for revision 122077:
Removed `AccessRule` and `SiteRoot` from `Products.SiteAccess`.
Changed:
U Zope/trunk/doc/CHANGES.rst
U Zope/trunk/src/OFS/deprecated.zcml
U Zope/trunk/src/Products/Five/component/__init__.py
D Zope/trunk/src/Products/SiteAccess/AccessRule.py
D Zope/trunk/src/Products/SiteAccess/CHANGES.txt
D Zope/trunk/src/Products/SiteAccess/COPYRIGHT.txt
D Zope/trunk/src/Products/SiteAccess/Extensions/
D Zope/trunk/src/Products/SiteAccess/README.txt
D Zope/trunk/src/Products/SiteAccess/SiteRoot.py
U Zope/trunk/src/Products/SiteAccess/__init__.py
D Zope/trunk/src/Products/SiteAccess/doc/
U Zope/trunk/src/Products/SiteAccess/tests/__init__.py
D Zope/trunk/src/Products/SiteAccess/tests/testAccessRule.py
D Zope/trunk/src/Products/SiteAccess/tests/testSiteRoot.py
D Zope/trunk/src/Products/SiteAccess/version.txt
D Zope/trunk/src/Products/SiteAccess/www/AccessRuleAdd.dtml
D Zope/trunk/src/Products/SiteAccess/www/SiteRootAdd.dtml
D Zope/trunk/src/Products/SiteAccess/www/SiteRootEdit.dtml
U Zope/trunk/src/Zope2/Startup/handlers.py
U Zope/trunk/src/Zope2/Startup/zopeschema.xml
-=-
Modified: Zope/trunk/doc/CHANGES.rst
===================================================================
--- Zope/trunk/doc/CHANGES.rst 2011-07-03 13:29:38 UTC (rev 122076)
+++ Zope/trunk/doc/CHANGES.rst 2011-07-03 13:43:05 UTC (rev 122077)
@@ -41,6 +41,8 @@
Restructuring
+++++++++++++
+- Removed `AccessRule` and `SiteRoot` from `Products.SiteAccess`.
+
- Removed `Products.ZReST` and the `reStructuredText` wrapper, you can use
`docutils` directly to gain `reST` support.
Modified: Zope/trunk/src/OFS/deprecated.zcml
===================================================================
--- Zope/trunk/src/OFS/deprecated.zcml 2011-07-03 13:29:38 UTC (rev 122076)
+++ Zope/trunk/src/OFS/deprecated.zcml 2011-07-03 13:43:05 UTC (rev 122077)
@@ -14,8 +14,6 @@
<five:deprecatedManageAddDelete
class="Products.SiteAccess.VirtualHostMonster.VirtualHostMonster"/>
- <five:deprecatedManageAddDelete
- class="Products.SiteAccess.SiteRoot.Traverser"/>
<five:deprecatedManageAddDelete
class="Products.SiteErrorLog.SiteErrorLog.SiteErrorLog"/>
Modified: Zope/trunk/src/Products/Five/component/__init__.py
===================================================================
--- Zope/trunk/src/Products/Five/component/__init__.py 2011-07-03 13:29:38 UTC (rev 122076)
+++ Zope/trunk/src/Products/Five/component/__init__.py 2011-07-03 13:43:05 UTC (rev 122077)
@@ -23,7 +23,7 @@
import ExtensionClass
from Acquisition import aq_base, aq_inner, aq_parent
-from Products.SiteAccess.AccessRule import AccessRule
+from ZPublisher.BeforeTraverse import NameCaller
from ZPublisher.BeforeTraverse import registerBeforeTraverse
from ZPublisher.BeforeTraverse import unregisterBeforeTraverse
@@ -64,7 +64,7 @@
obj = aq_base(obj)
if not IPossibleSite.providedBy(obj):
raise TypeError, 'Must provide IPossibleSite'
- hook = AccessRule(HOOK_NAME)
+ hook = NameCaller(HOOK_NAME)
registerBeforeTraverse(obj, hook, HOOK_NAME, 1)
if not hasattr(obj, HOOK_NAME):
Deleted: Zope/trunk/src/Products/SiteAccess/AccessRule.py
===================================================================
--- Zope/trunk/src/Products/SiteAccess/AccessRule.py 2011-07-03 13:29:38 UTC (rev 122076)
+++ Zope/trunk/src/Products/SiteAccess/AccessRule.py 2011-07-03 13:43:05 UTC (rev 122077)
@@ -1,83 +0,0 @@
-"""AccessRule module
-
-Provide a simple method to set up Access Rules
-"""
-from cgi import escape
-import os
-
-from App.Dialogs import MessageDialog
-from App.special_dtml import DTMLFile
-from ZPublisher.BeforeTraverse import NameCaller
-from ZPublisher.BeforeTraverse import queryBeforeTraverse
-from ZPublisher.BeforeTraverse import registerBeforeTraverse
-from ZPublisher.BeforeTraverse import unregisterBeforeTraverse
-
-SUPPRESS_ACCESSRULE = os.environ.has_key('SUPPRESS_ACCESSRULE')
-
-class AccessRule(NameCaller):
- meta_type = 'Set Access Rule'
-
- def __call__(self, container, request):
- if SUPPRESS_ACCESSRULE:
- return
- NameCaller.__call__(self, container, request)
-
-
-def manage_addAccessRule(self, method_id=None, REQUEST=None, **ignored):
- """Point a __before_traverse__ entry at the specified method"""
- # We want the original object, not stuff in between, and no acquisition
- self = self.this()
- self = getattr(self, 'aq_base', self)
-
- if method_id is None or (REQUEST and REQUEST.form.has_key('none')):
- rules = unregisterBeforeTraverse(self, 'AccessRule')
- if rules:
- try:
- del getattr(self, rules[0].name).icon
- except:
- pass
- if REQUEST:
- return MessageDialog(title='No Access Rule',
- message='This object now has no Access Rule',
- action='%s/manage_main' % REQUEST['URL1'])
- elif method_id and hasattr(self, method_id):
- rules = unregisterBeforeTraverse(self, 'AccessRule')
- if rules:
- try:
- del getattr(self, rules[0].name).icon
- except:
- pass
- hook = AccessRule(method_id)
- registerBeforeTraverse(self, hook, 'AccessRule', 1)
- try:
- getattr(self, method_id).icon = 'accessrule.gif'
- except:
- pass
- if REQUEST:
- return MessageDialog(title='Access Rule Set',
- message='"%s" is now the Access Rule for this object'
- % escape(method_id),
- action='%s/manage_main' % REQUEST['URL1'])
- else:
- if REQUEST:
- return MessageDialog(title='Invalid Method Id',
- message='"%s" is not the Id of a method of this object'
- % escape(method_id),
- action='%s/manage_main' % REQUEST['URL1'])
-
-def getAccessRule(self, REQUEST=None):
- "Return the name of the current AccessRule, if any"
- self = self.this()
- rules = queryBeforeTraverse(self, 'AccessRule')
- if rules:
- try:
- return rules[0][1].name
- except:
- return 'Invalid BeforeTraverse data: ' + `rules`
- return ''
-
-constructors = (
- ('manage_addAccessRuleForm', DTMLFile('www/AccessRuleAdd', globals())),
- ('manage_addAccessRule', manage_addAccessRule),
- ('manage_getAccessRule', getAccessRule),
-)
Deleted: Zope/trunk/src/Products/SiteAccess/CHANGES.txt
===================================================================
--- Zope/trunk/src/Products/SiteAccess/CHANGES.txt 2011-07-03 13:29:38 UTC (rev 122076)
+++ Zope/trunk/src/Products/SiteAccess/CHANGES.txt 2011-07-03 13:43:05 UTC (rev 122077)
@@ -1,104 +0,0 @@
-2000-10-03 Evan Simpson <evan at digicool.com>
-
- * Final release
- * Added VirtualHostMonster, to make common virtual hosting
- cases easy.
-
-2000-07-20 Evan Simpson <evan at digicool.com>
-
- * Beta 3
- * Fixed bug with SiteRoot deletion
- * Added ability to turn off SiteRoots and AccessRules on a case-by-case
- basis, by adding _SUPPRESS_SITEROOT or _SUPPRESS_ACCESSRULE to a
- URL just after the container name.
- * Added crude beginnings of Help
-
-2000-06-19 Evan Simpson <evan at digicool.com>
-
- * Beta 2
- * Removed a chunk of code left from 1.0 which messed up SiteRoots
-
-2000-06-09 Evan Simpson <evan at digicool.com>
-
- * Version 2.0.0
- * Changed to use the new virtual hosting support in Zope 2.2
- * INCOMPATIBLE with Zope versions prior to 2.2b1
- * The tarball no longer includes 'lib/python/Products' in file
- paths. It must be unpacked in the Products directory, for
- better compatibility with INSTANCE_HOME installations.
-
-2000-03-21 Evan Simpson <evan at 4-am.com>
-
- * Version 1.0.1
- * Fix for FTP incompatibility
- * Match changes in Zope 2.1.5/6
-
-2000-01-18 Evan Simpson <evan at 4-am.com>
-
- * Version 1.0.0
- * Decided that it's been long enough to call it stable
- * Eliminated stale _v_absolute_url attributes (thanks
- to Wade Simmons)
- * Killed peculiar and obscure interaction with ZCatalog
-
-1999-12-15 Evan Simpson <evan at 4-am.com>
-
- * Version 0.2.0
- * Got absolute_url to do the right thing under both Zope 2.0 and 2.1.
- Note that this will change 2.0's behavior to match 2.1
-
-1999-11-19 Evan Simpson <evan at 4-am.com>
-
- * Added COPYRIGHT.txt, making Wide Open Source licence (BSD-style)
- explicit. (Mike Goldman provided the text, I provided the silly name).
-
-1999-11-18 Evan Simpson <evan at 4-am.com>
-
- * Version 0.1.4
- * BASE tags generated for default pages should play nicely with
- setURL(base=...)
- * Setting the base but not the path works now.
- * Added ./doc/ directory with copies of documentation from Zope.org
- * SiteRoot* variables set in the environment are now seen.
-
-1999-10-29 Evan Simpson <evan at 4-am.com>
-
- * Version 0.1.3
- * Using DTML Docs/Methods as Access Rules should work better,
- and allow normal acquisition. You won't have permissions for
- anything unless you give the rule a Proxy Role, though.
- * __no_before_traverse__ at the start of a URL path now persists
- in generated URLs, making debugging easier.
-
-1999-10-27 Evan Simpson <evan at 4-am.com>
-
- * Version 0.1.2
- * Fixed absolute_url() of objects acquired from above the point
- at which setURL was called (usually by a SiteRoot). (thanks again
- to Bruce Perens and technocrat.net)
- * Added Base and Path properties to SiteRoot, with Path defaulting
- to '/', the most commonly used value. If these are blank, it
- will search for SiteRootBASE and SiteRootPATH.
- * REQUEST.setURL now accepts either a string or sequence of
- strings for its path argument.
-
-1999-10-24 Evan Simpson <evan at 4-am.com>
-
- * Version 0.1.1
- * Made Access Rules work on unadorned root path (thanks to
- Bruce Perens)
- * Reorganized REQUEST.traverse to better handle changes
- to the path within the loop.
- * Experimental change: Overrides icon of methods designated
- as Access Rules to provide visual feedback. This is a
- fragile hack, but relatively harmless if it fails. (suggested
- by Evan Gibson)
- * Fixed Acquisition of SiteRoot* values (thanks to Oleg Broytmann)
- * Rationalized file permissions (thanks to Joshua Brauer)
-
-1999-10-19 Evan Simpson <evan at 4-am.com>
-
- * Version 0.1.0
- * First (apparently) working version
- * Implemented REQUEST.setURL(base, path) and made SiteRoot use it.
- * Put a link to existing AccessRule on "Add AccessRule" page.
Deleted: Zope/trunk/src/Products/SiteAccess/COPYRIGHT.txt
===================================================================
--- Zope/trunk/src/Products/SiteAccess/COPYRIGHT.txt 2011-07-03 13:29:38 UTC (rev 122076)
+++ Zope/trunk/src/Products/SiteAccess/COPYRIGHT.txt 2011-07-03 13:43:05 UTC (rev 122077)
@@ -1,28 +0,0 @@
-This software is released under the following Wide-Open Source licence:
-
-Copyright (c) 1999 Zope Foundation and Contributors
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-3. Neither the name of the Author nor the names of other contributors
- may be used to endorse or promote products derived from this software
- without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
Deleted: Zope/trunk/src/Products/SiteAccess/README.txt
===================================================================
--- Zope/trunk/src/Products/SiteAccess/README.txt 2011-07-03 13:29:38 UTC (rev 122076)
+++ Zope/trunk/src/Products/SiteAccess/README.txt 2011-07-03 13:43:05 UTC (rev 122077)
@@ -1,11 +0,0 @@
-SiteAccess
-
-
- The SiteAccess product provides support for pluggable pre-
- traversal methods, and supplies objects and methods which
- can be used to rewrite access URLs at the start of resolution
- and as folders are traversed.
-
- The main intent is to provide for multi-site hosting in Zope.
-
- More information is available at http://zope.org/Members/4am/SiteAccess
Deleted: Zope/trunk/src/Products/SiteAccess/SiteRoot.py
===================================================================
--- Zope/trunk/src/Products/SiteAccess/SiteRoot.py 2011-07-03 13:29:38 UTC (rev 122076)
+++ Zope/trunk/src/Products/SiteAccess/SiteRoot.py 2011-07-03 13:43:05 UTC (rev 122077)
@@ -1,138 +0,0 @@
-"""SiteRoot module
-
-Defines the Traverser base class and SiteRoot class
-"""
-from cgi import escape
-import os
-
-from Acquisition import Implicit
-from App.Dialogs import MessageDialog
-from App.special_dtml import DTMLFile
-from OFS.SimpleItem import Item
-from Persistence import Persistent
-from ZPublisher.BeforeTraverse import NameCaller
-from ZPublisher.BeforeTraverse import registerBeforeTraverse
-from ZPublisher.BeforeTraverse import unregisterBeforeTraverse
-
-SUPPRESS_SITEROOT = os.environ.has_key('SUPPRESS_SITEROOT')
-
-class Traverser(Persistent, Item):
- """ Class for overriding container's __before_traverse__
-
- Containers are expected to have at most one instance of any particular
- subclass, with Id equal to the meta_type of the subclass.
- """
- meta_type = 'Traverser'
- priority = 100
-
- __ac_permissions__=()
-
- def addToContainer(self, container):
- container._setObject(self.id, self)
- self.manage_afterAdd(self, container)
-
- def manage_addToContainer(self, container, nextURL=''):
- if nextURL:
- if hasattr(getattr(container, 'aq_base', container), self.id):
- return MessageDialog(title='Item Exists',
- message='This object already contains a %s' % self.meta_type,
- action=nextURL)
- self.addToContainer(container)
- if nextURL:
- return MessageDialog(title='Item Added',
- message='This object now has a %s' % escape(self.meta_type),
- action=nextURL)
-
- def manage_beforeDelete(self, item, container):
- if item is self:
- unregisterBeforeTraverse(container, self.meta_type)
-
- def manage_afterAdd(self, item, container):
- if item is self:
- id = self.id
- if callable(id): id = id()
-
- # We want the original object, not stuff in between
- container = container.this()
- hook = NameCaller(id)
- registerBeforeTraverse(container, hook,
- self.meta_type,
- self.priority)
- def _setId(self, id):
- if id != self.id:
- raise ValueError('Cannot change the id of a %s'
- % escape(self.meta_type))
-
-class SiteRoot(Traverser, Implicit):
- """ SiteAccess.SiteRoot object
-
- A SiteRoot causes traversal of its container to replace the part
- of the Request path traversed so far with the request's SiteRootURL.
- """
- id = meta_type = 'SiteRoot'
- title = ''
- priority = 50
-
- manage_options=({'label':'Edit',
- 'action':'manage_main',
- 'help': ('SiteAccess', 'SiteRoot_Edit.stx'),
- },)
-
- manage = manage_main = DTMLFile('www/SiteRootEdit', globals())
- manage_main._setName('manage_main')
-
- def __init__(self, title, base, path):
- self.title = title.strip()
- self.base = base = base.strip()
- self.path = path = path.strip()
-
- def manage_edit(self, title, base, path, REQUEST=None):
- """ Set the title, base, and path.
- """
- self.__init__(title, base, path)
- if REQUEST:
- return MessageDialog(title='SiteRoot changed.',
- message='SiteRoot changed.',
- action='%s/manage_main' % REQUEST['URL1'])
-
- def __call__(self, client, request, response=None):
- """ Traversing.
- """
- rq = request
- if SUPPRESS_SITEROOT:
- return
- base = (self.base or
- rq.get('SiteRootBASE') or
- rq.environ.get('SiteRootBASE'))
- path = (self.path or
- rq.get('SiteRootPATH') or
- rq.environ.get('SiteRootPATH'))
- if base is not None:
- rq['ACTUAL_URL'] = rq['ACTUAL_URL'].replace(rq['SERVER_URL'], base)
- rq['SERVER_URL'] = base
- rq._resetURLS()
- if path is not None:
- old = rq['URL']
- rq.setVirtualRoot(path)
- rq['ACTUAL_URL'] = rq['ACTUAL_URL'].replace(old, rq['URL'])
-
- def get_size(self):
- """ Make FTP happy
- """
- return 0
-
-def manage_addSiteRoot(self, title='', base='', path='', REQUEST=None,
- **ignored):
- """ Add a SiteRoot to a container.
- """
- sr = SiteRoot(title, base, path)
- if REQUEST:
- return sr.manage_addToContainer(self.this(),
- '%s/manage_main' % REQUEST['URL1'])
- else:
- sr.manage_addToContainer(self.this())
-
-constructors = (
- ('manage_addSiteRootForm', DTMLFile('www/SiteRootAdd', globals())),
- ('manage_addSiteRoot', manage_addSiteRoot),
-)
Modified: Zope/trunk/src/Products/SiteAccess/__init__.py
===================================================================
--- Zope/trunk/src/Products/SiteAccess/__init__.py 2011-07-03 13:29:38 UTC (rev 122076)
+++ Zope/trunk/src/Products/SiteAccess/__init__.py 2011-07-03 13:43:05 UTC (rev 122077)
@@ -1,17 +1,8 @@
-"""SiteAccess product
-"""
+
+
def initialize(context):
- import SiteRoot
- import AccessRule
import VirtualHostMonster
- context.registerClass(instance_class=SiteRoot.SiteRoot,
- permission='Add Site Roots',
- constructors=SiteRoot.constructors, legacy=SiteRoot.constructors)
-
- context.registerClass(instance_class=AccessRule.AccessRule,
- permission='Manage Access Rules', constructors=AccessRule.constructors)
-
context.registerClass(instance_class=VirtualHostMonster.VirtualHostMonster,
permission='Add Virtual Host Monsters',
constructors=VirtualHostMonster.constructors)
Modified: Zope/trunk/src/Products/SiteAccess/tests/__init__.py
===================================================================
--- Zope/trunk/src/Products/SiteAccess/tests/__init__.py 2011-07-03 13:29:38 UTC (rev 122076)
+++ Zope/trunk/src/Products/SiteAccess/tests/__init__.py 2011-07-03 13:43:05 UTC (rev 122077)
@@ -1 +1 @@
-# SiteAccess test package
+#
\ No newline at end of file
Deleted: Zope/trunk/src/Products/SiteAccess/tests/testAccessRule.py
===================================================================
--- Zope/trunk/src/Products/SiteAccess/tests/testAccessRule.py 2011-07-03 13:29:38 UTC (rev 122076)
+++ Zope/trunk/src/Products/SiteAccess/tests/testAccessRule.py 2011-07-03 13:43:05 UTC (rev 122077)
@@ -1,225 +0,0 @@
-import unittest
-
-
-class AccessRuleTests(unittest.TestCase):
-
- _old_SAR = None
-
- def setUp(self):
- from Testing.ZopeTestCase import ZopeLite
- ZopeLite.startup()
-
- def tearDown(self):
- if self._old_SAR is not None:
- self._set_SUPPRESS_ACCESSRULE(self._old_SAR)
-
- def _set_SUPPRESS_ACCESSRULE(self, value):
- from Products.SiteAccess import AccessRule as AR
- (self._old_SAR,
- AR.SUPPRESS_ACCESSRULE) = (AR.SUPPRESS_ACCESSRULE, value)
-
- def _getTargetClass(self):
- from Products.SiteAccess.AccessRule import AccessRule
- return AccessRule
-
- def _makeOne(self, method_id='testing'):
- return self._getTargetClass()(method_id)
-
- def test___call___w_SUPPRESS_ACCESSRULE_set(self):
- self._set_SUPPRESS_ACCESSRULE(1)
- _called = []
- def _func(*args):
- _called.append(args)
- rule = self._makeOne()
- request = DummyRequest(TraversalRequestNameStack=[])
- container = DummyContainer(testing=_func)
- rule(container, request)
- self.assertFalse(_called)
-
- def test___call___w_SUPPRESS_ACCESSRULE_in_URL(self):
- # This behavior changed in landing lp:142878.
- _called = []
- def _func(*args):
- _called.append(args)
- rule = self._makeOne()
- request = DummyRequest(TraversalRequestNameStack=
- ['_SUPPRESS_ACCESSRULE'])
- request.steps = []
- container = DummyContainer(testing=_func)
- rule(container, request)
- self.assertTrue(_called)
- self.assertEqual(request._virtual_root, None)
-
- def test___call___wo_SUPPRESS_ACCESSRULE(self):
- _called = []
- def _func(*args):
- _called.append(args)
- rule = self._makeOne()
- request = DummyRequest(TraversalRequestNameStack=[])
- request.steps = []
- container = DummyContainer(testing=_func)
- rule(container, request)
- self.assertTrue(_called)
- self.assertEqual(request._virtual_root, None)
-
-
-class Test_manage_addAccessRule(unittest.TestCase):
-
- def _callFUT(self, container, method_id, REQUEST):
- from Products.SiteAccess.AccessRule import manage_addAccessRule
- return manage_addAccessRule(container, method_id, REQUEST)
-
- def test_no_method_id_no_existing_rules_no_request(self):
- container = DummyContainer()
- result = self._callFUT(container, None, None)
- self.assertTrue(result is None)
- self.assertFalse(container.__dict__)
-
- def test_no_method_id_no_existing_rules_w_request(self):
- container = DummyContainer()
- result = self._callFUT(container, None, {'URL1': 'http://example.com/'})
- self.assertTrue(isinstance(result, str))
- self.assertTrue('<TITLE>No Access Rule</TITLE>' in result)
- self.assertFalse(container.__dict__)
-
- def test_no_method_id_w_existing_rules_no_request(self):
- from ZPublisher.BeforeTraverse import registerBeforeTraverse
- container = DummyContainer()
- old_rule = container.old_rule = DummyObject(name='old_rule',
- icon='rule_icon.jpg')
- registerBeforeTraverse(container, old_rule, 'AccessRule')
- result = self._callFUT(container, None, None)
- self.assertTrue(result is None)
- self.assertFalse(container.__before_traverse__)
- self.assertFalse('icon' in old_rule.__dict__)
-
- def test_w_method_id_w_existing_rules_w_request_none(self):
- from ZPublisher.BeforeTraverse import registerBeforeTraverse
- container = DummyContainer()
- old_rule = container.old_rule = DummyObject(name='old_rule',
- icon='rule_icon.jpg')
- registerBeforeTraverse(container, old_rule, 'AccessRule')
- request = DummyRequest(URL1 = 'http://example.com/')
- request.form = {'none': '1'}
- result = self._callFUT(container, None, request)
- self.assertTrue(isinstance(result, str))
- self.assertTrue('<TITLE>No Access Rule</TITLE>' in result)
- self.assertFalse(container.__before_traverse__)
- self.assertFalse('icon' in old_rule.__dict__)
-
- def test_w_invalid_method_id_w_existing_rules_no_request(self):
- from ZPublisher.BeforeTraverse import registerBeforeTraverse
- container = DummyContainer()
- old_rule = container.old_rule = DummyObject(name='old_rule',
- icon='rule_icon.jpg')
- registerBeforeTraverse(container, old_rule, 'AccessRule')
- result = self._callFUT(container, 'nonesuch', None)
- self.assertTrue(result is None)
- self.assertTrue((99, 'AccessRule') in container.__before_traverse__)
- rule = container.__before_traverse__[(99, 'AccessRule')]
- self.assertEqual(rule.name, 'old_rule')
- self.assertEqual(old_rule.icon, 'rule_icon.jpg')
-
- def test_w_invalid_method_id_w_existing_rules_w_request(self):
- from ZPublisher.BeforeTraverse import registerBeforeTraverse
- container = DummyContainer()
- old_rule = container.old_rule = DummyObject(name='old_rule',
- icon='rule_icon.jpg')
- registerBeforeTraverse(container, old_rule, 'AccessRule')
- request = DummyRequest(URL1 = 'http://example.com/')
- request.form = {}
- result = self._callFUT(container, 'nonesuch', request)
- self.assertTrue(isinstance(result, str))
- self.assertTrue('<TITLE>Invalid Method Id</TITLE>' in result)
- self.assertTrue((99, 'AccessRule') in container.__before_traverse__)
- rule = container.__before_traverse__[(99, 'AccessRule')]
- self.assertEqual(rule.name, 'old_rule')
- self.assertEqual(old_rule.icon, 'rule_icon.jpg')
-
- def test_w_valid_method_id_w_existing_rules_no_request(self):
- from ZPublisher.BeforeTraverse import registerBeforeTraverse
- container = DummyContainer()
- old_rule = container.old_rule = DummyObject(name='old_rule',
- icon='rule_icon.jpg')
- new_rule = container.new_rule = DummyObject(name='new_rule')
- registerBeforeTraverse(container, old_rule, 'AccessRule')
- result = self._callFUT(container, 'new_rule', None)
- self.assertTrue(result is None)
- self.assertFalse((99, 'AccessRule') in container.__before_traverse__)
- self.assertTrue((1, 'AccessRule') in container.__before_traverse__)
- rule = container.__before_traverse__[(1, 'AccessRule')]
- self.assertEqual(rule.name, 'new_rule')
- self.assertFalse('icon' in old_rule.__dict__)
- self.assertEqual(new_rule.icon, 'accessrule.gif')
-
- def test_w_valid_method_id_w_existing_rules_w_request(self):
- from ZPublisher.BeforeTraverse import registerBeforeTraverse
- container = DummyContainer()
- old_rule = container.old_rule = DummyObject(name='old_rule',
- icon='rule_icon.jpg')
- new_rule = container.new_rule = DummyObject(name='new_rule')
- registerBeforeTraverse(container, old_rule, 'AccessRule')
- request = DummyRequest(URL1 = 'http://example.com/')
- request.form = {}
- result = self._callFUT(container, 'new_rule', request)
- self.assertTrue(isinstance(result, str))
- self.assertTrue('<TITLE>Access Rule Set</TITLE>' in result)
- self.assertFalse((99, 'AccessRule') in container.__before_traverse__)
- self.assertTrue((1, 'AccessRule') in container.__before_traverse__)
- rule = container.__before_traverse__[(1, 'AccessRule')]
- self.assertEqual(rule.name, 'new_rule')
- self.assertFalse('icon' in old_rule.__dict__)
- self.assertEqual(new_rule.icon, 'accessrule.gif')
-
-
-class Test_getAccessRule(unittest.TestCase):
-
- def _callFUT(self, container, REQUEST=None):
- from Products.SiteAccess.AccessRule import getAccessRule
- return getAccessRule(container, REQUEST)
-
- def test_no_rules(self):
- container = DummyContainer()
- self.assertEqual(self._callFUT(container), '')
-
- def test_w_rule_invalid(self):
- from ZPublisher.BeforeTraverse import registerBeforeTraverse
- container = DummyContainer()
- registerBeforeTraverse(container, DummyObject(), 'AccessRule')
- self.assertTrue(self._callFUT(container).startswith(
- 'Invalid BeforeTraverse data: '))
-
- def test_w_rule_valid(self):
- from ZPublisher.BeforeTraverse import registerBeforeTraverse
- container = DummyContainer()
- registerBeforeTraverse(container, DummyObject(name='foo'), 'AccessRule')
- self.assertEqual(self._callFUT(container), 'foo')
-
-
-class DummyRequest(dict):
- _virtual_root = None
- def setVirtualRoot(self, root):
- self._virtual_root = root
-
-
-class DummyObject(object):
-
- def __init__(self, **kw):
- self.__dict__.update(kw)
-
-
-class DummyContainer(object):
-
- def __init__(self, **kw):
- self.__dict__.update(kw)
-
- def this(self):
- return self
-
-def test_suite():
- return unittest.TestSuite((
- unittest.makeSuite(AccessRuleTests),
- unittest.makeSuite(Test_manage_addAccessRule),
- unittest.makeSuite(Test_getAccessRule),
- ))
-
Deleted: Zope/trunk/src/Products/SiteAccess/tests/testSiteRoot.py
===================================================================
--- Zope/trunk/src/Products/SiteAccess/tests/testSiteRoot.py 2011-07-03 13:29:38 UTC (rev 122076)
+++ Zope/trunk/src/Products/SiteAccess/tests/testSiteRoot.py 2011-07-03 13:43:05 UTC (rev 122077)
@@ -1,310 +0,0 @@
-"""SiteRoot regression tests.
-
-These tests verify that the request URL headers, in particular ACTUAL_URL, are
-set correctly when a SiteRoot is used.
-
-See http://www.zope.org/Collectors/Zope/2077
-"""
-import unittest
-
-
-class TraverserTests(unittest.TestCase):
-
- def _getTargetClass(self):
- from Products.SiteAccess.SiteRoot import Traverser
- return Traverser
-
- def _makeOne(self):
- traverser = self._getTargetClass()()
- traverser.id = 'testing'
- return traverser
-
- def test_addToContainer(self):
- traverser = self._makeOne()
- container = DummyContainer()
- traverser.addToContainer(container)
- self.assertTrue(container.testing is traverser)
- hook = container.__before_traverse__[(100, 'Traverser')]
- self.assertEqual(hook.name, 'testing')
-
- def test_manage_addToContainer_no_nextUrl(self):
- traverser = self._makeOne()
- container = DummyContainer()
- result = traverser.manage_addToContainer(container)
- self.assertTrue(result is None)
- self.assertTrue(container.testing is traverser)
- hook = container.__before_traverse__[(100, 'Traverser')]
- self.assertEqual(hook.name, 'testing')
-
- def test_manage_addToContainer_w_nextUrl_w_name_collision(self):
- NEXTURL='http://example.com/manage_main'
- traverser = self._makeOne()
- container = DummyContainer()
- container.testing = object()
- result = traverser.manage_addToContainer(container, nextURL=NEXTURL)
- self.assertTrue('<TITLE>Item Exists</TITLE>' in result)
- self.assertFalse(container.testing is traverser)
-
- def test_manage_addToContainer_w_nextUrl_wo_name_collision(self):
- NEXTURL='http://example.com/manage_main'
- traverser = self._makeOne()
- container = DummyContainer()
- result = traverser.manage_addToContainer(container, nextURL=NEXTURL)
- self.assertTrue('<TITLE>Item Added</TITLE>' in result)
- self.assertTrue(container.testing is traverser)
- hook = container.__before_traverse__[(100, 'Traverser')]
- self.assertEqual(hook.name, 'testing')
-
- def test_manage_beforeDelete_item_is_not_self(self):
- from ZPublisher.BeforeTraverse import registerBeforeTraverse
- traverser = self._makeOne()
- container = DummyContainer()
- other = container.other = DummyObject(name='other')
- registerBeforeTraverse(container, other, 'Traverser', 100)
- item = object()
- traverser.manage_beforeDelete(item, container)
- hook = container.__before_traverse__[(100, 'Traverser')]
- self.assertEqual(hook.name, 'other')
-
- def test_manage_beforeDelete_item_is_self(self):
- from ZPublisher.BeforeTraverse import registerBeforeTraverse
- traverser = self._makeOne()
- container = DummyContainer()
- other = container.other = DummyObject(name='other')
- registerBeforeTraverse(container, other, 'Traverser', 100)
- traverser.manage_beforeDelete(traverser, container)
- self.assertFalse(container.__before_traverse__)
-
- def test_manage_afterAdd_item_not_self(self):
- traverser = self._makeOne()
- container = DummyContainer()
- item = object()
- traverser.manage_afterAdd(item, container)
- self.assertFalse('__before_traverse__' in container.__dict__)
-
- def test_manage_afterAdd_item_is_self(self):
- traverser = self._makeOne()
- container = DummyContainer()
- traverser.manage_afterAdd(traverser, container)
- hook = container.__before_traverse__[(100, 'Traverser')]
- self.assertEqual(hook.name, 'testing')
-
- def test__setId_same(self):
- traverser = self._makeOne()
- traverser._setId('testing') # doesn't raise
-
- def test__setId_different(self):
- traverser = self._makeOne()
- self.assertRaises(ValueError, traverser._setId, 'other')
-
-
-class SiteRootTests(unittest.TestCase):
-
- _old_SSR = None
-
- def setUp(self):
- from Testing.ZopeTestCase import ZopeLite
- ZopeLite.startup()
-
- def tearDown(self):
- if self._old_SSR is not None:
- self._set_SUPPRESS_SITEROOT(self._old_SSR)
-
- def _set_SUPPRESS_SITEROOT(self, value):
- from Products.SiteAccess import SiteRoot as SR
- (self._old_SSR,
- SR.SUPPRESS_SITEROOT) = (SR.SUPPRESS_SITEROOT, value)
-
- def _getTargetClass(self):
- from Products.SiteAccess.SiteRoot import SiteRoot
- return SiteRoot
-
- def _makeOne(self, title='TITLE', base='', path=''):
- return self._getTargetClass()(title, base, path)
-
- def test___init___strips_base_and_path(self):
- siteroot = self._makeOne(base=' ', path=' ')
- self.assertEqual(siteroot.title, 'TITLE')
- self.assertEqual(siteroot.base, '')
- self.assertEqual(siteroot.path, '')
-
- def test___init___w_base_and_path(self):
- siteroot = self._makeOne(base='http://example.com', path='/path')
- self.assertEqual(siteroot.title, 'TITLE')
- self.assertEqual(siteroot.base, 'http://example.com')
- self.assertEqual(siteroot.path, '/path')
-
- def test_manage_edit_no_REQUEST(self):
- siteroot = self._makeOne(title='Before',
- base='http://before.example.com',
- path='/before')
- result = siteroot.manage_edit('After', 'http://after.example.com ',
- '/after ')
- self.assertTrue(result is None)
- self.assertEqual(siteroot.title, 'After')
- self.assertEqual(siteroot.base, 'http://after.example.com')
- self.assertEqual(siteroot.path, '/after')
-
- def test_manage_edit_w_REQUEST(self):
- siteroot = self._makeOne(title='Before',
- base='http://before.example.com',
- path='/before')
- result = siteroot.manage_edit('After', 'http://after.example.com ',
- '/after ',
- REQUEST = {'URL1':
- 'http://localhost:8080/manage_main'})
- self.assertTrue('<TITLE>SiteRoot changed.</TITLE>' in result)
- self.assertEqual(siteroot.title, 'After')
- self.assertEqual(siteroot.base, 'http://after.example.com')
- self.assertEqual(siteroot.path, '/after')
-
- def test___call___w_SUPPRESS_SITEROOT_set(self):
- self._set_SUPPRESS_SITEROOT(1)
- siteroot = self._makeOne(base='http://example.com', path='/path')
- request = {}
- siteroot(None, request)
- self.assertEqual(request, {})
-
- def test___call___w_SUPPRESS_SITEROOT_in_URL(self):
- # This behavior changed in landing lp:142878.
- URL='http://localhost:8080/example/folder/'
- siteroot = self._makeOne(base='http://example.com', path='/example')
- request = DummyRequest(TraversalRequestNameStack=
- ['_SUPPRESS_SITEROOT'],
- URL=URL,
- ACTUAL_URL=URL,
- SERVER_URL='http://localhost:8080',
- )
- request.steps = []
- request.environ = {}
- siteroot(None, request)
- self.assertEqual(request['URL'], URL)
- self.assertEqual(request['SERVER_URL'], 'http://example.com')
- self.assertEqual(request['ACTUAL_URL'],
- 'http://example.com/example/folder/')
- self.assertEqual(request._virtual_root, '/example')
- self.assertTrue(request._urls_reset)
-
- def test___call___wo_SUPPRESS_SITEROOT_w_base_wo_path(self):
- URL='http://localhost:8080/example/folder/'
- siteroot = self._makeOne(base='http://example.com', path='')
- request = DummyRequest(TraversalRequestNameStack=[],
- URL=URL,
- ACTUAL_URL=URL,
- SERVER_URL='http://localhost:8080',
- )
- request.steps = []
- request.environ = {}
- siteroot(None, request)
- self.assertEqual(request['URL'], URL)
- self.assertEqual(request['SERVER_URL'], 'http://example.com')
- self.assertEqual(request['ACTUAL_URL'],
- 'http://example.com/example/folder/')
- self.assertEqual(request._virtual_root, None)
- self.assertTrue(request._urls_reset)
-
- def test___call___wo_SUPPRESS_SITEROOT_wo_base_w_path(self):
- URL='http://localhost:8080/example/folder/'
- siteroot = self._makeOne(base='', path='/example')
- request = DummyRequest(TraversalRequestNameStack=[],
- URL=URL,
- ACTUAL_URL=URL,
- SERVER_URL='http://localhost:8080',
- )
- request.steps = []
- request.environ = {}
- siteroot(None, request)
- self.assertEqual(request['URL'], URL)
- self.assertEqual(request['SERVER_URL'], 'http://localhost:8080')
- self.assertEqual(request['ACTUAL_URL'], URL)
- self.assertEqual(request._virtual_root, '/example')
- self.assertFalse(request._urls_reset)
-
- def test___call___wo_SUPPRESS_SITEROOT_w_base_w_path(self):
- URL='http://localhost:8080/example/folder/'
- siteroot = self._makeOne(base='http://example.com', path='/example')
- request = DummyRequest(TraversalRequestNameStack=[],
- URL=URL,
- ACTUAL_URL=URL,
- SERVER_URL='http://localhost:8080',
- )
- request.steps = []
- request.environ = {}
- siteroot(None, request)
- self.assertEqual(request['URL'], URL)
- self.assertEqual(request['SERVER_URL'], 'http://example.com')
- self.assertEqual(request['ACTUAL_URL'],
- 'http://example.com/example/folder/')
- self.assertEqual(request._virtual_root, '/example')
- self.assertTrue(request._urls_reset)
-
- def test_get_size(self):
- siteroot = self._makeOne()
- self.assertEqual(siteroot.get_size(), 0)
-
-
-class DummyObject(object):
-
- def __init__(self, **kw):
- self.__dict__.update(kw)
-
-
-class DummyContainer(object):
-
- def __init__(self, **kw):
- self.__dict__.update(kw)
-
- def _setObject(self, name, object):
- setattr(self, name, object)
-
- def this(self):
- return self
-
-
-class DummyRequest(dict):
-
- _virtual_root = None
- _urls_reset = False
-
- def setVirtualRoot(self, root):
- self._virtual_root = root
-
- def _resetURLS(self):
- self._urls_reset = True
-
-
-class SiteRootRegressions(unittest.TestCase):
-
- def setUp(self):
- import transaction
- from Testing.makerequest import makerequest
- from Testing.ZopeTestCase.ZopeLite import app
- from Products.SiteAccess.SiteRoot import manage_addSiteRoot
- transaction.begin()
- self.app = makerequest(app())
- self.app.manage_addFolder('folder')
- manage_addSiteRoot(self.app.folder, title='SiteRoot',
- base='http://test_base', path='/test_path')
- self.app.REQUEST.set('PARENTS', [self.app])
- self.app.REQUEST.traverse('/folder')
-
- def tearDown(self):
- import transaction
- transaction.abort()
- self.app._p_jar.close()
-
- def testRequest(self):
- self.assertEqual(self.app.REQUEST['SERVER_URL'], 'http://test_base')
- self.assertEqual(self.app.REQUEST['ACTUAL_URL'],
- 'http://test_base/test_path')
-
- def testAbsoluteUrl(self):
- self.assertEqual(self.app.folder.absolute_url(),
- 'http://test_base/test_path')
-
-def test_suite():
- return unittest.TestSuite((
- unittest.makeSuite(TraverserTests),
- unittest.makeSuite(SiteRootTests),
- unittest.makeSuite(SiteRootRegressions),
- ))
Deleted: Zope/trunk/src/Products/SiteAccess/version.txt
===================================================================
--- Zope/trunk/src/Products/SiteAccess/version.txt 2011-07-03 13:29:38 UTC (rev 122076)
+++ Zope/trunk/src/Products/SiteAccess/version.txt 2011-07-03 13:43:05 UTC (rev 122077)
@@ -1 +0,0 @@
-SiteAccess-2-0-0
Deleted: Zope/trunk/src/Products/SiteAccess/www/AccessRuleAdd.dtml
===================================================================
--- Zope/trunk/src/Products/SiteAccess/www/AccessRuleAdd.dtml 2011-07-03 13:29:38 UTC (rev 122076)
+++ Zope/trunk/src/Products/SiteAccess/www/AccessRuleAdd.dtml 2011-07-03 13:43:05 UTC (rev 122077)
@@ -1,59 +0,0 @@
-<dtml-var manage_page_header>
-
-<dtml-let form_title="'Set Access Rule'">
- <dtml-var manage_form_title>
-</dtml-let>
-
-<p class="form-help">
-<strong>
-WARNING: Access Rules are powerful, and can temporarily disable
-Zope access! Don't use them unless you have read all about them and
-know how to recover from mistakes!
-</strong>
-</p>
-
-<p class="form-help">
-In the form below <em>rule id</em> is the id of an object in this
-Zope Folder which will be called whenever the Folder is published.
-It can implement rewrite rules, preload request variables, etc.
-</p>
-
-<dtml-if manage_getAccessRule>
-<p class="form-text">
-The current Access Rule is
-<a href="&dtml-absolute_url;/&dtml-manage_getAccessRule;/manage_workspace">
-"&dtml-manage_getAccessRule;"</a>.
-</p>
-<dtml-else>
-<p class="form-text">
-No Access Rule is currently set.
-</p>
-</dtml-if>
-
-<form action="manage_addAccessRule" method="post">
-<table cellspacing="0" cellpadding="2" border="0">
- <tr>
- <td align="left" valign="top">
- <div class="form-label">
- Rule Id
- </div>
- </td>
- <td align="left" valign="top">
- <input type="text" name="method_id" size="40" />
- </td>
- </tr>
- <tr>
- <td align="left" valign="top">
- </td>
- <td align="left" valign="top">
- <div class="form-element">
-<input class="form-element" type="SUBMIT" name="submit" value=" Set Rule ">
-<input class="form-element" type="SUBMIT" name="none" value=" No Access Rule ">
- </div>
- </td>
- </tr>
-</table>
-</form>
-
-<dtml-var manage_page_footer>
-
Deleted: Zope/trunk/src/Products/SiteAccess/www/SiteRootAdd.dtml
===================================================================
--- Zope/trunk/src/Products/SiteAccess/www/SiteRootAdd.dtml 2011-07-03 13:29:38 UTC (rev 122076)
+++ Zope/trunk/src/Products/SiteAccess/www/SiteRootAdd.dtml 2011-07-03 13:43:05 UTC (rev 122077)
@@ -1,81 +0,0 @@
-<dtml-var manage_page_header>
-
-<dtml-let form_title="'Add SiteRoot'"><dtml-var manage_form_title></dtml-let>
-
-<p class="form-help">
-This will change URLs generated by all objects within the same container
-as the SiteRoot. If a Base is specified (or a SiteRootBASE value can be
-found) then it will replace the host:port/script portion of generated URLs.
-If a Path is specified (or a SiteRootPATH value can be found) then it will
-replace the remainder of each URL.
-</p>
-
-<p class="form-help">
-Values affected include DTML variables starting with URL or BASE, and
-the absolute_url() methods of objects.
-</p>
-<p class="form-help">
-If Base is not set, the SiteRoot will first attempt to acquire SiteRootBASE
-and then search the REQUEST for it. The same holds for Path and
-SiteRootPATH.
-</p>
-<p class="form-help">
-Base (if specified) should <strong>always</strong> start with
-"http://"
-</p>
-
-<form action="manage_addSiteRoot" method="post">
-<table cellspacing="0" cellpadding="2" border="0">
- <tr>
- <td align="left" valign="top">
- <div class="form-label">
- Id
- </div>
- </td>
- <td align="left" valign="top">SiteRoot</td>
- </tr>
- <tr>
- <td align="left" valign="top">
- <div class="form-optional">
- Title
- </div>
- </td>
- <td align="left" valign="top">
- <input type="text" name="title" size="40" />
- </td>
- </tr>
- <tr>
- <td align="left" valign="top">
- <div class="form-optional">
- Base
- </div>
- </td>
- <td align="left" valign="top">
- <input type="text" name="base" size="40" />
- </td>
- </tr>
- <tr>
- <td align="left" valign="top">
- <div class="form-optional">
- Path
- </div>
- </td>
- <td align="left" valign="top">
- <input type="text" name="path" size="40" value="/" />
- </td>
- </tr>
- <tr>
- <td align="left" valign="top">
- </td>
- <td align="left" valign="top">
- <div class="form-element">
- <input class="form-element" type="submit" name="submit"
- value=" Add " />
- </div>
- </td>
- </tr>
-</table>
-</form>
-
-<dtml-var manage_page_footer>
-
Deleted: Zope/trunk/src/Products/SiteAccess/www/SiteRootEdit.dtml
===================================================================
--- Zope/trunk/src/Products/SiteAccess/www/SiteRootEdit.dtml 2011-07-03 13:29:38 UTC (rev 122076)
+++ Zope/trunk/src/Products/SiteAccess/www/SiteRootEdit.dtml 2011-07-03 13:43:05 UTC (rev 122077)
@@ -1,74 +0,0 @@
-<dtml-var manage_page_header>
-<dtml-var manage_tabs>
-
-<p class="form-help">
-This will change URLs generated by all objects within the same container
-as the SiteRoot. If a Base is specified (or a SiteRootBASE value can be
-found) then it will replace the host:port/script portion of generated URLs.
-If a Path is specified (or a SiteRootPATH value can be found) then it will
-replace the remainder of each URL.
-</p>
-
-<p class="form-help">
-Values affected include DTML variables starting with URL or BASE, and
-the absolute_url() methods of objects.
-</p>
-
-<p class="form-help">
-If Base is not set, the SiteRoot will first attempt to acquire SiteRootBASE
-and then search the REQUEST for it. The same holds for Path and SiteRootPATH.
-</p>
-
-<p class="form-help">
-Base (if specified) should <strong>always</strong> start with "http://"
-</p>
-
-<form action="manage_edit" method="POST">
-<table cellspacing="0" cellpadding="2" border="0">
- <tr>
- <td align="left" valign="top">
- <div class="form-optional">
- Title
- </div>
- </td>
- <td align="left" valign="top">
- <input type="text" name="title" size="40"
- value="<dtml-if title>&dtml-title;</dtml-if>" />
- </td>
- </tr>
- <tr>
- <td align="left" valign="top">
- <div class="form-optional">
- Base
- </div>
- </td>
- <td align="left" valign="top">
- <input type="text" name="base" size="40"
- value="<dtml-if base>&dtml-base;</dtml-if>" />
- </td>
- </tr>
- <tr>
- <td align="left" valign="top">
- <div class="form-optional">
- Path
- </div>
- </td>
- <td align="left" valign="top">
- <input type="text" name="path" size="40"
- value="<dtml-if path>&dtml-path;</dtml-if>" />
- </td>
- </tr>
- <tr>
- <td align="left" valign="top">
- </td>
- <td align="left" valign="top">
- <div class="form-element">
- <input class="form-element" type="submit" name="submit"
- value="Save Changes" />
- </div>
- </td>
- </tr>
-</table>
-</form>
-
-<dtml-var manage_page_footer>
Modified: Zope/trunk/src/Zope2/Startup/handlers.py
===================================================================
--- Zope/trunk/src/Zope2/Startup/handlers.py 2011-07-03 13:29:38 UTC (rev 122076)
+++ Zope/trunk/src/Zope2/Startup/handlers.py 2011-07-03 13:43:05 UTC (rev 122077)
@@ -53,14 +53,6 @@
value not in (None, default) and _setenv('ZSESSION_TIMEOUT_MINS', value)
return value
-def suppress_all_access_rules(value):
- value and _setenv('SUPPRESS_ACCESSRULE', value)
- return value
-
-def suppress_all_site_roots(value):
- value and _setenv('SUPPRESS_SITEROOT', value)
- return value
-
def large_file_threshold(value):
import ZServer
ZServer.LARGE_FILE_THRESHOLD = value
Modified: Zope/trunk/src/Zope2/Startup/zopeschema.xml
===================================================================
--- Zope/trunk/src/Zope2/Startup/zopeschema.xml 2011-07-03 13:29:38 UTC (rev 122076)
+++ Zope/trunk/src/Zope2/Startup/zopeschema.xml 2011-07-03 13:43:05 UTC (rev 122077)
@@ -688,27 +688,6 @@
<metadefault>20</metadefault>
</key>
- <key name="suppress-all-access-rules" datatype="boolean"
- default="off" handler="suppress_all_access_rules">
- <description>
- If this directive is set to on, no access rules in your Zope site
- will be executed. This is useful if you "lock yourself out" of a
- particular part of your site by setting an improper access rule.
- </description>
- <metadefault>off</metadefault>
- </key>
-
-
- <key name="suppress-all-site-roots" datatype="boolean"
- default="off" handler="suppress_all_site_roots">
- <description>
- If this directive is set to on, no site roots in your Zope site will
- be effective. This is useful if you "lock yourself out" of a
- particular part of your site by setting an improper site root.
- </description>
- <metadefault>off</metadefault>
- </key>
-
<section type="eventlog" name="*" attribute="eventlog">
<description>
Describes what level of log output is desired and where it
More information about the Zope-Checkins
mailing list