Changeset - 0d7b56b97953
[Not reviewed]
beta
0 2 0
Marcin Kuzminski - 14 years ago 2011-06-29 01:49:53
marcin@python-works.com
Simplified last_login call on user, and changed login to use User model directly
2 files changed with 14 insertions and 13 deletions:
0 comments (0 inline, 0 general)
rhodecode/controllers/login.py
Show inline comments
 
@@ -35,6 +35,7 @@ from pylons import request, response, se
 
import rhodecode.lib.helpers as h
 
from rhodecode.lib.auth import AuthUser, HasPermissionAnyDecorator
 
from rhodecode.lib.base import BaseController, render
 
from rhodecode.model.db import User
 
from rhodecode.model.forms import LoginForm, RegisterForm, PasswordResetForm
 
from rhodecode.model.user import UserModel
 

	
 
@@ -63,7 +64,7 @@ class LoginController(BaseController):
 
                c.form_result = login_form.to_python(dict(request.POST))
 
                #form checks for username/password, now we're authenticated
 
                username = c.form_result['username']
 
                user = UserModel().get_by_username(username,
 
                user = User.by_username(username,
 
                                                   case_insensitive=True)
 
                auth_user = AuthUser(user.user_id)
 
                auth_user.set_authenticated()
rhodecode/model/db.py
Show inline comments
 
@@ -225,31 +225,31 @@ class User(Base, BaseModel):
 
    def short_contact(self):
 
        return '%s %s' % (self.name, self.lastname)
 

	
 

	
 
    @property
 
    def is_admin(self):
 
        return self.admin
 

	
 
    def __repr__(self):
 
        try:
 
        return "<%s('id:%s:%s')>" % (self.__class__.__name__,
 
                                     self.user_id, self.username)
 
        except:
 
            return self.__class__.__name__
 

	
 
    @classmethod
 
    def by_username(cls, username):
 
    def by_username(cls, username, case_insensitive=False):
 
        if case_insensitive:
 
            return Session.query(cls).filter(cls.username.like(username)).one()
 
        else:
 
        return Session.query(cls).filter(cls.username == username).one()
 

	
 

	
 
    def update_lastlogin(self):
 
        """Update user lastlogin"""
 

	
 
        try:
 
            session = Session.object_session(self)
 
            self.last_login = datetime.datetime.now()
 
            session.add(self)
 
            session.commit()
 
        Session.add(self)
 
        Session.commit()
 
            log.debug('updated user %s lastlogin', self.username)
 
        except (DatabaseError,):
 
            session.rollback()
 

	
 

	
 
class UserLog(Base, BaseModel):
 
@@ -463,13 +463,13 @@ class Repository(Base, BaseModel):
 

	
 
    @property
 
    def scm_instance(self):
 
        return self.__get_instance(self.repo_name)
 
        return self.__get_instance()
 

	
 
    @property
 
    def scm_instance_cached(self):
 
        @cache_region('long_term')
 
        def _c(repo_name):
 
            return self.__get_instance(repo_name)
 
            return self.__get_instance()
 

	
 
        inv = self.invalidate
 
        if inv:
 
@@ -481,7 +481,7 @@ class Repository(Base, BaseModel):
 

	
 
        return _c(self.repo_name)
 

	
 
    def __get_instance(self, repo_name):
 
    def __get_instance(self):
 

	
 
        repo_full_path = self.repo_full_path
 

	
0 comments (0 inline, 0 general)