Commit 119dce78 authored by 's avatar

Merged fix for handling of roles for alternate top-level object in the

traverse() method.
parent 0110bc9c
...@@ -82,7 +82,7 @@ ...@@ -82,7 +82,7 @@
# attributions are listed in the accompanying credits file. # attributions are listed in the accompanying credits file.
# #
############################################################################## ##############################################################################
__version__='$Revision: 1.28 $'[11:-2] __version__='$Revision: 1.29 $'[11:-2]
from string import join, split, find, rfind, lower, upper from string import join, split, find, rfind, lower, upper
from urllib import quote from urllib import quote
...@@ -119,6 +119,7 @@ class BaseRequest: ...@@ -119,6 +119,7 @@ class BaseRequest:
collection of variable to value mappings. collection of variable to value mappings.
""" """
# While the following assignment is not strictly necessary, it # While the following assignment is not strictly necessary, it
# prevents alot of unnecessary searches because, without it, # prevents alot of unnecessary searches because, without it,
# acquisition of REQUEST is disallowed, which penalizes access # acquisition of REQUEST is disallowed, which penalizes access
...@@ -262,7 +263,8 @@ class BaseRequest: ...@@ -262,7 +263,8 @@ class BaseRequest:
if method=='GET' or method=='POST': if method=='GET' or method=='POST':
method='index_html' method='index_html'
else: baseflag=1 else: baseflag=1
URL=request['URL']
parents=request['PARENTS'] parents=request['PARENTS']
object=parents[-1] object=parents[-1]
del parents[:] del parents[:]
...@@ -272,7 +274,9 @@ class BaseRequest: ...@@ -272,7 +274,9 @@ class BaseRequest:
# if the top object has a __bobo_traverse__ method, then use it # if the top object has a __bobo_traverse__ method, then use it
# to possibly traverse to an alternate top-level object. # to possibly traverse to an alternate top-level object.
if hasattr(object,'__bobo_traverse__'): if hasattr(object,'__bobo_traverse__'):
try: object=object.__bobo_traverse__(request) try:
object=object.__bobo_traverse__(request)
roles =getattr(object, '__roles__', UNSPECIFIED_ROLES)
except: pass except: pass
if not path and not method: if not path and not method:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment