diff pylons_app/lib/auth.py @ 399:f5c1eec9f376

rename repo2perm into repo_to_perm added UserToPerm models for user global permissions
author Marcin Kuzminski <marcin@python-works.com>
date Sun, 08 Aug 2010 01:27:14 +0200
parents e0ef325cbdea
children a10bdd0b05a7
line wrap: on
line diff
--- a/pylons_app/lib/auth.py	Sun Aug 08 01:26:23 2010 +0200
+++ b/pylons_app/lib/auth.py	Sun Aug 08 01:27:14 2010 +0200
@@ -27,7 +27,7 @@
 from pylons.controllers.util import abort, redirect
 from pylons_app.lib.utils import get_repo_slug
 from pylons_app.model import meta
-from pylons_app.model.db import User, Repo2Perm, Repository, Permission
+from pylons_app.model.db import User, RepoToPerm, Repository, Permission
 from sqlalchemy.exc import OperationalError
 from sqlalchemy.orm.exc import NoResultFound, MultipleResultsFound
 import crypt
@@ -134,10 +134,10 @@
     user.permissions['global'] = set()
     
     #first fetch default permissions
-    default_perms = sa.query(Repo2Perm, Repository, Permission)\
-        .join((Repository, Repo2Perm.repository_id == Repository.repo_id))\
-        .join((Permission, Repo2Perm.permission_id == Permission.permission_id))\
-        .filter(Repo2Perm.user_id == sa.query(User).filter(User.username == 
+    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()
 
     if user.is_admin:
@@ -145,7 +145,7 @@
         #admin have all rights set to admin
         for perm in default_perms:
             p = 'repository.admin'
-            user.permissions['repositories'][perm.Repo2Perm.repository.repo_name] = p
+            user.permissions['repositories'][perm.RepoToPerm.repository.repo_name] = p
     
     else:
         user.permissions['global'].add('repository.create')
@@ -159,13 +159,13 @@
             else:
                 p = perm.Permission.permission_name
                 
-            user.permissions['repositories'][perm.Repo2Perm.repository.repo_name] = p
+            user.permissions['repositories'][perm.RepoToPerm.repository.repo_name] = p
                                                 
         
-        user_perms = sa.query(Repo2Perm, Permission, Repository)\
-            .join((Repository, Repo2Perm.repository_id == Repository.repo_id))\
-            .join((Permission, Repo2Perm.permission_id == Permission.permission_id))\
-            .filter(Repo2Perm.user_id == user.user_id).all()
+        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()
         #overwrite userpermissions with defaults
         for perm in user_perms:
             #set write if owner
@@ -173,7 +173,7 @@
                 p = 'repository.write'
             else:
                 p = perm.Permission.permission_name
-            user.permissions['repositories'][perm.Repo2Perm.repository.repo_name] = p
+            user.permissions['repositories'][perm.RepoToPerm.repository.repo_name] = p
     meta.Session.remove()         
     return user