| CODENOTIFIER | HelpYou are not signed inSign in |
Project: Trac
Revision: 7495
Author: rblank
Date: 22 Aug 2008 18:01:56
Diff at Trac: http://trac.edgewall.org/changeset/7495
Changes:Merged [7493:7494] from 0.11-stable.
Files:| ... | ...@@ -199,13 +199,16 @@ | |
| 199 | 199 | |
| 200 | 200 | def _redirect_back(self, req): |
| 201 | 201 | """Redirect the user back to the URL she came from.""" |
| 202 | referer = req.get_header('Referer') | |
| 202 | referer = self._referer(req) | |
| 203 | 203 | if referer and not (referer == req.base_url or \ |
| 204 | 204 | referer.startswith(req.base_url.rstrip('/')+'/')): |
| 205 | 205 | # only redirect to referer if it is from the same site |
| 206 | 206 | referer = None |
| 207 | 207 | req.redirect(referer or req.abs_href()) |
| 208 | 208 | |
| 209 | def _referer(self, req): | |
| 210 | return req.args.get('referer') or req.get_header('Referer') | |
| 211 | ||
| 209 | 212 | |
| 210 | 213 | class HTTPAuthentication(object): |
| 211 | 214 |
| ... | ...@@ -129,7 +129,7 @@ | |
| 129 | 129 | if type(value) in (list, tuple): |
| 130 | 130 | for i in [i for i in value if i != None]: |
| 131 | 131 | params.append((name, i)) |
| 132 | elif v != None: | |
| 132 | elif value != None: | |
| 133 | 133 | params.append((name, value)) |
| 134 | 134 | |
| 135 | 135 | if args: |
| ... | ...@@ -47,6 +47,7 @@ | |
| 47 | 47 | from trac.util.compat import partial |
| 48 | 48 | from trac.util.datefmt import format_datetime, http_date, localtz, timezone |
| 49 | 49 | from trac.util.text import shorten_line, to_unicode |
| 50 | from trac.util.translation import _ | |
| 50 | 51 | from trac.web.api import * |
| 51 | 52 | from trac.web.chrome import Chrome |
| 52 | 53 | from trac.web.clearsilver import HDFWrapper |
| ... | ...@@ -460,6 +461,11 @@ | |
| 460 | 461 | title = 'Error: %s' % e.reason |
| 461 | 462 | data = {'title': title, 'type': 'TracError', 'message': e.detail, |
| 462 | 463 | 'frames': [], 'traceback': None} |
| 464 | if e.code == 403 and req.authname == 'anonymous': | |
| 465 | req.chrome['notices'].append(Markup( | |
| 466 | _('You are currently not logged in. You may want to ' | |
| 467 | '<a href="%(href)s">do so</a> now.', | |
| 468 | href=req.href.login()))) | |
| 463 | 469 | try: |
| 464 | 470 | req.send_error(sys.exc_info(), status=e.code, env=env, data=data) |
| 465 | 471 | except RequestDone: |
| ... | ...@@ -183,6 +183,9 @@ | |
| 183 | 183 | doc='The HTTP method of the request') |
| 184 | 184 | path_info = property(fget=lambda self: self.environ.get('PATH_INFO', '').decode('utf-8'), |
| 185 | 185 | doc='Path inside the application') |
| 186 | query_string = property(fget=lambda self: self.environ.get('QUERY_STRING', | |
| 187 | ''), | |
| 188 | doc='Query part of the request') | |
| 186 | 189 | remote_addr = property(fget=lambda self: self.environ.get('REMOTE_ADDR'), |
| 187 | 190 | doc='IP address of the remote user') |
| 188 | 191 | remote_user = property(fget=lambda self: self.environ.get('REMOTE_USER'), |