diff options
author | Marcin Kuzminski <marcin@python-works.com> | 2010-09-28 02:31:10 +0200 |
---|---|---|
committer | Marcin Kuzminski <marcin@python-works.com> | 2010-09-28 02:31:10 +0200 |
commit | c9c35a25ac0a879546a25b90d5fc7b76c58105b1 (patch) | |
tree | 02837ce5fa5f918561c7e03ebb434967380cbae7 | |
parent | 1226cf584c34ff3cb2ed1ea583fd46ab3f9ca62d (diff) |
fixes #35 hg-app does not respect SCRIPT_NAME
-rw-r--r-- | pylons_app/controllers/summary.py | 4 | ||||
-rw-r--r-- | pylons_app/lib/auth.py | 9 |
2 files changed, 10 insertions, 3 deletions
diff --git a/pylons_app/controllers/summary.py b/pylons_app/controllers/summary.py index ebe97c27..49132d7e 100644 --- a/pylons_app/controllers/summary.py +++ b/pylons_app/controllers/summary.py @@ -51,10 +51,12 @@ class SummaryController(BaseController): c.repo_info = hg_model.get_repo(c.repo_name) c.repo_changesets = Page(list(c.repo_info[:10]), page=1, items_per_page=20) e = request.environ - uri = u'%(protocol)s://%(user)s@%(host)s/%(repo_name)s' % { + + uri = u'%(protocol)s://%(user)s@%(host)s%(prefix)s/%(repo_name)s' % { 'protocol': e.get('wsgi.url_scheme'), 'user':str(c.hg_app_user.username), 'host':e.get('HTTP_HOST'), + 'prefix':e.get('SCRIPT_NAME'), 'repo_name':c.repo_name, } c.clone_repo_url = uri c.repo_tags = OrderedDict() diff --git a/pylons_app/lib/auth.py b/pylons_app/lib/auth.py index 94c6b814..f9e3a81d 100644 --- a/pylons_app/lib/auth.py +++ b/pylons_app/lib/auth.py @@ -255,10 +255,15 @@ class LoginRequired(object): return func(*fargs, **fkwargs) else: log.warn('user %s not authenticated', user.username) - - p = request.environ.get('PATH_INFO') + + p = '' + if request.environ.get('SCRIPT_NAME') != '/': + p += request.environ.get('SCRIPT_NAME') + + p += request.environ.get('PATH_INFO') if request.environ.get('QUERY_STRING'): p += '?' + request.environ.get('QUERY_STRING') + log.debug('redirecting to login page with %s', p) return redirect(url('login_home', came_from=p)) |