diff options
author | Marcin Kuzminski <marcin@python-works.com> | 2012-03-01 01:01:22 +0200 |
---|---|---|
committer | Marcin Kuzminski <marcin@python-works.com> | 2012-03-01 01:01:22 +0200 |
commit | 95a2aba751ebf5476b9064845c658df14f469dd2 (patch) | |
tree | 7e36b8c77ffd855314f79140523205bf4d3a9874 /rhodecode/model/user.py | |
parent | 1b948f0250276a4cde771d0e81fd35f609fbcf1d (diff) |
fixes issue when user tried to resubmit same permission into user/user_groups
--HG--
branch : beta
Diffstat (limited to 'rhodecode/model/user.py')
-rw-r--r-- | rhodecode/model/user.py | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/rhodecode/model/user.py b/rhodecode/model/user.py index b87b7e01..8bb0f3b8 100644 --- a/rhodecode/model/user.py +++ b/rhodecode/model/user.py @@ -531,6 +531,13 @@ class UserModel(BaseModel): """ 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 @@ class UserModel(BaseModel): 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) |