mirror of https://git.sr.ht/~sircmpwn/hub.sr.ht
Add tracker listing
This commit is contained in:
parent
fc586256cb
commit
c866a9f4ed
|
@ -10,6 +10,28 @@ from srht.validation import Validation
|
|||
|
||||
trackers = Blueprint("trackers", __name__)
|
||||
|
||||
@trackers.route("/<owner>/<project_name>/trackers")
|
||||
@loginrequired
|
||||
def trackers_GET(owner, project_name):
|
||||
owner, project = get_project(owner, project_name, ProjectAccess.write)
|
||||
trackers = (Tracker.query
|
||||
.filter(Tracker.project_id == project.id)
|
||||
.order_by(Tracker.updated.desc()))
|
||||
|
||||
terms = request.args.get("search")
|
||||
search_error = None
|
||||
try:
|
||||
trackers = search_by(trackers, terms,
|
||||
[Tracker.name, Tracker.description])
|
||||
except ValueError as ex:
|
||||
search_error = str(ex)
|
||||
|
||||
trackers, pagination = paginate_query(trackers)
|
||||
return render_template("trackers.html", view="tickets",
|
||||
owner=owner, project=project, trackers=trackers,
|
||||
search=terms, search_error=search_error,
|
||||
**pagination)
|
||||
|
||||
@trackers.route("/<owner>/<project_name>/trackers/new")
|
||||
@loginrequired
|
||||
def new_GET(owner, project_name):
|
||||
|
|
|
@ -30,7 +30,9 @@
|
|||
{% endif %}
|
||||
{% if any(project.trackers) %}
|
||||
<li class="nav-item">
|
||||
{{link("#", "tickets")}}
|
||||
{{link(url_for("trackers.trackers_GET",
|
||||
owner=owner.canonical_name,
|
||||
project_name=project.name), "tickets")}}
|
||||
</li>
|
||||
{% endif %}
|
||||
{# TODO
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
{% for repo in sources %}
|
||||
<div class="event">
|
||||
<h4>
|
||||
<a href="{{repo.url()}}">~{{owner.username}}/{{repo.name}}</a>
|
||||
<a href="{{repo.url()}}">~{{repo.owner.username}}/{{repo.name}}</a>
|
||||
<small class="pull-right">
|
||||
{{ repo.repo_type.value }}
|
||||
</small>
|
||||
|
@ -17,13 +17,13 @@
|
|||
|
||||
{% block sidebar %}
|
||||
<a
|
||||
href="{{url_for("sources.new_GET",
|
||||
owner=owner.canonical_name, project_name=project.name)}}"
|
||||
href="{{url_for("sources.new_GET", owner=owner.canonical_name,
|
||||
project_name=project.name)}}"
|
||||
class="btn btn-primary btn-block"
|
||||
>Add repository {{icon('caret-right')}}</a>
|
||||
<a
|
||||
href="{{url_for("sources.manage_GET",
|
||||
owner=owner.canonical_name, project_name=project.name)}}"
|
||||
href="{{url_for("sources.manage_GET", owner=owner.canonical_name,
|
||||
project_name=project.name)}}"
|
||||
class="btn btn-default btn-block"
|
||||
>Manage sources {{icon('caret-right')}}</a>
|
||||
{% endblock %}
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
{% extends "resource-list.html" %}
|
||||
{% block resource_list %}
|
||||
{% for tracker in trackers %}
|
||||
<div class="event">
|
||||
<h4>
|
||||
<a href="{{tracker.url()}}">~{{tracker.owner.username}}/{{tracker.name}}</a>
|
||||
</h4>
|
||||
{% if tracker.description %}
|
||||
{{ tracker.description | md }}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endblock %}
|
||||
|
||||
{% block sidebar %}
|
||||
<a
|
||||
href="{{url_for("trackers.new_GET", owner=owner.canonical_name,
|
||||
project_name=project.name)}}"
|
||||
class="btn btn-primary btn-block"
|
||||
>Add tracker {{icon('caret-right')}}</a>
|
||||
{#
|
||||
<a
|
||||
href="{{url_for("tracker.manage_GET",
|
||||
owner=owner.canonical_name, project_name=project.name)}}"
|
||||
class="btn btn-default btn-block"
|
||||
>Manage sources {{icon('caret-right')}}</a>
|
||||
#}
|
||||
{% endblock %}
|
Loading…
Reference in New Issue