##// END OF EJS Templates
permission refactoring,...
permission refactoring, Implemented views for default permissions, fixes #23 user registration is controlled by permission system. Implemented manual registration option websetup fills default permissions

File last commit:

r417:3ed2d46a default
r417:3ed2d46a default
Show More
login.py
97 lines | 3.6 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.
permission refactoring,...
r417
"""
Created on April 22, 2010
login controller for pylons
@author: marcink
"""
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
permission refactoring,...
r417 from pylons_app.lib.auth import AuthUser, HasPermissionAnyDecorator
Added user registration, changed login url schema, moved it into _admin/ for safety
r363 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
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')
permission refactoring,...
r417 @HasPermissionAnyDecorator('hg.admin', 'hg.register.auto_activate', 'hg.register.manual_activate')
Added user registration, changed login url schema, moved it into _admin/ for safety
r363 def register(self):
permission refactoring,...
r417 user_model = UserModel()
c.auto_active = False
for perm in user_model.get_default().user_perms:
if perm.permission.permission_name == 'hg.register.auto_activate':
c.auto_active = False
break
Added user registration, changed login url schema, moved it into _admin/ for safety
r363 if request.POST:
permission refactoring,...
r417
Added user registration, changed login url schema, moved it into _admin/ for safety
r363 register_form = RegisterForm()()
try:
form_result = register_form.to_python(dict(request.POST))
permission refactoring,...
r417 form_result['active'] = c.auto_active
Added user registration, changed login url schema, moved it into _admin/ for safety
r363 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'))