Mercurial > kallithea
diff rhodecode/controllers/admin/users.py @ 1749:8ecc6b8229a5 beta
commit less models
- models don't do any commits(with few exceptions)
- all db transactions should be handled by higher level modules like controllers, celery tasks
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Fri, 02 Dec 2011 22:31:13 +0200 |
parents | 59c26a9aba63 |
children | a87aa385f21c |
line wrap: on
line diff
--- a/rhodecode/controllers/admin/users.py Fri Dec 02 00:15:26 2011 +0200 +++ b/rhodecode/controllers/admin/users.py Fri Dec 02 22:31:13 2011 +0200 @@ -41,6 +41,7 @@ from rhodecode.model.db import User, UserRepoToPerm, UserToPerm, Permission from rhodecode.model.forms import UserForm from rhodecode.model.user import UserModel +from rhodecode.model.meta import Session log = logging.getLogger(__name__) @@ -77,6 +78,7 @@ user_model.create(form_result) h.flash(_('created user %s') % form_result['username'], category='success') + Session.commit() #action_logger(self.rhodecode_user, 'new_user', '', '', self.sa) except formencode.Invalid, errors: return htmlfill.render( @@ -114,11 +116,11 @@ form_result = _form.to_python(dict(request.POST)) user_model.update(id, form_result) h.flash(_('User updated successfully'), category='success') - + Session.commit() except formencode.Invalid, errors: e = errors.error_dict or {} perm = Permission.get_by_key('hg.create.repository') - e.update({'create_repo_perm': UserToPerm.has_perm(id, perm)}) + e.update({'create_repo_perm': user_model.has_perm(id, perm)}) return htmlfill.render( render('admin/users/user_edit.html'), defaults=errors.value, @@ -144,6 +146,7 @@ try: user_model.delete(id) h.flash(_('successfully deleted user'), category='success') + Session.commit() except (UserOwnsReposException, DefaultUserException), e: h.flash(str(e), category='warning') except Exception: @@ -158,20 +161,19 @@ def edit(self, id, format='html'): """GET /users/id/edit: Form to edit an existing item""" # url('edit_user', id=ID) - user_model = UserModel() - c.user = user_model.get(id) + c.user = User.get(id) if not c.user: return redirect(url('users')) if c.user.username == 'default': h.flash(_("You can't edit this user"), category='warning') return redirect(url('users')) c.user.permissions = {} - c.granted_permissions = user_model.fill_perms(c.user)\ + c.granted_permissions = UserModel().fill_perms(c.user)\ .permissions['global'] defaults = c.user.get_dict() perm = Permission.get_by_key('hg.create.repository') - defaults.update({'create_repo_perm': UserToPerm.has_perm(id, perm)}) + defaults.update({'create_repo_perm': UserModel().has_perm(id, perm)}) return htmlfill.render( render('admin/users/user_edit.html'), @@ -185,22 +187,23 @@ # url('user_perm', id=ID, method='put') grant_perm = request.POST.get('create_repo_perm', False) - + user_model = UserModel() + if grant_perm: perm = Permission.get_by_key('hg.create.none') - UserToPerm.revoke_perm(id, perm) + user_model.revoke_perm(id, perm) perm = Permission.get_by_key('hg.create.repository') - UserToPerm.grant_perm(id, perm) + user_model.grant_perm(id, perm) h.flash(_("Granted 'repository create' permission to user"), category='success') else: perm = Permission.get_by_key('hg.create.repository') - UserToPerm.revoke_perm(id, perm) + user_model.revoke_perm(id, perm) perm = Permission.get_by_key('hg.create.none') - UserToPerm.grant_perm(id, perm) + user_model.grant_perm(id, perm) h.flash(_("Revoked 'repository create' permission to user"), category='success')