todo.sr.ht/todosrht/templates/tracker.html

187 lines
6.0 KiB
HTML
Raw Normal View History

2017-09-14 04:51:33 +02:00
{% extends "todo.html" %}
{% block title %}
<title>
{{tracker.name}}
&mdash;
{{ cfg("sr.ht", "site-name") }} todo
</title>
{% endblock %}
{% block body %}
<div class="container-fluid">
<div class="row">
2018-07-14 16:40:52 +02:00
<div class="col-md-12 header-tabbed">
<h2>
2018-07-14 17:06:12 +02:00
<a href="{{ url_for("html.user_GET",
username=tracker.owner.username) }}"
>{{tracker.owner.canonical_name()}}</a>/{{tracker.name}}
2018-07-14 16:40:52 +02:00
</h2>
<ul class="nav nav-tabs">
<li class="nav-item">
<a class="nav-link {{ "active" if not search else "" }}"
href="{{url_for(".tracker_GET",
owner=tracker.owner.canonical_name(),
name=tracker.name
)}}">open tickets</a>
</li>
<li class="nav-item">
<a class="nav-link {{
"active" if search == "status:closed"
or search == "status:resolved" else ""
2018-07-14 16:40:52 +02:00
}}" href="?search=status:closed">closed tickets</a>
</li>
{% if search and search != "status:closed" and search != "status:resolved" %}
<li class="nav-item">
<a class="nav-link active" href="?search={{ search }}">
search results
</a>
2018-07-14 16:40:52 +02:00
</li>
{% endif %}
<li class="nav-item">
<a class="nav-link"
href="{{url_for(".tracker_labels_GET",
owner=tracker.owner.canonical_name(),
name=tracker.name
)}}">labels</a>
</li>
{% if current_user and current_user.id == tracker.owner_id %}
2018-07-14 16:40:52 +02:00
<li class="nav-item d-none d-sm-block">
<a class="nav-link" href="{{url_for(".configure_GET",
2018-07-11 03:43:24 +02:00
owner=tracker.owner.canonical_name(),
name=tracker.name)}}"
2018-07-14 16:40:52 +02:00
>settings</a>
</li>
{% endif %}
2018-07-14 16:40:52 +02:00
{% if current_user %}
<li class="flex-grow-1 d-none d-sm-block"></li>
<li class="nav-item d-none d-sm-block">
<form method="POST" action="{{url_for("tracker." +
("disable_notifications" if is_subscribed else "enable_notifications"),
owner=tracker.owner.canonical_name(),
name=tracker.name)}}">
2018-11-16 06:40:57 +01:00
{{csrf_token()}}
2018-07-14 16:40:52 +02:00
<button class="nav-link active" type="submit">
2018-09-01 19:43:05 +02:00
{{icon("envelope-o")}}
2018-07-14 16:40:52 +02:00
{% if is_subscribed %}
Disable notifications
{% else %}
Enable notifications
{% endif %}
2018-09-01 19:43:05 +02:00
{{icon("caret-right")}}
2018-07-14 16:40:52 +02:00
</button>
</form>
</li>
{% endif %}
</ul>
</div>
</div>
<div class="row">
<div class="col-md-4">
{{ tracker.description | md }}
{% if TicketAccess.submit in access %}
<h3 style="margin-top: 1rem">Submit ticket</h3>
<form method="POST" action="{{
2017-09-14 04:09:32 +02:00
url_for(".tracker_submit_POST",
2017-09-13 14:02:25 +02:00
owner="~" + tracker.owner.username,
name=tracker.name
)
}}">
2018-11-16 06:40:57 +01:00
{{csrf_token()}}
<div class="form-group">
<label for="title">Title</label>
<input
type="text"
class="form-control {{ valid.cls("title") }}"
2017-09-13 14:02:25 +02:00
maxlength="2048"
id="title"
2017-09-13 14:02:25 +02:00
name="title"
2017-09-13 14:28:10 +02:00
autofocus
2017-09-13 14:02:25 +02:00
value="{{ title or "" }}" />
{{valid.summary("title")}}
</div>
<div class="form-group">
<label for="description">Description</label>
<textarea
class="form-control {{ valid.cls("description") }}"
id="description"
name="description"
placeholder="Markdown supported"
2017-09-13 14:02:25 +02:00
maxlength="16384"
rows="5">{{ description or "" }}</textarea>
{{valid.summary("description")}}
</div>
<button
type="submit"
2018-06-17 01:23:03 +02:00
class="btn btn-primary"
>
2018-09-01 19:43:05 +02:00
Submit {{icon("caret-right")}}
2018-06-17 01:23:03 +02:00
</button>
<label class="form-check-label" style="margin-left: 2rem">
<input
class="form-check-input"
type="checkbox"
name="another"
style="position: relative; top: 2px;"
{% if another %}
checked
{% endif %}> Submit another?
</label>
</form>
{% else %}
<hr />
<p>You need to <a href="{{ oauth_url }}">log in</a> to submit tickets.</p>
{% endif %}
</div>
<div class="col-md-8">
2018-07-14 16:40:52 +02:00
<form style="margin-bottom: 0.5rem">
<input
name="search"
type="text"
placeholder="Search tickets... status:closed order:updated submitter:me"
class="form-control"
value="{{ search if search else "" }}" />
2018-11-16 06:40:57 +01:00
{{csrf_token()}}
</form>
2017-09-14 04:09:32 +02:00
{% if len(tickets) %}
2018-08-25 16:52:07 +02:00
<div class="ticket-list">
{% for ticket in tickets %}
2018-08-25 17:13:08 +02:00
<div class="id">
<a href="{{url_for("ticket.ticket_GET",
2018-08-25 16:52:07 +02:00
owner=tracker.owner.canonical_name(),
name=tracker.name,
ticket_id=ticket.scoped_id)}}">#{{ticket.scoped_id}}</a></div>
<div class="title">
{{ ticket.title }}
<span class="pull-right">
{% for label in ticket.labels %}
{{ label|label_badge(cls="small") }}
{% endfor %}
</span>
</div>
2018-08-25 17:13:08 +02:00
<div class="updated">{{ ticket.updated | date }}</div>
<div class="submitter">
2018-08-25 16:52:07 +02:00
<a href="{{url_for("html.user_GET",
username=ticket.submitter.username)}}"
>~{{ ticket.submitter.username }}</a>
</div>
{% if ticket.new_updates(current_user) %}
2018-08-25 17:13:08 +02:00
<div class="comments">
2018-09-01 19:43:05 +02:00
{{icon("comments-o")}}
2018-08-25 17:13:08 +02:00
{{ ticket.comments | length }}
2018-08-25 16:52:07 +02:00
</div>
{% else %}
2018-08-25 17:13:08 +02:00
<div class="comments">
2018-09-01 19:43:05 +02:00
{{icon("comments")}}
2018-08-25 17:13:08 +02:00
{{ ticket.comments | length }}
2018-08-25 16:52:07 +02:00
</div>
{% endif %}
{% endfor %}
</div>
2017-09-14 04:09:32 +02:00
{% else %}
<div class="alert alert-info">No tickets found for this search criteria.</div>
{% endif %}
2018-07-11 03:35:46 +02:00
{{pagination()}}
</div>
</div>
</div>
{% endblock %}