# HG changeset patch # User Marcin Kuzminski # Date 2010-09-28 02:31:10 # Node ID fdb78a140ae458cd27c72ee55d823ac556cc0668 # Parent f420e86db893c1b1aba675fffb22d726aeda19cc fixes #35 hg-app does not respect SCRIPT_NAME diff --git a/pylons_app/controllers/summary.py b/pylons_app/controllers/summary.py --- 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 --- 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))