mirror of https://git.sr.ht/~sircmpwn/hub.sr.ht
Fetch existing resources for sources, trackers
This is a generalization of the previous bug fix.
This commit is contained in:
parent
1426569187
commit
84710264d5
|
@ -75,10 +75,13 @@ def git_new_POST(owner, project_name):
|
||||||
git_repo = git.create_repo(owner, valid, project.visibility)
|
git_repo = git.create_repo(owner, valid, project.visibility)
|
||||||
if not valid.ok:
|
if not valid.ok:
|
||||||
repos = git.get_repos(owner)
|
repos = git.get_repos(owner)
|
||||||
|
existing = [r.remote_id for r in (SourceRepo.query
|
||||||
|
.filter(SourceRepo.project_id == project.id)
|
||||||
|
.filter(SourceRepo.repo_type == RepoType.git)).all()]
|
||||||
return render_template("sources-select.html",
|
return render_template("sources-select.html",
|
||||||
view="new-resource", vcs="git",
|
view="new-resource", vcs="git",
|
||||||
owner=owner, project=project, repos=repos,
|
owner=owner, project=project, repos=repos,
|
||||||
existing=[], **valid.kwargs)
|
existing=existing, **valid.kwargs)
|
||||||
else:
|
else:
|
||||||
repo_name = None
|
repo_name = None
|
||||||
for field in valid.source:
|
for field in valid.source:
|
||||||
|
@ -92,11 +95,13 @@ def git_new_POST(owner, project_name):
|
||||||
# TODO: Search properly
|
# TODO: Search properly
|
||||||
repos = filter(lambda r: search.lower() in r["name"].lower(), repos)
|
repos = filter(lambda r: search.lower() in r["name"].lower(), repos)
|
||||||
repos = sorted(repos, key=lambda r: r["updated"], reverse=True)
|
repos = sorted(repos, key=lambda r: r["updated"], reverse=True)
|
||||||
# TODO: Fetch existing repos for this project
|
existing = [r.remote_id for r in (SourceRepo.query
|
||||||
|
.filter(SourceRepo.project_id == project.id)
|
||||||
|
.filter(SourceRepo.repo_type == RepoType.git)).all()]
|
||||||
return render_template("sources-select.html",
|
return render_template("sources-select.html",
|
||||||
view="new-resource", vcs="git",
|
view="new-resource", vcs="git",
|
||||||
owner=owner, project=project, repos=repos,
|
owner=owner, project=project, repos=repos,
|
||||||
existing=[], search=search)
|
existing=existing, search=search)
|
||||||
|
|
||||||
git_repo = git.get_repo(owner, repo_name)
|
git_repo = git.get_repo(owner, repo_name)
|
||||||
|
|
||||||
|
@ -135,10 +140,13 @@ def hg_new_POST(owner, project_name):
|
||||||
hg_repo = hg.create_repo(owner, valid, project.visibility)
|
hg_repo = hg.create_repo(owner, valid, project.visibility)
|
||||||
if not valid.ok:
|
if not valid.ok:
|
||||||
repos = hg.get_repos(owner)
|
repos = hg.get_repos(owner)
|
||||||
|
existing = [r.remote_id for r in (SourceRepo.query
|
||||||
|
.filter(SourceRepo.project_id == project.id)
|
||||||
|
.filter(SourceRepo.repo_type == RepoType.hg)).all()]
|
||||||
return render_template("sources-select.html",
|
return render_template("sources-select.html",
|
||||||
view="new-resource", vcs="hg",
|
view="new-resource", vcs="hg",
|
||||||
owner=owner, project=project, repos=repos,
|
owner=owner, project=project, repos=repos,
|
||||||
existing=[], **valid.kwargs)
|
existing=existing, **valid.kwargs)
|
||||||
else:
|
else:
|
||||||
repo_name = None
|
repo_name = None
|
||||||
for field in valid.source:
|
for field in valid.source:
|
||||||
|
@ -152,11 +160,13 @@ def hg_new_POST(owner, project_name):
|
||||||
# TODO: Search properly
|
# TODO: Search properly
|
||||||
repos = filter(lambda r: search.lower() in r["name"].lower(), repos)
|
repos = filter(lambda r: search.lower() in r["name"].lower(), repos)
|
||||||
repos = sorted(repos, key=lambda r: r["updated"], reverse=True)
|
repos = sorted(repos, key=lambda r: r["updated"], reverse=True)
|
||||||
# TODO: Fetch existing repos for this project
|
existing = [r.remote_id for r in (SourceRepo.query
|
||||||
|
.filter(SourceRepo.project_id == project.id)
|
||||||
|
.filter(SourceRepo.repo_type == RepoType.hg)).all()]
|
||||||
return render_template("sources-select.html",
|
return render_template("sources-select.html",
|
||||||
view="new-resource", vcs="hg",
|
view="new-resource", vcs="hg",
|
||||||
owner=owner, project=project, repos=repos,
|
owner=owner, project=project, repos=repos,
|
||||||
existing=[], search=search)
|
existing=existing, search=search)
|
||||||
|
|
||||||
hg_repo = hg.get_repo(owner, repo_name)
|
hg_repo = hg.get_repo(owner, repo_name)
|
||||||
|
|
||||||
|
|
|
@ -56,9 +56,11 @@ def new_POST(owner, project_name):
|
||||||
trackers = todo.get_trackers(owner)
|
trackers = todo.get_trackers(owner)
|
||||||
trackers = sorted(trackers, key=lambda r: r["updated"], reverse=True)
|
trackers = sorted(trackers, key=lambda r: r["updated"], reverse=True)
|
||||||
if not valid.ok:
|
if not valid.ok:
|
||||||
|
existing = [t.remote_id for t in (Tracker.query
|
||||||
|
.filter(Tracker.project_id == project.id)).all()]
|
||||||
return render_template("tracker-new.html",
|
return render_template("tracker-new.html",
|
||||||
view="new-resource", owner=owner, project=project,
|
view="new-resource", owner=owner, project=project,
|
||||||
trackers=trackers, **valid.kwargs)
|
trackers=trackers, existing=existing, **valid.kwargs)
|
||||||
else:
|
else:
|
||||||
tracker_name = None
|
tracker_name = None
|
||||||
for field in valid.source:
|
for field in valid.source:
|
||||||
|
@ -73,9 +75,11 @@ def new_POST(owner, project_name):
|
||||||
search.lower() in r["name"].lower()
|
search.lower() in r["name"].lower()
|
||||||
or search.lower() in r["description"].lower(), trackers)
|
or search.lower() in r["description"].lower(), trackers)
|
||||||
trackers = sorted(trackers, key=lambda r: r["updated"], reverse=True)
|
trackers = sorted(trackers, key=lambda r: r["updated"], reverse=True)
|
||||||
|
existing = [t.remote_id for t in (Tracker.query
|
||||||
|
.filter(Tracker.project_id == project.id)).all()]
|
||||||
return render_template("tracker-new.html", view="new-resource",
|
return render_template("tracker-new.html", view="new-resource",
|
||||||
owner=owner, project=project, trackers=trackers,
|
owner=owner, project=project, trackers=trackers,
|
||||||
search=search)
|
existing=existing, search=search)
|
||||||
|
|
||||||
remote_tracker = todo.get_tracker(owner, tracker_name)
|
remote_tracker = todo.get_tracker(owner, tracker_name)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue