diff pylons_app/controllers/users.py @ 238:a55c17874486

Rewrite of user managment, improved forms, added some user info
author Marcin Kuzminski <marcin@python-works.com>
date Sun, 30 May 2010 17:55:56 +0200
parents fcab58c43ea1
children b18f89d6d17f
line wrap: on
line diff
--- a/pylons_app/controllers/users.py	Sun May 30 17:52:20 2010 +0200
+++ b/pylons_app/controllers/users.py	Sun May 30 17:55:56 2010 +0200
@@ -1,6 +1,8 @@
 from formencode import htmlfill
 from pylons import request, response, session, tmpl_context as c, url, \
     app_globals as g
+from pylons.i18n.translation import _
+from pylons_app.lib import helpers as h    
 from pylons.controllers.util import abort, redirect
 from pylons_app.lib.auth import LoginRequired
 from pylons_app.lib.base import BaseController, render
@@ -37,10 +39,11 @@
         # url('users')
         
         user_model = UserModel()
-        login_form = UserForm()
+        login_form = UserForm()()
         try:
             form_result = login_form.to_python(dict(request.POST))
             user_model.create(form_result)
+            h.flash(_('created user %s') % form_result['username'], category='success')
             return redirect(url('users'))
                            
         except formencode.Invalid as errors:
@@ -64,14 +67,14 @@
         #           method='put')
         # url('user', id=ID)
         user_model = UserModel()
-        login_form = UserForm()
+        login_form = UserForm(edit=True)()
         try:
             form_result = login_form.to_python(dict(request.POST))
             user_model.update(id, form_result)
+            h.flash(_('User updated succesfully'), category='success')
             return redirect(url('users'))
                            
         except formencode.Invalid as errors:
-            errors.value
             c.user = user_model.get_user(id)
             c.form_errors = errors.error_dict
             return htmlfill.render(
@@ -90,6 +93,7 @@
         try:
             self.sa.delete(self.sa.query(User).get(id))
             self.sa.commit()
+            h.flash(_('sucessfully deleted user'), category='success')
         except:
             self.sa.rollback()
             raise