Files
@ 1ef52a70f3b7
Branch filter:
Location: kallithea/pylons_app/model/db.py - annotation
1ef52a70f3b7
5.6 KiB
text/x-python
Made config file free configuration based on database and capable of beeing manage via application settings + some code cleanups
b2c38dee135a 3ada2f409c1c c6526b7531e9 0e5455fda8fd 3ada2f409c1c 1ef52a70f3b7 1ef52a70f3b7 1ef52a70f3b7 1ef52a70f3b7 1ef52a70f3b7 1ef52a70f3b7 1ef52a70f3b7 1ef52a70f3b7 1ef52a70f3b7 1ef52a70f3b7 1ef52a70f3b7 1ef52a70f3b7 1ef52a70f3b7 1ef52a70f3b7 1ef52a70f3b7 a0116e944da1 3ada2f409c1c 3ada2f409c1c 0e5455fda8fd b2c38dee135a b2c38dee135a b2c38dee135a 3a66e7421a99 c6526b7531e9 c6526b7531e9 c6526b7531e9 c6526b7531e9 c6526b7531e9 a0116e944da1 37a832dc4a82 0e5455fda8fd 0e5455fda8fd 0e5455fda8fd 0e5455fda8fd 37a832dc4a82 37a832dc4a82 1b6d7662d6e2 a0116e944da1 3ada2f409c1c 3ada2f409c1c 29370bb76fa6 0e5455fda8fd 29370bb76fa6 29370bb76fa6 b2c38dee135a b2c38dee135a c6526b7531e9 a0116e944da1 29370bb76fa6 a0116e944da1 a0116e944da1 29370bb76fa6 0e5455fda8fd 0e5455fda8fd 5da4ef115006 0e5455fda8fd 29370bb76fa6 5da4ef115006 29370bb76fa6 5da4ef115006 a0116e944da1 c6526b7531e9 c6526b7531e9 29370bb76fa6 c6526b7531e9 b18f89d6d17f b18f89d6d17f 37a832dc4a82 37a832dc4a82 29370bb76fa6 29370bb76fa6 29370bb76fa6 cec5cbc956c0 29370bb76fa6 29370bb76fa6 29370bb76fa6 29370bb76fa6 29370bb76fa6 29370bb76fa6 29370bb76fa6 29370bb76fa6 | from pylons_app.model.meta import Base
from sqlalchemy.orm import relation, backref
from sqlalchemy import *
from vcs.utils.lazy import LazyProperty
class HgAppSettings(Base):
__tablename__ = 'hg_app_settings'
__table_args__ = {'useexisting':True}
app_settings_id = Column("app_settings_id", INTEGER(), nullable=False, unique=True, default=None, primary_key=True)
app_title = Column("app_title", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
app_auth_realm = Column("auth_realm", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
class HgAppUi(Base):
__tablename__ = 'hg_app_ui'
__table_args__ = {'useexisting':True}
ui_id = Column("ui_id", INTEGER(), nullable=False, unique=True, default=None, primary_key=True)
ui_section = Column("ui_section", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
ui_key = Column("ui_key", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
ui_value = Column("ui_value", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
class User(Base):
__tablename__ = 'users'
__table_args__ = {'useexisting':True}
user_id = Column("user_id", INTEGER(), nullable=False, unique=True, default=None, primary_key=True)
username = Column("username", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
password = Column("password", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
active = Column("active", BOOLEAN(), nullable=True, unique=None, default=None)
admin = Column("admin", BOOLEAN(), nullable=True, unique=None, default=False)
name = Column("name", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
lastname = Column("lastname", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
email = Column("email", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
last_login = Column("last_login", DATETIME(timezone=False), nullable=True, unique=None, default=None)
user_log = relation('UserLog')
@LazyProperty
def full_contact(self):
return '%s %s <%s>' % (self.name, self.lastname, self.email)
def __repr__(self):
return "<User('%s:%s')>" % (self.user_id, self.username)
class UserLog(Base):
__tablename__ = 'user_logs'
__table_args__ = {'useexisting':True}
user_log_id = Column("user_log_id", INTEGER(), nullable=False, unique=True, default=None, primary_key=True)
user_id = Column("user_id", INTEGER(), ForeignKey(u'users.user_id'), nullable=False, unique=None, default=None)
user_ip = Column("user_ip", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
repository = Column("repository", TEXT(length=None, convert_unicode=False, assert_unicode=None), ForeignKey(u'repositories.repo_name'), nullable=False, unique=None, default=None)
action = Column("action", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
action_date = Column("action_date", DATETIME(timezone=False), nullable=True, unique=None, default=None)
user = relation('User')
class Repository(Base):
__tablename__ = 'repositories'
__table_args__ = {'useexisting':True}
repo_name = Column("repo_name", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=False, unique=True, default=None, primary_key=True)
user_id = Column("user_id", INTEGER(), ForeignKey(u'users.user_id'), nullable=False, unique=False, default=None)
private = Column("private", BOOLEAN(), nullable=True, unique=None, default=None)
description = Column("description", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
user = relation('User')
repo2perm = relation('Repo2Perm', cascade='all')
class Permission(Base):
__tablename__ = 'permissions'
__table_args__ = {'useexisting':True}
permission_id = Column("permission_id", INTEGER(), nullable=False, unique=True, default=None, primary_key=True)
permission_name = Column("permission_name", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
permission_longname = Column("permission_longname", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
def __repr__(self):
return "<Permission('%s:%s')>" % (self.permission_id, self.permission_name)
class Repo2Perm(Base):
__tablename__ = 'repo_to_perm'
__table_args__ = (UniqueConstraint('user_id', 'repository'), {'useexisting':True})
repo2perm_id = Column("repo2perm_id", INTEGER(), nullable=False, unique=True, default=None, primary_key=True)
user_id = Column("user_id", INTEGER(), ForeignKey(u'users.user_id'), nullable=False, unique=None, default=None)
permission_id = Column("permission_id", INTEGER(), ForeignKey(u'permissions.permission_id'), nullable=False, unique=None, default=None)
repository = Column("repository", TEXT(length=None, convert_unicode=False, assert_unicode=None), ForeignKey(u'repositories.repo_name'), nullable=False, unique=None, default=None)
user = relation('User')
permission = relation('Permission')
|