Changeset - 5da4ef115006
[Not reviewed]
default
0 2 0
Marcin Kuzminski - 15 years ago 2010-05-30 22:08:54
marcin@python-works.com
Added lastlogin to user after login, model db update
2 files changed with 18 insertions and 2 deletions:
0 comments (0 inline, 0 general)
pylons_app/model/db.py
Show inline comments
 
@@ -34,7 +34,13 @@ class UserLog(Base):
 
class Repository(Base):
 
    __tablename__ = 'repositories'
 
    repo_id = Column("repo_id", INTEGER(), nullable=False, unique=True, default=None, primary_key=1)
 

	
 
    repo_name = Column("repo_name", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
 
    user_id = Column("user_id", INTEGER(), ForeignKey(u'users.user_id'), nullable=True, unique=None, default=None)
 
    private = Column("private", BOOLEAN(), nullable=True, unique=None, default=None)
 
    
 
    user = relation('User')
 
    
 
    
 
class Permission(Base):
 
    __tablename__ = 'permissions'
 
    __table_args__ = {'useexisting':True}
pylons_app/model/forms.py
Show inline comments
 
@@ -19,9 +19,9 @@ list=[1,2,3,4,5]
 
for SELECT use formencode.All(OneOf(list), Int())
 
    
 
"""
 
from formencode import All
 
from formencode.validators import UnicodeString, OneOf, Int, Number, Regex, \
 
    Email, Bool, StringBoolean
 
from formencode import All
 
from pylons import session
 
from pylons.i18n.translation import _
 
from pylons_app.lib.auth import get_crypt_password
 
@@ -30,6 +30,7 @@ from pylons_app.model.db import User
 
from sqlalchemy.exc import OperationalError
 
from sqlalchemy.orm.exc import NoResultFound, MultipleResultsFound
 
from webhelpers.pylonslib.secure_form import authentication_token
 
import datetime
 
import formencode
 
import logging
 
log = logging.getLogger(__name__)
 
@@ -95,6 +96,15 @@ class ValidAuth(formencode.validators.Fa
 
                    session['hg_app_user'] = auth_user
 
                    session.save()
 
                    log.info('user %s is now authenticated', username)
 
                    
 
                    try:
 
                        user.last_login = datetime.datetime.now()
 
                        sa.add(user)
 
                        sa.commit()                        
 
                    except (OperationalError) as e:
 
                        log.error(e)
 
                        sa.rollback()
 
                    
 
                    return value
 
                else:
 
                    log.warning('user %s not authenticated', username)
0 comments (0 inline, 0 general)