Example #1
0
def get_group_repos(request, group_id):
    if not request.is_ajax():
        raise Http404
    
    content_type = 'application/json; charset=utf-8'

    group_id_int = int(group_id) 
    group = get_group(group_id_int)    
    if not group:
        err_msg = _(u"The group doesn't exist") 
        return HttpResponse(json.dumps({"err_msg": err_msg}), status=400,
                            content_type=content_type)

    joined = is_group_user(group_id_int, request.user.username)
    if not joined and not request.user.is_staff:
        err_msg = _(u"Permission denied")
        return HttpResponse(json.dumps({"err_msg": err_msg}), status=403,
                            content_type=content_type)

    repos = seafile_api.get_group_repo_list(group_id_int)    
    repo_list = []
    for repo in repos:
        repo_list.append({"name": repo.props.name, "id": repo.props.id})
    
    return HttpResponse(json.dumps(repo_list), content_type=content_type)
Example #2
0
def get_group_repos(request, group_id):
    if not request.is_ajax():
        raise Http404

    content_type = 'application/json; charset=utf-8'

    group_id_int = int(group_id)
    group = get_group(group_id_int)
    if not group:
        err_msg = _(u"The group doesn't exist")
        return HttpResponse(json.dumps({"err_msg": err_msg}),
                            status=400,
                            content_type=content_type)

    joined = is_group_user(group_id_int, request.user.username)
    if not joined and not request.user.is_staff:
        err_msg = _(u"Permission denied")
        return HttpResponse(json.dumps({"err_msg": err_msg}),
                            status=403,
                            content_type=content_type)

    repos = seafile_api.get_group_repo_list(group_id_int)
    repo_list = []
    for repo in repos:
        repo_list.append({"name": repo.props.name, "id": repo.props.id})

    return HttpResponse(json.dumps(repo_list), content_type=content_type)
Example #3
0
    try:
        shared_repos = seafile_api.get_share_in_repo_list(username, -1, -1)
    except SearpcError, e:
        util.warn("Failed to list shared repos: %s" % e.msg)

    for srepo in shared_repos:
        addRepo(srepo.repo_id)

    try:
        joined_groups = seaserv.get_personal_groups_by_user(username)
    except SearpcError, e:
        util.warn("Failed to get groups for %s" % username)
    for g in joined_groups:
        try:
            group_repos = seafile_api.get_group_repo_list(g.id)
            for repo in group_repos:
                if all_repos.has_key(repo.id):
                    continue
                all_repos[repo.id] = repo
        except SearpcError, e:
            util.warn("Failed to list repos in group %d" % g.id)

    # Don't include encrypted repos
    ret = []
    for repo in all_repos.values():
        if not repo.encrypted:
            repo.name = repo.name.encode('utf-8')
            ret.append(repo)

    return ret
    try:
        shared_repos = seafile_api.get_share_in_repo_list(username, -1, -1)
    except SearpcError, e:
        util.warn("Failed to list shared repos: %s" % e.msg)

    for srepo in shared_repos:
        addRepo(srepo.repo_id)

    try:
        joined_groups = seaserv.get_personal_groups_by_user(username)
    except SearpcError, e:
        util.warn("Failed to get groups for %s" % username)
    for g in joined_groups:
        try:
            group_repos = seafile_api.get_group_repo_list(g.id)
            for repo in group_repos:
                if all_repos.has_key(repo.id):
                    continue
                all_repos[repo.id] = repo
        except SearpcError, e:
            util.warn("Failed to list repos in group %d" % g.id)

    # Don't include encrypted repos
    ret = []
    for repo in all_repos.values():
        if not repo.encrypted:
            repo.name = repo.name.encode('utf-8')
            ret.append(repo)

    return ret