Files
@ 27f801e03489
Branch filter:
Location: kallithea/pylons_app/model/db.py - annotation
27f801e03489
6.5 KiB
text/x-python
fixed escaping for new webhelpers and added perm2user constraint
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | b2c38dee135a 3ada2f409c1c c6526b7531e9 0e5455fda8fd 3ada2f409c1c 1ef52a70f3b7 1ef52a70f3b7 55377fdc1fc6 1ef52a70f3b7 55377fdc1fc6 55377fdc1fc6 1ef52a70f3b7 1ef52a70f3b7 1ef52a70f3b7 1ef52a70f3b7 1ef52a70f3b7 1ef52a70f3b7 1ef52a70f3b7 1ef52a70f3b7 b27d32cb3157 b27d32cb3157 b27d32cb3157 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 a26f48ad7a8a a26f48ad7a8a a26f48ad7a8a 0e5455fda8fd 5da4ef115006 0e5455fda8fd 29370bb76fa6 5da4ef115006 f5c1eec9f376 5da4ef115006 a0116e944da1 c6526b7531e9 c6526b7531e9 29370bb76fa6 c6526b7531e9 b18f89d6d17f b18f89d6d17f 37a832dc4a82 37a832dc4a82 29370bb76fa6 f5c1eec9f376 29370bb76fa6 a26f48ad7a8a f5c1eec9f376 29370bb76fa6 29370bb76fa6 a26f48ad7a8a 29370bb76fa6 29370bb76fa6 29370bb76fa6 a26f48ad7a8a f5c1eec9f376 f5c1eec9f376 f5c1eec9f376 27f801e03489 f5c1eec9f376 f5c1eec9f376 f5c1eec9f376 f5c1eec9f376 f5c1eec9f376 f5c1eec9f376 f5c1eec9f376 f5c1eec9f376 f5c1eec9f376 f5c1eec9f376 | 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__ = (UniqueConstraint('app_settings_name'), {'useexisting':True})
app_settings_id = Column("app_settings_id", INTEGER(), nullable=False, unique=True, default=None, primary_key=True)
app_settings_name = Column("app_settings_name", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
app_settings_value = Column("app_settings_value", 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)
ui_active = Column("ui_active", BOOLEAN(), nullable=True, unique=None, default=True)
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__ = (UniqueConstraint('repo_name'), {'useexisting':True},)
repo_id = Column("repo_id", INTEGER(), nullable=False, unique=True, default=None, primary_key=True)
repo_name = Column("repo_name", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=False, unique=True, default=None)
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')
repo_to_perm = relation('RepoToPerm', 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 RepoToPerm(Base):
__tablename__ = 'repo_to_perm'
__table_args__ = (UniqueConstraint('user_id', 'repository_id'), {'useexisting':True})
repo_to_perm_id = Column("repo_to_perm_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_id = Column("repository_id", INTEGER(), ForeignKey(u'repositories.repo_id'), nullable=False, unique=None, default=None)
user = relation('User')
permission = relation('Permission')
repository = relation('Repository')
class UserToPerm(Base):
__tablename__ = 'user_to_perm'
__table_args__ = (UniqueConstraint('user_id', 'permission_id'), {'useexisting':True})
user_to_perm_id = Column("user_to_perm_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)
user = relation('User')
permission = relation('Permission')
|