Mercurial > kallithea
comparison pylons_app/model/db.py @ 442:d66a7fa7689b
moved loged in user propagation out of forms,
update user model to get auto update last login.
bugfix with redirect log
fixed forms logic a little bit
some other tweeks
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Wed, 01 Sep 2010 23:32:47 +0200 |
parents | 3ed2d46a2ca7 |
children | 7c978511c951 |
comparison
equal
deleted
inserted
replaced
441:c59c4d4323e7 | 442:d66a7fa7689b |
---|---|
1 from pylons_app.model.meta import Base | 1 from pylons_app.model.meta import Base |
2 from sqlalchemy import * | |
2 from sqlalchemy.orm import relation, backref | 3 from sqlalchemy.orm import relation, backref |
3 from sqlalchemy import * | 4 from sqlalchemy.orm.session import Session |
4 from vcs.utils.lazy import LazyProperty | 5 from vcs.utils.lazy import LazyProperty |
6 import logging | |
7 | |
8 log = logging.getLogger(__name__) | |
5 | 9 |
6 class HgAppSettings(Base): | 10 class HgAppSettings(Base): |
7 __tablename__ = 'hg_app_settings' | 11 __tablename__ = 'hg_app_settings' |
8 __table_args__ = (UniqueConstraint('app_settings_name'), {'useexisting':True}) | 12 __table_args__ = (UniqueConstraint('app_settings_name'), {'useexisting':True}) |
9 app_settings_id = Column("app_settings_id", INTEGER(), nullable=False, unique=True, default=None, primary_key=True) | 13 app_settings_id = Column("app_settings_id", INTEGER(), nullable=False, unique=True, default=None, primary_key=True) |
40 def full_contact(self): | 44 def full_contact(self): |
41 return '%s %s <%s>' % (self.name, self.lastname, self.email) | 45 return '%s %s <%s>' % (self.name, self.lastname, self.email) |
42 | 46 |
43 def __repr__(self): | 47 def __repr__(self): |
44 return "<User('id:%s:%s')>" % (self.user_id, self.username) | 48 return "<User('id:%s:%s')>" % (self.user_id, self.username) |
49 | |
50 def update_lastlogin(self): | |
51 """Update user lastlogin""" | |
52 import datetime | |
53 | |
54 try: | |
55 session = Session.object_session(self) | |
56 self.last_login = datetime.datetime.now() | |
57 session.add(self) | |
58 session.commit() | |
59 log.debug('updated user %s lastlogin',self) | |
60 except Exception: | |
61 session.rollback() | |
62 | |
45 | 63 |
46 class UserLog(Base): | 64 class UserLog(Base): |
47 __tablename__ = 'user_logs' | 65 __tablename__ = 'user_logs' |
48 __table_args__ = {'useexisting':True} | 66 __table_args__ = {'useexisting':True} |
49 user_log_id = Column("user_log_id", INTEGER(), nullable=False, unique=True, default=None, primary_key=True) | 67 user_log_id = Column("user_log_id", INTEGER(), nullable=False, unique=True, default=None, primary_key=True) |