summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: b205773)
raw | patch | inline | side by side (parent: b205773)
author | richard <richard@57a73879-2fb5-44c3-a270-3262357dd7e2> | |
Fri, 29 Jan 2010 05:03:48 +0000 (05:03 +0000) | ||
committer | richard <richard@57a73879-2fb5-44c3-a270-3262357dd7e2> | |
Fri, 29 Jan 2010 05:03:48 +0000 (05:03 +0000) |
git-svn-id: http://svn.roundup-tracker.org/svnroot/roundup/roundup/trunk@4430 57a73879-2fb5-44c3-a270-3262357dd7e2
CHANGES.txt | patch | blob | history | |
roundup/cgi/client.py | patch | blob | history |
diff --git a/CHANGES.txt b/CHANGES.txt
index f0ec02a59360b4b381d216c1f9fb7fc4236f1db1..1296bdedda8334d00cd5180348249e7fad7b64f4 100644 (file)
--- a/CHANGES.txt
+++ b/CHANGES.txt
intevation for funding the fix.
- Fix documentation on user required to run the tests, fixes
issue2550618, thanks to Chris aka 'radioking'
+- Add simple doc about translating customised tracker content
+- Add "flup" setup documentation, thanks Christian Glass
+- Fix "Web Access" permission check to allow serving of static files to
+ Anonymous again
2009-12-21 1.4.11 (r4413)
diff --git a/roundup/cgi/client.py b/roundup/cgi/client.py
index b760e0c634cfbdf93e179b16b1c5966dea2108d7..30c2820cec2d8869191f5ce9f89038dbe9a9a9e9 100644 (file)
--- a/roundup/cgi/client.py
+++ b/roundup/cgi/client.py
self.determine_language()
# Open the database as the correct user.
self.determine_user()
+ self.check_web_access()
# Call the appropriate XML-RPC method.
handler = xmlrpc.RoundupDispatcher(self.db,
# figure out the context and desired content template
self.determine_context()
+ # if we've made it this far the context is to a bit of
+ # Roundup's real web interface (not a file being served up)
+ # so do the Anonymous Web Acess check now
+ self.check_web_access()
+
# possibly handle a form submit action (may change self.classname
# and self.template, and may also append error/ok_messages)
html = self.handle_action()
# make sure the anonymous user is valid if we're using it
if user == 'anonymous':
self.make_user_anonymous()
- if not self.db.security.hasPermission('Web Access', self.userid):
- raise Unauthorised, self._("Anonymous users are not "
- "allowed to use the web interface")
else:
self.user = user
# reopen the database as the correct user
self.opendb(self.user)
+ def check_web_access(self):
+ """Check that the Anonymous user is actually allowed to use the web
+ interface and short-circuit all further processing if they're not.
+ """
+ if self.user == 'anonymous':
+ if not self.db.security.hasPermission('Web Access', self.userid):
+ raise Unauthorised, self._("Anonymous users are not "
+ "allowed to use the web interface")
+
def opendb(self, username):
"""Open the database and set the current user.
# The classname was not valid.
raise NotFound, str(designator)
+ # perform the Anonymous user access check
+ self.check_web_access()
# make sure we have the appropriate properties
props = klass.getprops()