42 lines
1.9 KiB
HTML
42 lines
1.9 KiB
HTML
<article class="card ride-card">
|
|
<div class="ride-head">
|
|
<span class="badge" style="--c: {{ ride.status_color }}">{{ ride.get_status_display }}</span>
|
|
<time datetime="{{ ride.scheduled_at|date:'c' }}">{{ ride.scheduled_at|date:"D, d.m. H:i" }}</time>
|
|
</div>
|
|
<h3 class="ride-title"><a href="{% url 'ride_detail' ride.pk %}">{{ ride.fahrgast.name }}</a></h3>
|
|
<p class="ride-route">
|
|
<span class="pt pt-from">{{ ride.pickup_label }}</span>
|
|
<span class="pt pt-to">{{ ride.dest_label }}</span>
|
|
</p>
|
|
{% if ride.assigned_pilot %}
|
|
<p class="muted small">Pilot: {{ ride.assigned_pilot.get_full_name|default:ride.assigned_pilot.username }}</p>
|
|
{% endif %}
|
|
|
|
<div class="ride-actions">
|
|
{% if can_claim and ride.can_be_claimed %}
|
|
<form hx-post="{% url 'ride_claim' ride.pk %}" hx-target="closest .ride-card" hx-swap="outerHTML"
|
|
method="post" action="{% url 'ride_claim' ride.pk %}">{% csrf_token %}
|
|
<input type="hidden" name="next" value="{{ request.path }}">
|
|
<button class="btn btn-primary">Übernehmen</button>
|
|
</form>
|
|
{% endif %}
|
|
|
|
{% if can_finish and ride.can_be_finished %}
|
|
<form hx-post="{% url 'ride_done' ride.pk %}" hx-target="closest .ride-card" hx-swap="outerHTML"
|
|
method="post" action="{% url 'ride_done' ride.pk %}">{% csrf_token %}
|
|
<input type="hidden" name="next" value="{{ request.path }}">
|
|
<button class="btn">Erledigt</button>
|
|
</form>
|
|
{% endif %}
|
|
|
|
{% if can_cancel and ride.can_be_cancelled %}
|
|
<form hx-post="{% url 'ride_cancel' ride.pk %}" hx-target="closest .ride-card" hx-swap="outerHTML"
|
|
method="post" action="{% url 'ride_cancel' ride.pk %}">{% csrf_token %}
|
|
<input type="hidden" name="next" value="{{ request.path }}">
|
|
<button class="btn btn-ghost">Absagen</button>
|
|
</form>
|
|
{% endif %}
|
|
|
|
<a class="btn btn-ghost" href="{% url 'ride_detail' ride.pk %}">Details</a>
|
|
</div>
|
|
</article>
|