changeset 508:fdb78a140ae4

fixes #35 hg-app does not respect SCRIPT_NAME
author Marcin Kuzminski <marcin@python-works.com>
date Tue, 28 Sep 2010 02:31:10 +0200
parents f420e86db893
children b50e79b4257a
files pylons_app/controllers/summary.py pylons_app/lib/auth.py
diffstat 2 files changed, 10 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/pylons_app/controllers/summary.py	Mon Sep 27 03:13:05 2010 +0200
+++ b/pylons_app/controllers/summary.py	Tue Sep 28 02:31:10 2010 +0200
@@ -51,10 +51,12 @@
         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()
--- a/pylons_app/lib/auth.py	Mon Sep 27 03:13:05 2010 +0200
+++ b/pylons_app/lib/auth.py	Tue Sep 28 02:31:10 2010 +0200
@@ -255,10 +255,15 @@
             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))