コード例 #1
0
    def __load_defaults(self, allow_empty_group=False, repo_group=None):
        if self._can_create_repo_group():
            # we're global admin, we're ok and we can create TOP level groups
            allow_empty_group = True

        # override the choices for this form, we need to filter choices
        # and display only those we have ADMIN right
        groups_with_admin_rights = RepoGroupList(RepoGroup.query().all(),
                                                 perm_set=['group.admin'])
        c.repo_groups = RepoGroup.groups_choices(
            groups=groups_with_admin_rights,
            show_empty_group=allow_empty_group)

        if repo_group:
            # exclude filtered ids
            exclude_group_ids = [repo_group.group_id]
            c.repo_groups = filter(lambda x: x[0] not in exclude_group_ids,
                                   c.repo_groups)
            c.repo_groups_choices = map(lambda k: unicode(k[0]), c.repo_groups)
            parent_group = repo_group.parent_group

            add_parent_group = (parent_group and (unicode(
                parent_group.group_id) not in c.repo_groups_choices))
            if add_parent_group:
                c.repo_groups_choices.append(unicode(parent_group.group_id))
                c.repo_groups.append(RepoGroup._generate_choice(parent_group))
コード例 #2
0
    def __load_defaults(self, repo=None):
        acl_groups = RepoGroupList(RepoGroup.query().all(),
                                   perm_set=['group.write', 'group.admin'])
        c.repo_groups = RepoGroup.groups_choices(groups=acl_groups)
        c.repo_groups_choices = map(lambda k: unicode(k[0]), c.repo_groups)

        # in case someone no longer have a group.write access to a repository
        # pre fill the list with this entry, we don't care if this is the same
        # but it will allow saving repo data properly.

        repo_group = None
        if repo:
            repo_group = repo.group
        if repo_group and unicode(
                repo_group.group_id) not in c.repo_groups_choices:
            c.repo_groups_choices.append(unicode(repo_group.group_id))
            c.repo_groups.append(RepoGroup._generate_choice(repo_group))

        choices, c.landing_revs = ScmModel().get_repo_landing_revs()
        c.landing_revs_choices = choices