##// END OF EJS Templates
Implemented basic gravatar support on admin pages only for now
Implemented basic gravatar support on admin pages only for now

File last commit:

r363:98abf895 default
r398:8c50b164 default
Show More
login.py
88 lines | 3.1 KiB | text/x-python | PythonLexer
licensing updates, code cleanups
r252 #!/usr/bin/env python
# encoding: utf-8
# login controller for pylons
# Copyright (C) 2009-2010 Marcin Kuzminski <marcin@python-works.com>
new style error display for login
r360 #
licensing updates, code cleanups
r252 # This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; version 2
# of the License or (at your opinion) any later version of the license.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301, USA.
Added user registration, changed login url schema, moved it into _admin/ for safety
r363 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.auth import AuthUser
from pylons_app.lib.base import BaseController, render
from pylons_app.model.forms import LoginForm, RegisterForm
from pylons_app.model.user_model import UserModel
import formencode
import logging
licensing updates, code cleanups
r252 """
Created on April 22, 2010
login controller for pylons
@author: marcink
"""
fixed menu in home page, and added login html with forms that validates username and password.
r186
log = logging.getLogger(__name__)
class LoginController(BaseController):
updated logging in logout. Added before, on login page.
r202 def __before__(self):
super(LoginController, self).__before__()
fixed menu in home page, and added login html with forms that validates username and password.
r186 def index(self):
cleared prints leftoovers, and changed current user fetching in login controller
r195 #redirect if already logged in
if c.hg_app_user.is_authenticated:
fixed menu in home page, and added login html with forms that validates username and password.
r186 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:
return htmlfill.render(
render('/login.html'),
defaults=errors.value,
new style error display for login
r360 errors=errors.error_dict or {},
prefix_error=False,
fixed menu in home page, and added login html with forms that validates username and password.
r186 encoding="UTF-8")
return render('/login.html')
Added user registration, changed login url schema, moved it into _admin/ for safety
r363
def register(self):
if request.POST:
user_model = UserModel()
register_form = RegisterForm()()
try:
form_result = register_form.to_python(dict(request.POST))
user_model.create_registration(form_result)
return redirect(url('login_home'))
except formencode.Invalid as errors:
return htmlfill.render(
render('/register.html'),
defaults=errors.value,
errors=errors.error_dict or {},
prefix_error=False,
encoding="UTF-8")
return render('/register.html')
fixed menu in home page, and added login html with forms that validates username and password.
r186 def logout(self):
session['hg_app_user'] = AuthUser()
session.save()
updated logging in logout. Added before, on login page.
r202 log.info('Logging out and setting user as Empty')
fixed menu in home page, and added login html with forms that validates username and password.
r186 redirect(url('hg_home'))