Mercurial > kallithea
view pylons_app/controllers/login.py @ 186:556473ba0399
fixed menu in home page, and added login html with forms that validates username and password.
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Sat, 22 May 2010 01:32:30 +0200 |
parents | |
children | 7109d15c6813 |
line wrap: on
line source
import logging from formencode import htmlfill from pylons import request, response, session, tmpl_context as c, url from pylons.controllers.util import abort, redirect from pylons_app.lib.base import BaseController, render import formencode from pylons_app.model.forms import LoginForm from pylons_app.lib.auth import AuthUser log = logging.getLogger(__name__) class LoginController(BaseController): def index(self): if session.get('hg_app_user', AuthUser()).is_authenticated: return redirect(url('hg_home')) if request.POST: #import Login Form validator class login_form = LoginForm() try: c.form_result = login_form.to_python(dict(request.POST)) return redirect(url('hg_home')) except formencode.Invalid as errors: c.form_errors = errors.error_dict return htmlfill.render( render('/login.html'), defaults=errors.value, encoding="UTF-8") return render('/login.html') def logout(self): session['hg_app_user'] = AuthUser() session.save() redirect(url('hg_home'))