aboutsummaryrefslogtreecommitdiff
path: root/rhodecode/model/user.py
diff options
context:
space:
mode:
authorMarcin Kuzminski <marcin@python-works.com>2012-03-01 01:01:22 +0200
committerMarcin Kuzminski <marcin@python-works.com>2012-03-01 01:01:22 +0200
commit95a2aba751ebf5476b9064845c658df14f469dd2 (patch)
tree7e36b8c77ffd855314f79140523205bf4d3a9874 /rhodecode/model/user.py
parent1b948f0250276a4cde771d0e81fd35f609fbcf1d (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.py13
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)