Changeset - 62e9be5eb783
[Not reviewed]
default
0 5 0
Søren Løvborg - 9 years ago 2017-02-27 21:28:12
sorenl@unity3d.com
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.
5 files changed with 8 insertions and 10 deletions:
0 comments (0 inline, 0 general)
kallithea/lib/db_manage.py
Show inline comments
 
@@ -335,8 +335,7 @@ class DbManage(object):
 

	
 
            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):
 
        """
kallithea/lib/utils.py
Show inline comments
 
@@ -448,8 +448,7 @@ def map_groups(path):
 
            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
kallithea/model/repo.py
Show inline comments
 
@@ -74,6 +74,7 @@ class RepoModel(BaseModel):
 

	
 
        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 @@ class RepoModel(BaseModel):
 
                    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,
kallithea/model/repo_group.py
Show inline comments
 
@@ -66,6 +66,7 @@ class RepoGroupModel(BaseModel):
 

	
 
        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 @@ class RepoGroupModel(BaseModel):
 
                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
kallithea/model/user_group.py
Show inline comments
 
@@ -53,6 +53,7 @@ class UserGroupModel(BaseModel):
 

	
 
        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 @@ class UserGroupModel(BaseModel):
 
            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')
0 comments (0 inline, 0 general)