def repo_settings(request, repo_base, repo): try: login = get_login(request) res = DataHubManager.has_repo_privilege(login, repo_base, repo, 'CREATE') if not (res and res['tuples'][0][0]): raise Exception('Access denied. Missing required privileges.') manager = DataHubManager(user=repo_base) res = manager.list_collaborators(repo_base, repo) collaborators = [(c[0].split('=')[0]).strip() for c in res['tuples']] collaborators = filter(lambda x: x!='' and x!=repo_base, collaborators) res = { 'login': get_login(request), 'repo_base': repo_base, 'repo': repo, 'collaborators': collaborators} res.update(csrf(request)) return render_to_response("repo-settings.html", res) except Exception, e: return HttpResponse(json.dumps( {'error': str(e)}), content_type="application/json")
def user(request, repo_base=None): username = request.user.get_username() if not repo_base: repo_base = username manager = DataHubManager(user=username, repo_base=repo_base) repos = manager.list_repos() visible_repos = [] for repo in repos: collaborators = manager.list_collaborators(repo) collaborators = filter( lambda x: x != '' and x != repo_base, collaborators) visible_repos.append({ 'name': repo, 'owner': repo_base, 'public': True if 'PUBLIC' in collaborators else False, 'collaborators': collaborators, }) collaborator_repos = manager.list_collaborator_repos() return render_to_response("user-browse.html", { 'login': username, 'repo_base': repo_base, 'repos': visible_repos, 'collaborator_repos': collaborator_repos})
def repo_settings(request, repo_base, repo): try: login = get_login(request) res = DataHubManager.has_repo_privilege(login, repo_base, repo, 'CREATE') if not (res and res['tuples'][0][0]): raise Exception('Access denied. Missing required privileges.') manager = DataHubManager(user=repo_base) res = manager.list_collaborators(repo_base, repo) collaborators = [(c[0].split('=')[0]).strip() for c in res['tuples']] collaborators = filter(lambda x: x != '' and x != repo_base, collaborators) res = { 'login': get_login(request), 'repo_base': repo_base, 'repo': repo, 'collaborators': collaborators } res.update(csrf(request)) return render_to_response("repo-settings.html", res) except Exception, e: return HttpResponse(json.dumps({'error': str(e)}), content_type="application/json")
def user(request, repo_base=None): username = request.user.get_username() if not repo_base: repo_base = username manager = DataHubManager(user=username, repo_base=repo_base) repos = manager.list_repos() visible_repos = [] for repo in repos: collaborators = manager.list_collaborators(repo) collaborators = filter(lambda x: x != '' and x != repo_base, collaborators) visible_repos.append({ 'name': repo, 'owner': repo_base, 'public': True if 'PUBLIC' in collaborators else False, 'collaborators': collaborators, }) collaborator_repos = manager.list_collaborator_repos() return render_to_response( "user-browse.html", { 'login': username, 'repo_base': repo_base, 'repos': visible_repos, 'collaborator_repos': collaborator_repos })
def user(request, repo_base): try: login = get_login(request) res = DataHubManager.has_base_privilege(login, repo_base, 'CONNECT') if not (res and res['tuples'][0][0]): raise Exception('Access denied. Missing required privileges.') manager = DataHubManager(user=repo_base) res = manager.list_repos() repos = [t[0] for t in res['tuples']] visible_repos = [] for repo in repos: res = manager.list_collaborators(repo_base, repo) collaborators = [(c[0].split('=')[0]).strip() for c in res['tuples']] collaborators = filter(lambda x: x != '' and x != repo_base, collaborators) if login not in collaborators and login != repo_base: continue visible_repos.append({ 'name': repo, 'owner': repo_base, 'public': True if 'PUBLIC' in collaborators else False, 'collaborators': collaborators, 'collaborators_str': ', '.join(collaborators), 'num_collaborators': len(collaborators) }) return render_to_response( "user-browse.html", { 'login': get_login(request), 'repo_base': repo_base, 'repos': visible_repos }) except Exception, e: return HttpResponse(json.dumps({'error': str(e)}), content_type="application/json")
def repo_settings(request, repo_base, repo): ''' returns the settings page for a repo. ''' username = request.user.get_username() manager = DataHubManager(user=username, repo_base=repo_base) collaborators = manager.list_collaborators(repo) # remove the current user from the collaborator list collaborators = filter(lambda x: x != '' and x != username, collaborators) res = { 'login': username, 'repo_base': repo_base, 'repo': repo, 'collaborators': collaborators} res.update(csrf(request)) return render_to_response("repo-settings.html", res)
def repo_settings(request, repo_base, repo): ''' returns the settings page for a repo. ''' username = request.user.get_username() manager = DataHubManager(user=username, repo_base=repo_base) collaborators = manager.list_collaborators(repo) # remove the current user from the collaborator list collaborators = filter(lambda x: x != '' and x != username, collaborators) res = { 'login': username, 'repo_base': repo_base, 'repo': repo, 'collaborators': collaborators } res.update(csrf(request)) return render_to_response("repo-settings.html", res)
def user(request, repo_base): try: login = get_login(request) res = DataHubManager.has_base_privilege(login, repo_base, 'CONNECT') if not (res and res['tuples'][0][0]): raise Exception('Access denied. Missing required privileges.') manager = DataHubManager(user=repo_base) res = manager.list_repos() repos = [t[0] for t in res['tuples']] visible_repos = [] for repo in repos: res = manager.list_collaborators(repo_base, repo) collaborators = [(c[0].split('=')[0]).strip() for c in res['tuples']] collaborators = filter(lambda x: x!='' and x!=repo_base, collaborators) if login not in collaborators and login != repo_base: continue visible_repos.append({ 'name':repo, 'owner': repo_base, 'public': True if 'PUBLIC' in collaborators else False, 'collaborators': collaborators, 'collaborators_str': ', '.join(collaborators), 'num_collaborators': len(collaborators) }) return render_to_response("user-browse.html", { 'login': get_login(request), 'repo_base': repo_base, 'repos': visible_repos}) except Exception, e: return HttpResponse(json.dumps( {'error': str(e)}), content_type="application/json")