diff 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
line wrap: on
line diff
--- a/pylons_app/model/db.py	Wed Sep 01 12:13:03 2010 +0200
+++ b/pylons_app/model/db.py	Wed Sep 01 23:32:47 2010 +0200
@@ -1,7 +1,11 @@
 from pylons_app.model.meta import Base
+from sqlalchemy import *
 from sqlalchemy.orm import relation, backref
-from sqlalchemy import *
+from sqlalchemy.orm.session import Session
 from vcs.utils.lazy import LazyProperty
+import logging
+
+log = logging.getLogger(__name__)
 
 class HgAppSettings(Base):
     __tablename__ = 'hg_app_settings'
@@ -42,6 +46,20 @@
         
     def __repr__(self):
         return "<User('id:%s:%s')>" % (self.user_id, self.username)
+    
+    def update_lastlogin(self):
+        """Update user lastlogin"""
+        import datetime
+        
+        try:
+            session = Session.object_session(self)
+            self.last_login = datetime.datetime.now()
+            session.add(self)
+            session.commit()
+            log.debug('updated user %s lastlogin',self)
+        except Exception:
+            session.rollback()        
+    
       
 class UserLog(Base): 
     __tablename__ = 'user_logs'