Mercurial > kallithea
comparison pylons_app/controllers/login.py @ 363:98abf8953b87
Added user registration, changed login url schema, moved it into _admin/ for safety
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Sat, 24 Jul 2010 02:18:48 +0200 |
parents | db187729c40c |
children | 3ed2d46a2ca7 |
comparison
equal
deleted
inserted
replaced
362:558eb7c5028f | 363:98abf8953b87 |
---|---|
15 # | 15 # |
16 # You should have received a copy of the GNU General Public License | 16 # You should have received a copy of the GNU General Public License |
17 # along with this program; if not, write to the Free Software | 17 # along with this program; if not, write to the Free Software |
18 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, | 18 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
19 # MA 02110-1301, USA. | 19 # MA 02110-1301, USA. |
20 from formencode import htmlfill | |
21 from pylons import request, response, session, tmpl_context as c, url | |
22 from pylons.controllers.util import abort, redirect | |
23 from pylons_app.lib.auth import AuthUser | |
24 from pylons_app.lib.base import BaseController, render | |
25 from pylons_app.model.forms import LoginForm, RegisterForm | |
26 from pylons_app.model.user_model import UserModel | |
27 import formencode | |
28 import logging | |
20 """ | 29 """ |
21 Created on April 22, 2010 | 30 Created on April 22, 2010 |
22 login controller for pylons | 31 login controller for pylons |
23 @author: marcink | 32 @author: marcink |
24 """ | 33 """ |
25 import logging | |
26 from formencode import htmlfill | |
27 from pylons import request, response, session, tmpl_context as c, url | |
28 from pylons.controllers.util import abort, redirect | |
29 from pylons_app.lib.base import BaseController, render | |
30 import formencode | |
31 from pylons_app.model.forms import LoginForm | |
32 from pylons_app.lib.auth import AuthUser | |
33 | 34 |
34 log = logging.getLogger(__name__) | 35 log = logging.getLogger(__name__) |
35 | 36 |
36 class LoginController(BaseController): | 37 class LoginController(BaseController): |
37 | 38 |
58 prefix_error=False, | 59 prefix_error=False, |
59 encoding="UTF-8") | 60 encoding="UTF-8") |
60 | 61 |
61 return render('/login.html') | 62 return render('/login.html') |
62 | 63 |
64 | |
65 def register(self): | |
66 if request.POST: | |
67 user_model = UserModel() | |
68 register_form = RegisterForm()() | |
69 try: | |
70 form_result = register_form.to_python(dict(request.POST)) | |
71 user_model.create_registration(form_result) | |
72 return redirect(url('login_home')) | |
73 | |
74 except formencode.Invalid as errors: | |
75 return htmlfill.render( | |
76 render('/register.html'), | |
77 defaults=errors.value, | |
78 errors=errors.error_dict or {}, | |
79 prefix_error=False, | |
80 encoding="UTF-8") | |
81 | |
82 return render('/register.html') | |
83 | |
63 def logout(self): | 84 def logout(self): |
64 session['hg_app_user'] = AuthUser() | 85 session['hg_app_user'] = AuthUser() |
65 session.save() | 86 session.save() |
66 log.info('Logging out and setting user as Empty') | 87 log.info('Logging out and setting user as Empty') |
67 redirect(url('hg_home')) | 88 redirect(url('hg_home')) |