Mercurial > public > src > rhodecode
comparison pylons_app/lib/auth.py @ 312:d303aacb3349
repos crud controllers - change id into repo_name for compatability, added ajax repo perm user function variuos html fixes, permissions forms and managment fixes.
Added permission fetching for each request in AuthUser instance
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Mon, 28 Jun 2010 13:54:47 +0200 |
parents | 0e5455fda8fd |
children | d6e2817734d2 |
comparison
equal
deleted
inserted
replaced
311:15e96b5a2685 | 312:d303aacb3349 |
---|---|
25 | 25 |
26 from functools import wraps | 26 from functools import wraps |
27 from pylons import session, url, app_globals as g | 27 from pylons import session, url, app_globals as g |
28 from pylons.controllers.util import abort, redirect | 28 from pylons.controllers.util import abort, redirect |
29 from pylons_app.model import meta | 29 from pylons_app.model import meta |
30 from pylons_app.model.db import User | 30 from pylons_app.model.db import User, Repo2Perm |
31 from sqlalchemy.exc import OperationalError | 31 from sqlalchemy.exc import OperationalError |
32 from sqlalchemy.orm.exc import NoResultFound, MultipleResultsFound | 32 from sqlalchemy.orm.exc import NoResultFound, MultipleResultsFound |
33 import crypt | 33 import crypt |
34 import logging | 34 import logging |
35 log = logging.getLogger(__name__) | 35 log = logging.getLogger(__name__) |
89 logging.info('getting information about all available permissions') | 89 logging.info('getting information about all available permissions') |
90 sa = Session() | 90 sa = Session() |
91 all_perms = sa.query(Permission).all() | 91 all_perms = sa.query(Permission).all() |
92 config['pylons.app_globals'].available_permissions = [x.permission_name for x in all_perms] | 92 config['pylons.app_globals'].available_permissions = [x.permission_name for x in all_perms] |
93 | 93 |
94 | 94 def get_user(session): |
95 """ | |
96 Gets user from session, and wraps permissions into user | |
97 @param session: | |
98 """ | |
99 user = session.get('hg_app_user', AuthUser()) | |
100 if user.is_authenticated: | |
101 sa = meta.Session | |
102 user.permissions = sa.query(Repo2Perm)\ | |
103 .filter(Repo2Perm.user_id == user.user_id).all() | |
104 | |
105 return user | |
95 | 106 |
96 #=============================================================================== | 107 #=============================================================================== |
97 # DECORATORS | 108 # DECORATORS |
98 #=============================================================================== | 109 #=============================================================================== |
99 class LoginRequired(object): | 110 class LoginRequired(object): |