aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStevan Radaković <stevan.radakovic@linaro.org>2013-03-28 13:11:09 +0100
committerStevan Radaković <stevan.radakovic@linaro.org>2013-03-28 13:11:09 +0100
commitedd66f777e3f5217bb36706813d83cb2bdd4be7e (patch)
treee9b0d15e0439d596daa04136f434b5fc212be5ba
parent1fcf4699040baf46a34fa1046514bbda7c3c275a (diff)
Change default behaviour for group and repository ACL.
-rw-r--r--rhodecode/model/repo.py20
-rw-r--r--rhodecode/model/repos_group.py22
2 files changed, 32 insertions, 10 deletions
diff --git a/rhodecode/model/repo.py b/rhodecode/model/repo.py
index 4cf041a8..79d68e9f 100644
--- a/rhodecode/model/repo.py
+++ b/rhodecode/model/repo.py
@@ -512,13 +512,18 @@ class RepoModel(BaseModel):
system_group_name = "%s-%s" % (repo.repo_name.rsplit("/",1)[0],
repo.repo_id)
repo_path = os.path.join(self.repos_path, repo.repo_name)
- if user.username=="default":
- if permission.permission_name in ["group.none", "group.read"]:
+ if permission.permission_name in ["group.none", "group.read"]:
+ if user.username=="default":
os.chmod(repo_path, 0775)
else:
- os.chmod(repo_path, 0777)
+ SystemCommand.remove_user_from_group(system_group_name,
+ user.username)
else:
- SystemCommand.add_user_to_group(system_group_name, user.username)
+ if user.username=="default":
+ os.chmod(repo_path, 0777)
+ else:
+ SystemCommand.add_user_to_group(system_group_name,
+ user.username)
def revoke_user_permission(self, repo, user):
"""
@@ -576,7 +581,12 @@ class RepoModel(BaseModel):
system_group_name = "%s-%s" % (repo.repo_name.rsplit("/",1)[0],
repo.repo_id)
for user in group_name.members:
- SystemCommand.add_user_to_group(system_group_name, user.username)
+ if permission.permission_name in ["group.none", "group.read"]:
+ SystemCommand.remove_user_from_group(system_group_name,
+ user.username)
+ else:
+ SystemCommand.add_user_to_group(system_group_name,
+ user.username)
def revoke_users_group_permission(self, repo, group_name):
"""
diff --git a/rhodecode/model/repos_group.py b/rhodecode/model/repos_group.py
index d75c9a4e..22b76f4a 100644
--- a/rhodecode/model/repos_group.py
+++ b/rhodecode/model/repos_group.py
@@ -369,13 +369,19 @@ class ReposGroupModel(BaseModel):
system_group_name = "%s-%s" % (repos_group.group_name.rsplit("/",1)[0],
repos_group.group_id)
group_path = os.path.join(self.repos_path, repos_group.group_name)
- if user.username=="default":
- if permission.permission_name in ["group.none", "group.read"]:
+
+ if permission.permission_name in ["group.none", "group.read"]:
+ if user.username=="default":
os.chmod(group_path, 0775)
else:
- os.chmod(group_path, 0777)
+ SystemCommand.remove_user_from_group(system_group_name,
+ user.username)
else:
- SystemCommand.add_user_to_group(system_group_name, user.username)
+ if user.username=="default":
+ os.chmod(group_path, 0777)
+ else:
+ SystemCommand.add_user_to_group(system_group_name,
+ user.username)
def revoke_user_permission(self, repos_group, user):
"""
@@ -434,8 +440,14 @@ class ReposGroupModel(BaseModel):
system_group_name = "%s-%s" % (repos_group.group_name.rsplit("/",1)[0],
repos_group.group_id)
+
for user in group_name.members:
- SystemCommand.add_user_to_group(system_group_name, user.username)
+ if permission.permission_name in ["group.none", "group.read"]:
+ SystemCommand.remove_user_from_group(system_group_name,
+ user.username)
+ else:
+ SystemCommand.add_user_to_group(system_group_name,
+ user.username)
def revoke_users_group_permission(self, repos_group, group_name):
"""