Mercurial > kallithea
changeset 6521:62e9be5eb783
cleanup: do Session.add directly inside _create_default_perms
Let the various _create_default_perms functions add the created object
to the SQLAlchemy database session, instead of having the caller do it.
This is in accordance with the Kallithea contribution guidelines:
When creating an object using a factory function (like create_repo),
the returned object has already (by convention) been added to the
session, and should not be added again.
author | Søren Løvborg <sorenl@unity3d.com> |
---|---|
date | Mon, 27 Feb 2017 21:28:12 +0100 |
parents | 10f16cf8289e |
children | 6edba875451d |
files | kallithea/lib/db_manage.py kallithea/lib/utils.py kallithea/model/repo.py kallithea/model/repo_group.py kallithea/model/user_group.py |
diffstat | 5 files changed, 8 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/kallithea/lib/db_manage.py Mon Feb 27 19:47:54 2017 +0100 +++ b/kallithea/lib/db_manage.py Mon Feb 27 21:28:12 2017 +0100 @@ -335,8 +335,7 @@ if default is None: log.debug('missing default permission for group %s adding', g) - perm_obj = RepoGroupModel()._create_default_perms(g) - self.sa.add(perm_obj) + RepoGroupModel()._create_default_perms(g) def reset_permissions(self, username): """
--- a/kallithea/lib/utils.py Mon Feb 27 19:47:54 2017 +0100 +++ b/kallithea/lib/utils.py Mon Feb 27 21:28:12 2017 +0100 @@ -448,8 +448,7 @@ group.group_description = desc group.owner = owner sa.add(group) - perm_obj = rgm._create_default_perms(group) - sa.add(perm_obj) + rgm._create_default_perms(group) sa.flush() parent = group
--- a/kallithea/model/repo.py Mon Feb 27 19:47:54 2017 +0100 +++ b/kallithea/model/repo.py Mon Feb 27 21:28:12 2017 +0100 @@ -74,6 +74,7 @@ repo_to_perm.repository = repository repo_to_perm.user_id = def_user.user_id + self.sa.add(repo_to_perm) return repo_to_perm @@ -427,8 +428,7 @@ UserGroupRepoToPerm.create(perm.users_group, new_repo, perm_obj) else: - perm_obj = self._create_default_perms(new_repo, private) - self.sa.add(perm_obj) + self._create_default_perms(new_repo, private) # now automatically start following this repository as owner ScmModel(self.sa).toggle_following_repo(new_repo.repo_id,
--- a/kallithea/model/repo_group.py Mon Feb 27 19:47:54 2017 +0100 +++ b/kallithea/model/repo_group.py Mon Feb 27 21:28:12 2017 +0100 @@ -66,6 +66,7 @@ repo_group_to_perm.group = new_group repo_group_to_perm.user_id = def_user.user_id + self.sa.add(repo_group_to_perm) return repo_group_to_perm def _create_group(self, group_name): @@ -169,8 +170,7 @@ for perm in group_perms: UserGroupRepoGroupToPerm.create(perm.users_group, new_repo_group, perm.permission) else: - perm_obj = self._create_default_perms(new_repo_group) - self.sa.add(perm_obj) + self._create_default_perms(new_repo_group) if not just_db: # we need to flush here, in order to check if database won't
--- a/kallithea/model/user_group.py Mon Feb 27 19:47:54 2017 +0100 +++ b/kallithea/model/user_group.py Mon Feb 27 21:28:12 2017 +0100 @@ -53,6 +53,7 @@ user_group_to_perm.user_group = user_group user_group_to_perm.user_id = def_user.user_id + self.sa.add(user_group_to_perm) return user_group_to_perm def _update_permissions(self, user_group, perms_new=None, @@ -108,8 +109,7 @@ if group_data: new_user_group.group_data = group_data self.sa.add(new_user_group) - perm_obj = self._create_default_perms(new_user_group) - self.sa.add(perm_obj) + self._create_default_perms(new_user_group) self.grant_user_permission(user_group=new_user_group, user=owner, perm='usergroup.admin')