Mercurial > public > src > rhodecode
diff pylons_app/lib/db_manage.py @ 239:b18f89d6d17f
Adde draft for permissions systems, made all needed decorators, and checks. For future usage in the system.
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Sun, 30 May 2010 19:49:40 +0200 |
parents | a0116e944da1 |
children | 7c4fa2a66195 |
line wrap: on
line diff
--- a/pylons_app/lib/db_manage.py Sun May 30 17:55:56 2010 +0200 +++ b/pylons_app/lib/db_manage.py Sun May 30 19:49:40 2010 +0200 @@ -1,17 +1,16 @@ +from os.path import dirname as dn, join as jn +from pylons_app.lib.auth import get_crypt_password +from pylons_app.model import init_model +from pylons_app.model.db import User, Permission +from pylons_app.model.meta import Session, Base +from sqlalchemy.engine import create_engine import logging -from os.path import dirname as dn -from os.path import join as jn -from sqlalchemy.engine import create_engine import os import sys ROOT = dn(dn(dn(os.path.realpath(__file__)))) sys.path.append(ROOT) -from pylons_app.model.db import User -from pylons_app.model.meta import Session, Base -from pylons_app.lib.auth import get_crypt_password -from pylons_app.model import init_model log = logging.getLogger('db manage') log.setLevel(logging.DEBUG) @@ -68,9 +67,28 @@ self.sa.rollback() raise + def create_permissions(self): + perms = [('can_view_admin_users', 'Access to admin user view'), + + ] + + for p in perms: + new_perm = Permission() + new_perm.permission_name = p[0] + new_perm.permission_longname = p[1] + try: + self.sa.add(new_perm) + self.sa.commit() + except: + self.sa.rollback() + raise + + + if __name__ == '__main__': dbmanage = DbManage(log_sql=True) dbmanage.create_tables(override=True) - dbmanage.admin_prompt() + dbmanage.admin_prompt() + dbmanage.create_permissions()