コード例 #1
0
ファイル: repos_group.py プロジェクト: adamscieszko/rhodecode
    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 = 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)

            self.sa.add(new_repos_group)
            perm_obj = self._create_default_perms(new_repos_group)
            self.sa.add(perm_obj)

            #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
                # throw any exceptions, create filesystem dirs at the very end
                self.sa.flush()
                self.__create_group(new_repos_group.group_name)

            return new_repos_group
        except Exception:
            log.error(traceback.format_exc())
            raise
コード例 #2
0
ファイル: repos_group.py プロジェクト: jeffjirsa/rhodecode
    def create(self, group_name, group_description, owner, parent=None, just_db=False):
        try:
            new_repos_group = RepoGroup()
            new_repos_group.group_description = group_description or group_name
            new_repos_group.parent_group = self._get_repos_group(parent)
            new_repos_group.group_name = new_repos_group.get_new_name(group_name)

            self.sa.add(new_repos_group)
            self._create_default_perms(new_repos_group)

            #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')

            if not just_db:
                # we need to flush here, in order to check if database won't
                # throw any exceptions, create filesystem dirs at the very end
                self.sa.flush()
                self.__create_group(new_repos_group.group_name)

            return new_repos_group
        except Exception:
            log.error(traceback.format_exc())
            raise
コード例 #3
0
ファイル: repos_group.py プロジェクト: elfixit/rhodecode
    def create(self, group_name, group_description, parent, just_db=False):
        try:
            new_repos_group = RepoGroup()
            new_repos_group.group_description = group_description
            new_repos_group.parent_group = self.__get_repos_group(parent)
            new_repos_group.group_name = new_repos_group.get_new_name(group_name)

            self.sa.add(new_repos_group)
            self._create_default_perms(new_repos_group)

            if not just_db:
                # we need to flush here, in order to check if database won't
                # throw any exceptions, create filesystem dirs at the very end
                self.sa.flush()
                self.__create_group(new_repos_group.group_name)

            return new_repos_group
        except:
            log.error(traceback.format_exc())
            raise
コード例 #4
0
ファイル: repos_group.py プロジェクト: elfixit/rhodecode
    def create(self, group_name, group_description, parent, just_db=False):
        try:
            new_repos_group = RepoGroup()
            new_repos_group.group_description = group_description
            new_repos_group.parent_group = self.__get_repos_group(parent)
            new_repos_group.group_name = new_repos_group.get_new_name(
                group_name)

            self.sa.add(new_repos_group)
            self._create_default_perms(new_repos_group)

            if not just_db:
                # we need to flush here, in order to check if database won't
                # throw any exceptions, create filesystem dirs at the very end
                self.sa.flush()
                self.__create_group(new_repos_group.group_name)

            return new_repos_group
        except:
            log.error(traceback.format_exc())
            raise