changeset 425:570b9e82cbac

merged with bugfixes
author Marcin Kuzminski <marcin@python-works.com>
date Wed, 25 Aug 2010 20:58:14 +0200
parents fc3613065baf (current diff) 55ada111bca6 (diff)
children dccf4b2226ec
files
diffstat 2 files changed, 11 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/pylons_app/controllers/login.py	Mon Aug 23 22:04:35 2010 +0200
+++ b/pylons_app/controllers/login.py	Wed Aug 25 20:58:14 2010 +0200
@@ -67,7 +67,6 @@
         user_model = UserModel()
         c.auto_active = False
         for perm in user_model.get_default().user_perms:
-            print perm.permission.permission_name
             if perm.permission.permission_name == 'hg.register.auto_activate':
                 c.auto_active = True
                 break
--- a/pylons_app/lib/auth.py	Mon Aug 23 22:04:35 2010 +0200
+++ b/pylons_app/lib/auth.py	Wed Aug 25 20:58:14 2010 +0200
@@ -124,8 +124,6 @@
     else:
         user.is_authenticated = False
     meta.Session.remove()
-    from pprint import pprint
-    pprint(user.permissions)
     return user
             
 def fill_perms(user):
@@ -141,16 +139,15 @@
     #===========================================================================
     # fetch default permissions
     #===========================================================================
-    default_perms = sa.query(RepoToPerm, UserToPerm, Repository, Permission)\
-        .outerjoin((UserToPerm, RepoToPerm.user_id == UserToPerm.user_id))\
+    default_perms = sa.query(RepoToPerm, Repository, Permission)\
         .join((Repository, RepoToPerm.repository_id == Repository.repo_id))\
         .join((Permission, RepoToPerm.permission_id == Permission.permission_id))\
-        .filter(RepoToPerm.user_id == sa.query(User).filter(User.username == 
-                                            'default').one().user_id).all()
+        .filter(RepoToPerm.user == sa.query(User).filter(User.username == 
+                                            'default').scalar()).all()
                                             
     if user.is_admin:
         #=======================================================================
-        # #admin have all rights set to admin        
+        # #admin have all default rights set to admin        
         #=======================================================================
         user.permissions['global'].add('hg.admin')
         
@@ -164,8 +161,12 @@
         #=======================================================================
         
         #default global
-        for perm in default_perms:
-            user.permissions['global'].add(perm.UserToPerm.permission.permission_name)
+        default_global_perms = sa.query(UserToPerm)\
+            .filter(UserToPerm.user == sa.query(User).filter(User.username == 
+            'default').one())
+        
+        for perm in default_global_perms:
+            user.permissions['global'].add(perm.permission.permission_name)
                     
         #default repositories
         for perm in default_perms:
@@ -183,8 +184,7 @@
         #=======================================================================
         # #overwrite default with user permissions if any
         #=======================================================================
-        user_perms = sa.query(RepoToPerm, UserToPerm, Permission, Repository)\
-            .outerjoin((UserToPerm, RepoToPerm.user_id == UserToPerm.user_id))\
+        user_perms = sa.query(RepoToPerm, Permission, Repository)\
             .join((Repository, RepoToPerm.repository_id == Repository.repo_id))\
             .join((Permission, RepoToPerm.permission_id == Permission.permission_id))\
             .filter(RepoToPerm.user_id == user.user_id).all()