Mercurial > kallithea
comparison rhodecode/model/db.py @ 878:859bc9e7a15d beta
Extended repo2db mapper with group creation via directory structures
Added Groups model to db models
fixed group name with filesystem name rather than MercurialRepository Instance
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Mon, 27 Dec 2010 00:09:12 +0100 |
parents | 28a4bb11bb6f |
children | b19341623d48 |
comparison
equal
deleted
inserted
replaced
877:bc9a73adc216 | 878:859bc9e7a15d |
---|---|
78 def __init__(self, k, v): | 78 def __init__(self, k, v): |
79 self.app_settings_name = k | 79 self.app_settings_name = k |
80 self.app_settings_value = v | 80 self.app_settings_value = v |
81 | 81 |
82 def __repr__(self): | 82 def __repr__(self): |
83 return "<RhodeCodeSetting('%s:%s')>" % (self.app_settings_name, | 83 return "<%s('%s:%s')>" % (self.__class__.__name__, |
84 self.app_settings_value) | 84 self.app_settings_name, self.app_settings_value) |
85 | 85 |
86 class RhodeCodeUi(Base, BaseModel): | 86 class RhodeCodeUi(Base, BaseModel): |
87 __tablename__ = 'rhodecode_ui' | 87 __tablename__ = 'rhodecode_ui' |
88 __table_args__ = {'useexisting':True} | 88 __table_args__ = {'useexisting':True} |
89 ui_id = Column("ui_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) | 89 ui_id = Column("ui_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) |
116 @property | 116 @property |
117 def full_contact(self): | 117 def full_contact(self): |
118 return '%s %s <%s>' % (self.name, self.lastname, self.email) | 118 return '%s %s <%s>' % (self.name, self.lastname, self.email) |
119 | 119 |
120 def __repr__(self): | 120 def __repr__(self): |
121 return "<User('id:%s:%s')>" % (self.user_id, self.username) | 121 return "<%s('id:%s:%s')>" % (self.__class__.__name__, |
122 self.user_id, self.username) | |
122 | 123 |
123 def update_lastlogin(self): | 124 def update_lastlogin(self): |
124 """Update user lastlogin""" | 125 """Update user lastlogin""" |
125 | 126 |
126 try: | 127 try: |
156 user_id = Column("user_id", Integer(), ForeignKey(u'users.user_id'), nullable=False, unique=False, default=None) | 157 user_id = Column("user_id", Integer(), ForeignKey(u'users.user_id'), nullable=False, unique=False, default=None) |
157 private = Column("private", Boolean(), nullable=True, unique=None, default=None) | 158 private = Column("private", Boolean(), nullable=True, unique=None, default=None) |
158 enable_statistics = Column("statistics", Boolean(), nullable=True, unique=None, default=True) | 159 enable_statistics = Column("statistics", Boolean(), nullable=True, unique=None, default=True) |
159 description = Column("description", String(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) | 160 description = Column("description", String(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) |
160 fork_id = Column("fork_id", Integer(), ForeignKey(u'repositories.repo_id'), nullable=True, unique=False, default=None) | 161 fork_id = Column("fork_id", Integer(), ForeignKey(u'repositories.repo_id'), nullable=True, unique=False, default=None) |
162 group_id = Column("group_id", Integer(), ForeignKey(u'groups.group_id'), nullable=True, unique=False, default=None) | |
161 | 163 |
162 user = relation('User') | 164 user = relation('User') |
163 fork = relation('Repository', remote_side=repo_id) | 165 fork = relation('Repository', remote_side=repo_id) |
166 group = relation('Group') | |
164 repo_to_perm = relation('RepoToPerm', cascade='all') | 167 repo_to_perm = relation('RepoToPerm', cascade='all') |
165 stats = relation('Statistics', cascade='all', uselist=False) | 168 stats = relation('Statistics', cascade='all', uselist=False) |
166 | 169 |
167 repo_followers = relation('UserFollowing', primaryjoin='UserFollowing.follows_repo_id==Repository.repo_id', cascade='all') | 170 repo_followers = relation('UserFollowing', primaryjoin='UserFollowing.follows_repo_id==Repository.repo_id', cascade='all') |
168 | 171 |
169 | 172 |
170 def __repr__(self): | 173 def __repr__(self): |
171 return "<Repository('%s:%s')>" % (self.repo_id, self.repo_name) | 174 return "<%s('%s:%s')>" % (self.__class__.__name__, |
175 self.repo_id, self.repo_name) | |
176 | |
177 class Group(Base, BaseModel): | |
178 __tablename__ = 'groups' | |
179 __table_args__ = (UniqueConstraint('group_name'), {'useexisting':True},) | |
180 | |
181 group_id = Column("group_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) | |
182 group_name = Column("group_name", String(length=None, convert_unicode=False, assert_unicode=None), nullable=False, unique=True, default=None) | |
183 group_parent_id = Column("group_parent_id", Integer(), ForeignKey(u'groups.group_id'), nullable=True, unique=None, default=None) | |
184 | |
185 parent_group = relation('Group', remote_side=group_id) | |
186 | |
187 | |
188 def __init__(self, group_name='', parent_group=None): | |
189 self.group_name = group_name | |
190 self.parent_group = parent_group | |
191 | |
192 def __repr__(self): | |
193 return "<%s('%s:%s')>" % (self.__class__.__name__, self.group_id, | |
194 self.group_name) | |
172 | 195 |
173 class Permission(Base, BaseModel): | 196 class Permission(Base, BaseModel): |
174 __tablename__ = 'permissions' | 197 __tablename__ = 'permissions' |
175 __table_args__ = {'useexisting':True} | 198 __table_args__ = {'useexisting':True} |
176 permission_id = Column("permission_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) | 199 permission_id = Column("permission_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) |
177 permission_name = Column("permission_name", String(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) | 200 permission_name = Column("permission_name", String(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) |
178 permission_longname = Column("permission_longname", String(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) | 201 permission_longname = Column("permission_longname", String(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) |
179 | 202 |
180 def __repr__(self): | 203 def __repr__(self): |
181 return "<Permission('%s:%s')>" % (self.permission_id, self.permission_name) | 204 return "<%s('%s:%s')>" % (self.__class__.__name__, |
205 self.permission_id, self.permission_name) | |
182 | 206 |
183 class RepoToPerm(Base, BaseModel): | 207 class RepoToPerm(Base, BaseModel): |
184 __tablename__ = 'repo_to_perm' | 208 __tablename__ = 'repo_to_perm' |
185 __table_args__ = (UniqueConstraint('user_id', 'repository_id'), {'useexisting':True}) | 209 __table_args__ = (UniqueConstraint('user_id', 'repository_id'), {'useexisting':True}) |
186 repo_to_perm_id = Column("repo_to_perm_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) | 210 repo_to_perm_id = Column("repo_to_perm_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) |
244 self.cache_key = cache_key | 268 self.cache_key = cache_key |
245 self.cache_args = cache_args | 269 self.cache_args = cache_args |
246 self.cache_active = False | 270 self.cache_active = False |
247 | 271 |
248 def __repr__(self): | 272 def __repr__(self): |
249 return "<CacheInvalidation('%s:%s')>" % (self.cache_id, self.cache_key) | 273 return "<%s('%s:%s')>" % (self.__class__.__name__, |
274 self.cache_id, self.cache_key) | |
250 | 275 |
251 class DbMigrateVersion(Base, BaseModel): | 276 class DbMigrateVersion(Base, BaseModel): |
252 __tablename__ = 'db_migrate_version' | 277 __tablename__ = 'db_migrate_version' |
253 __table_args__ = {'useexisting':True} | 278 __table_args__ = {'useexisting':True} |
254 repository_id = Column('repository_id', String(250), primary_key=True) | 279 repository_id = Column('repository_id', String(250), primary_key=True) |