##// END OF EJS Templates
changed naming convention for db modules.
marcink -
r234:a0116e94 default
parent child Browse files
Show More
@@ -5,7 +5,7 b' from pylons import request, response, se'
5 from pylons.controllers.util import abort, redirect
5 from pylons.controllers.util import abort, redirect
6 from pylons_app.lib.base import BaseController, render
6 from pylons_app.lib.base import BaseController, render
7 from pylons_app.model import meta
7 from pylons_app.model import meta
8 from pylons_app.model.db import UserLogs
8 from pylons_app.model.db import UserLog
9 from webhelpers.paginate import Page
9 from webhelpers.paginate import Page
10 from pylons_app.lib.auth import LoginRequired
10 from pylons_app.lib.auth import LoginRequired
11
11
@@ -23,8 +23,7 b' class AdminController(BaseController):'
23 def index(self):
23 def index(self):
24 sa = meta.Session
24 sa = meta.Session
25
25
26 users_log = sa.query(UserLogs)\
26 users_log = sa.query(UserLog).order_by(UserLog.action_date.desc())
27 .order_by(UserLogs.action_date.desc())
28 p = int(request.params.get('page', 1))
27 p = int(request.params.get('page', 1))
29 c.users_log = Page(users_log, page=p, items_per_page=10)
28 c.users_log = Page(users_log, page=p, items_per_page=10)
30 c.log_data = render('admin/admin_log.html')
29 c.log_data = render('admin/admin_log.html')
@@ -5,7 +5,7 b' from pylons.controllers.util import abor'
5
5
6 from pylons_app.lib.base import BaseController, render
6 from pylons_app.lib.base import BaseController, render
7 from formencode import htmlfill
7 from formencode import htmlfill
8 from pylons_app.model.db import Users, UserLogs
8 from pylons_app.model.db import User, UserLog
9 import crypt
9 import crypt
10
10
11 log = logging.getLogger(__name__)
11 log = logging.getLogger(__name__)
@@ -25,7 +25,7 b' class UsersController(BaseController):'
25 """GET /users: All items in the collection"""
25 """GET /users: All items in the collection"""
26 # url('users')
26 # url('users')
27
27
28 c.users_list = self.sa.query(Users).all()
28 c.users_list = self.sa.query(User).all()
29 return render('admin/users/users.html')
29 return render('admin/users/users.html')
30
30
31 def create(self):
31 def create(self):
@@ -34,7 +34,7 b' class UsersController(BaseController):'
34 params = dict(request.params)
34 params = dict(request.params)
35
35
36 try:
36 try:
37 new_user = Users()
37 new_user = User()
38 new_user.active = params.get('active', False)
38 new_user.active = params.get('active', False)
39 new_user.username = params.get('username')
39 new_user.username = params.get('username')
40 new_user.password = crypt.crypt(params.get('password'), '6a')
40 new_user.password = crypt.crypt(params.get('password'), '6a')
@@ -63,7 +63,7 b' class UsersController(BaseController):'
63 params = dict(request.params)
63 params = dict(request.params)
64
64
65 try:
65 try:
66 new_user = self.sa.query(Users).get(id)
66 new_user = self.sa.query(User).get(id)
67 new_user.active = params.get('active', False)
67 new_user.active = params.get('active', False)
68 new_user.username = params.get('username')
68 new_user.username = params.get('username')
69 if params.get('new_password'):
69 if params.get('new_password'):
@@ -85,7 +85,7 b' class UsersController(BaseController):'
85 # method='delete')
85 # method='delete')
86 # url('user', id=ID)
86 # url('user', id=ID)
87 try:
87 try:
88 self.sa.delete(self.sa.query(Users).get(id))
88 self.sa.delete(self.sa.query(User).get(id))
89 self.sa.commit()
89 self.sa.commit()
90 except:
90 except:
91 self.sa.rollback()
91 self.sa.rollback()
@@ -100,7 +100,7 b' class UsersController(BaseController):'
100 def edit(self, id, format='html'):
100 def edit(self, id, format='html'):
101 """GET /users/id/edit: Form to edit an existing item"""
101 """GET /users/id/edit: Form to edit an existing item"""
102 # url('edit_user', id=ID)
102 # url('edit_user', id=ID)
103 c.user = self.sa.query(Users).get(id)
103 c.user = self.sa.query(User).get(id)
104 defaults = c.user.__dict__
104 defaults = c.user.__dict__
105 return htmlfill.render(
105 return htmlfill.render(
106 render('admin/users/user_edit.html'),
106 render('admin/users/user_edit.html'),
@@ -2,7 +2,7 b' from functools import wraps'
2 from pylons import session, url
2 from pylons import session, url
3 from pylons.controllers.util import abort, redirect
3 from pylons.controllers.util import abort, redirect
4 from pylons_app.model import meta
4 from pylons_app.model import meta
5 from pylons_app.model.db import Users
5 from pylons_app.model.db import User
6 from sqlalchemy.exc import OperationalError
6 from sqlalchemy.exc import OperationalError
7 from sqlalchemy.orm.exc import NoResultFound, MultipleResultsFound
7 from sqlalchemy.orm.exc import NoResultFound, MultipleResultsFound
8 import crypt
8 import crypt
@@ -20,7 +20,7 b' def authfunc(environ, username, password'
20 sa = meta.Session
20 sa = meta.Session
21 password_crypt = get_crypt_password(password)
21 password_crypt = get_crypt_password(password)
22 try:
22 try:
23 user = sa.query(Users).filter(Users.username == username).one()
23 user = sa.query(User).filter(User.username == username).one()
24 except (NoResultFound, MultipleResultsFound, OperationalError) as e:
24 except (NoResultFound, MultipleResultsFound, OperationalError) as e:
25 log.error(e)
25 log.error(e)
26 user = None
26 user = None
@@ -1,12 +1,13 b''
1 import logging
1 import logging
2 from os.path import dirname as dn
2 from os.path import dirname as dn
3 from os.path import join as jn
3 from sqlalchemy.engine import create_engine
4 from sqlalchemy.engine import create_engine
4 import os
5 import os
5 import sys
6 import sys
6 ROOT = dn(dn(dn(os.path.realpath(__file__))))
7 ROOT = dn(dn(dn(os.path.realpath(__file__))))
7 sys.path.append(ROOT)
8 sys.path.append(ROOT)
8
9
9 from pylons_app.model.db import Users
10 from pylons_app.model.db import User
10 from pylons_app.model.meta import Session, Base
11 from pylons_app.model.meta import Session, Base
11
12
12 from pylons_app.lib.auth import get_crypt_password
13 from pylons_app.lib.auth import get_crypt_password
@@ -22,14 +23,14 b' log.addHandler(console_handler)'
22 class DbManage(object):
23 class DbManage(object):
23 def __init__(self, log_sql):
24 def __init__(self, log_sql):
24 self.dbname = 'hg_app.db'
25 self.dbname = 'hg_app.db'
25 dburi = 'sqlite:////%s' % os.path.join(ROOT, self.dbname)
26 dburi = 'sqlite:////%s' % jn(ROOT, self.dbname)
26 engine = create_engine(dburi, echo=log_sql)
27 engine = create_engine(dburi, echo=log_sql)
27 init_model(engine)
28 init_model(engine)
28 self.sa = Session()
29 self.sa = Session()
29
30
30 def check_for_db(self, override):
31 def check_for_db(self, override):
31 log.info('checking for exisiting db')
32 log.info('checking for exisiting db')
32 if os.path.isfile(os.path.join(ROOT, self.dbname)):
33 if os.path.isfile(jn(ROOT, self.dbname)):
33 log.info('database exisist')
34 log.info('database exisist')
34 if not override:
35 if not override:
35 raise Exception('database already exists')
36 raise Exception('database already exists')
@@ -41,6 +42,7 b' class DbManage(object):'
41 self.check_for_db(override)
42 self.check_for_db(override)
42 if override:
43 if override:
43 log.info("database exisist and it's going to be destroyed")
44 log.info("database exisist and it's going to be destroyed")
45 os.remove(jn(ROOT, self.dbname))
44 Base.metadata.create_all(checkfirst=override)
46 Base.metadata.create_all(checkfirst=override)
45 log.info('Created tables for %s', self.dbname)
47 log.info('Created tables for %s', self.dbname)
46
48
@@ -53,7 +55,7 b' class DbManage(object):'
53 def create_user(self, username, password, admin=False):
55 def create_user(self, username, password, admin=False):
54 log.info('creating administrator user %s', username)
56 log.info('creating administrator user %s', username)
55
57
56 new_user = Users()
58 new_user = User()
57 new_user.username = username
59 new_user.username = username
58 new_user.password = get_crypt_password(password)
60 new_user.password = get_crypt_password(password)
59 new_user.admin = admin
61 new_user.admin = admin
@@ -18,7 +18,7 b' from paste.httpheaders import REMOTE_USE'
18 from pylons_app.lib.auth import authfunc
18 from pylons_app.lib.auth import authfunc
19 from pylons_app.lib.utils import is_mercurial, make_ui, invalidate_cache
19 from pylons_app.lib.utils import is_mercurial, make_ui, invalidate_cache
20 from pylons_app.model import meta
20 from pylons_app.model import meta
21 from pylons_app.model.db import UserLogs, Users
21 from pylons_app.model.db import UserLog, User
22 from webob.exc import HTTPNotFound
22 from webob.exc import HTTPNotFound
23 import logging
23 import logging
24 import os
24 import os
@@ -102,9 +102,8 b' class SimpleHg(object):'
102 def __log_user_action(self, username, action, repo):
102 def __log_user_action(self, username, action, repo):
103 sa = meta.Session
103 sa = meta.Session
104 try:
104 try:
105 user = sa.query(Users)\
105 user = sa.query(User).filter(User.username == username).one()
106 .filter(Users.username == username).one()
106 user_log = UserLog()
107 user_log = UserLogs()
108 user_log.user_id = user.user_id
107 user_log.user_id = user.user_id
109 user_log.action = action
108 user_log.action = action
110 user_log.repository = repo.replace('/', '')
109 user_log.repository = repo.replace('/', '')
@@ -2,7 +2,7 b' from pylons_app.model.meta import Base'
2 from sqlalchemy.orm import relation, backref
2 from sqlalchemy.orm import relation, backref
3 from sqlalchemy import *
3 from sqlalchemy import *
4
4
5 class Users(Base):
5 class User(Base):
6 __tablename__ = 'users'
6 __tablename__ = 'users'
7 __table_args__ = {'useexisting':True}
7 __table_args__ = {'useexisting':True}
8 user_id = Column("user_id", INTEGER(), nullable=False, unique=True, default=None, primary_key=1)
8 user_id = Column("user_id", INTEGER(), nullable=False, unique=True, default=None, primary_key=1)
@@ -15,24 +15,27 b' class Users(Base):'
15 email = Column("email", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
15 email = Column("email", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
16 last_login = Column("last_login", DATETIME(timezone=False), nullable=True, unique=None, default=None)
16 last_login = Column("last_login", DATETIME(timezone=False), nullable=True, unique=None, default=None)
17
17
18 user_log = relation('UserLogs')
18 user_log = relation('UserLog')
19
19
20 def __repr__(self):
20 def __repr__(self):
21 return "<User('%s:%s')>" % (self.user_id, self.username)
21 return "<User('%s:%s')>" % (self.user_id, self.username)
22
22
23 class UserLogs(Base):
23 class UserLog(Base):
24 __tablename__ = 'user_logs'
24 __tablename__ = 'user_logs'
25 __table_args__ = {'useexisting':True}
25 __table_args__ = {'useexisting':True}
26 user_log_id = Column("id", INTEGER(), nullable=False, unique=True, default=None, primary_key=1)
26 user_log_id = Column("user_log_id", INTEGER(), nullable=False, unique=True, default=None, primary_key=1)
27 user_id = Column("user_id", INTEGER(), ForeignKey(u'users.user_id'), nullable=True, unique=None, default=None)
27 user_id = Column("user_id", INTEGER(), ForeignKey(u'users.user_id'), nullable=True, unique=None, default=None)
28 repository = Column("repository", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
28 repository = Column("repository", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
29 action = Column("action", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
29 action = Column("action", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
30 action_date = Column("action_date", DATETIME(timezone=False), nullable=True, unique=None, default=None)
30 action_date = Column("action_date", DATETIME(timezone=False), nullable=True, unique=None, default=None)
31
31
32 user = relation('Users')
32 user = relation('User')
33
33
34 class Repository(Base):
35 __tablename__ = 'repositories'
36 repo_id = Column("repo_id", INTEGER(), nullable=False, unique=True, default=None, primary_key=1)
34
37
35 class Permissions(Base):
38 class Permission(Base):
36 __tablename__ = 'permissions'
39 __tablename__ = 'permissions'
37 __table_args__ = {'useexisting':True}
40 __table_args__ = {'useexisting':True}
38 permission_id = Column("id", INTEGER(), nullable=False, unique=True, default=None, primary_key=1)
41 permission_id = Column("id", INTEGER(), nullable=False, unique=True, default=None, primary_key=1)
@@ -24,7 +24,7 b' from pylons import session'
24 from pylons.i18n.translation import _
24 from pylons.i18n.translation import _
25 from pylons_app.lib.auth import get_crypt_password
25 from pylons_app.lib.auth import get_crypt_password
26 from pylons_app.model import meta
26 from pylons_app.model import meta
27 from pylons_app.model.db import Users
27 from pylons_app.model.db import User
28 from sqlalchemy.exc import OperationalError
28 from sqlalchemy.exc import OperationalError
29 from sqlalchemy.orm.exc import NoResultFound, MultipleResultsFound
29 from sqlalchemy.orm.exc import NoResultFound, MultipleResultsFound
30 from webhelpers.pylonslib.secure_form import authentication_token
30 from webhelpers.pylonslib.secure_form import authentication_token
@@ -66,7 +66,7 b' class ValidAuth(formencode.validators.Fa'
66 crypted_passwd = get_crypt_password(value['password'])
66 crypted_passwd = get_crypt_password(value['password'])
67 username = value['username']
67 username = value['username']
68 try:
68 try:
69 user = sa.query(Users).filter(Users.username == username).one()
69 user = sa.query(User).filter(User.username == username).one()
70 except (NoResultFound, MultipleResultsFound, OperationalError) as e:
70 except (NoResultFound, MultipleResultsFound, OperationalError) as e:
71 log.error(e)
71 log.error(e)
72 user = None
72 user = None
General Comments 0
You need to be logged in to leave comments. Login now