Mercurial > kallithea
diff rhodecode/model/user.py @ 2078:d4b6c8541bd9 beta
fixes issue when user tried to resubmit same permission into user/user_groups
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Thu, 01 Mar 2012 01:01:22 +0200 |
parents | b63adad7c4af |
children | ecd59c28f432 8ecfed1d8f8b |
line wrap: on
line diff
--- a/rhodecode/model/user.py Thu Mar 01 00:30:41 2012 +0200 +++ b/rhodecode/model/user.py Thu Mar 01 01:01:22 2012 +0200 @@ -531,6 +531,13 @@ """ user = self.__get_user(user) perm = self.__get_perm(perm) + # if this permission is already granted skip it + _perm = UserToPerm.query()\ + .filter(UserToPerm.user == user)\ + .filter(UserToPerm.permission == perm)\ + .scalar() + if _perm: + return new = UserToPerm() new.user = user new.permission = perm @@ -546,7 +553,9 @@ user = self.__get_user(user) perm = self.__get_perm(perm) - obj = UserToPerm.query().filter(UserToPerm.user == user)\ - .filter(UserToPerm.permission == perm).scalar() + obj = UserToPerm.query()\ + .filter(UserToPerm.user == user)\ + .filter(UserToPerm.permission == perm)\ + .scalar() if obj: self.sa.delete(obj)