Mercurial > kallithea
comparison pylons_app/model/forms.py @ 242:5da4ef115006
Added lastlogin to user after login, model db update
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Sun, 30 May 2010 22:08:54 +0200 |
parents | a55c17874486 |
children | 0e5455fda8fd |
comparison
equal
deleted
inserted
replaced
241:48727add84c9 | 242:5da4ef115006 |
---|---|
17 <name> must equal form name | 17 <name> must equal form name |
18 list=[1,2,3,4,5] | 18 list=[1,2,3,4,5] |
19 for SELECT use formencode.All(OneOf(list), Int()) | 19 for SELECT use formencode.All(OneOf(list), Int()) |
20 | 20 |
21 """ | 21 """ |
22 from formencode import All | |
22 from formencode.validators import UnicodeString, OneOf, Int, Number, Regex, \ | 23 from formencode.validators import UnicodeString, OneOf, Int, Number, Regex, \ |
23 Email, Bool, StringBoolean | 24 Email, Bool, StringBoolean |
24 from formencode import All | |
25 from pylons import session | 25 from pylons import session |
26 from pylons.i18n.translation import _ | 26 from pylons.i18n.translation import _ |
27 from pylons_app.lib.auth import get_crypt_password | 27 from pylons_app.lib.auth import get_crypt_password |
28 from pylons_app.model import meta | 28 from pylons_app.model import meta |
29 from pylons_app.model.db import User | 29 from pylons_app.model.db import User |
30 from sqlalchemy.exc import OperationalError | 30 from sqlalchemy.exc import OperationalError |
31 from sqlalchemy.orm.exc import NoResultFound, MultipleResultsFound | 31 from sqlalchemy.orm.exc import NoResultFound, MultipleResultsFound |
32 from webhelpers.pylonslib.secure_form import authentication_token | 32 from webhelpers.pylonslib.secure_form import authentication_token |
33 import datetime | |
33 import formencode | 34 import formencode |
34 import logging | 35 import logging |
35 log = logging.getLogger(__name__) | 36 log = logging.getLogger(__name__) |
36 | 37 |
37 | 38 |
93 auth_user.is_authenticated = True | 94 auth_user.is_authenticated = True |
94 auth_user.is_admin = user.admin | 95 auth_user.is_admin = user.admin |
95 session['hg_app_user'] = auth_user | 96 session['hg_app_user'] = auth_user |
96 session.save() | 97 session.save() |
97 log.info('user %s is now authenticated', username) | 98 log.info('user %s is now authenticated', username) |
99 | |
100 try: | |
101 user.last_login = datetime.datetime.now() | |
102 sa.add(user) | |
103 sa.commit() | |
104 except (OperationalError) as e: | |
105 log.error(e) | |
106 sa.rollback() | |
107 | |
98 return value | 108 return value |
99 else: | 109 else: |
100 log.warning('user %s not authenticated', username) | 110 log.warning('user %s not authenticated', username) |
101 raise formencode.Invalid(self.message('invalid_password', | 111 raise formencode.Invalid(self.message('invalid_password', |
102 state=State_obj), value, state, | 112 state=State_obj), value, state, |