changeset 3853:be2b75779da3 beta

Repository groups: super admin shouldn't have the permission set when he creates a group. Super admins anyway can edit groups even without explicit permissions set
author Marcin Kuzminski <marcin@python-works.com>
date Sun, 12 May 2013 19:19:33 +0200
parents eae62e28343e
children c32322126fe4
files rhodecode/model/repos_group.py
diffstat 1 files changed, 7 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/model/repos_group.py	Sun May 12 17:19:21 2013 +0200
+++ b/rhodecode/model/repos_group.py	Sun May 12 19:19:33 2013 +0200
@@ -140,8 +140,9 @@
 
     def create(self, group_name, group_description, owner, parent=None, just_db=False):
         try:
+            user = self._get_user(owner)
             new_repos_group = RepoGroup()
-            new_repos_group.user = self._get_user(owner)
+            new_repos_group.user = user
             new_repos_group.group_description = group_description or group_name
             new_repos_group.parent_group = self._get_repo_group(parent)
             new_repos_group.group_name = new_repos_group.get_new_name(group_name)
@@ -150,10 +151,11 @@
             perm_obj = self._create_default_perms(new_repos_group)
             self.sa.add(perm_obj)
 
-            #create an ADMIN permission for owner, later owner should go into
-            #the owner field of groups
-            self.grant_user_permission(repos_group=new_repos_group,
-                                       user=owner, perm='group.admin')
+            #create an ADMIN permission for owner except if we're super admin,
+            #later owner should go into the owner field of groups
+            if not user.is_admin:
+                self.grant_user_permission(repos_group=new_repos_group,
+                                           user=owner, perm='group.admin')
 
             if not just_db:
                 # we need to flush here, in order to check if database won't