diff --git a/kallithea/lib/auth.py b/kallithea/lib/auth.py --- a/kallithea/lib/auth.py +++ b/kallithea/lib/auth.py @@ -199,15 +199,12 @@ def _cached_perms_data(user_id, user_is_ # defaults for repositories, taken from default user for perm in default_repo_perms: r_k = perm.UserRepoToPerm.repository.repo_name - if perm.Repository.private and not (perm.Repository.owner_id == user_id): - # disable defaults for private repos, + if perm.Repository.owner_id == user_id: + p = 'repository.admin' + elif perm.Repository.private: p = 'repository.none' - elif perm.Repository.owner_id == user_id: - # set admin if owner - p = 'repository.admin' else: p = perm.Permission.permission_name - permissions[RK][r_k] = p # defaults for repository groups taken from default user permission @@ -294,13 +291,8 @@ def _cached_perms_data(user_id, user_is_ multiple_counter[r_k] += 1 p = perm.Permission.permission_name cur_perm = permissions[RK][r_k] - - if perm.Repository.owner_id == user_id: - # set admin if owner - p = 'repository.admin' - else: - if multiple_counter[r_k] > 1: - p = _choose_perm(p, cur_perm) + if multiple_counter[r_k] > 1: + p = _choose_perm(p, cur_perm) permissions[RK][r_k] = p # user permissions for repositories @@ -308,12 +300,8 @@ def _cached_perms_data(user_id, user_is_ for perm in user_repo_perms: r_k = perm.UserRepoToPerm.repository.repo_name cur_perm = permissions[RK][r_k] - # set admin if owner - if perm.Repository.owner_id == user_id: - p = 'repository.admin' - else: - p = perm.Permission.permission_name - p = _choose_perm(p, cur_perm) + p = perm.Permission.permission_name + p = _choose_perm(p, cur_perm) permissions[RK][r_k] = p #====================================================================== diff --git a/kallithea/tests/models/test_permissions.py b/kallithea/tests/models/test_permissions.py --- a/kallithea/tests/models/test_permissions.py +++ b/kallithea/tests/models/test_permissions.py @@ -599,7 +599,7 @@ class TestPermissions(TestController): Session().commit() u1_auth = AuthUser(user_id=self.u1.user_id) - assert u1_auth.permissions['repositories']['myownrepo'] == 'repository.admin' + assert u1_auth.permissions['repositories']['myownrepo'] == 'repository.none' # temporarily, because multiple_counter def test_owner_permissions_doesnot_get_overwritten_by_others(self): # create repo as USER,