{% extends "resources/base.html" %} {% import "site_shell/_macros.html" as ui %} {% block title %}Reservations - Pychestrate Resources{% endblock %} {% block content %}
to Clear {% include "resources/reservations/_viewer_zone.html" %}
{{ ui.icon("download") }} Download CSV {{ ui.icon("calendar_today") }} Availability {{ ui.icon("add") }} Create Reservation
{% if resource_total > resources | length %}

Resource filter shows the first {{ resources | length }} of {{ resource_total }} resources.

{% endif %}
{% for res in reservations %} {% else %} {% if filters_active %} {% else %} {% endif %} {% endfor %}
ID Resource User Job ID Start Time End Time Mode Status Actions
{{ res.id }} {{ res.resource_name }} {{ res.username or '—' }} {{ res.job_id or '—' }} {{ res.start_time | local_datetime }} {{ res.end_time | local_datetime }} {% set mode = res.mode %} {% if mode == 'exclusive' %} Exclusive {% else %} Shared {% endif %} {% if res.status == 'pending' %} Pending {% elif res.status == 'active' %} Active {% elif res.status == 'completed' %} Completed {% elif res.status == 'cancelled' %} Cancelled {% else %} {{ res.status }} {% endif %} {% if res.status == 'pending' and (res.user_id | string) == (current_user_id | string) %} Edit
{% elif res.status == 'pending' and can_manage %} Edit
{% endif %}
No reservations match the current filters. {% if selected_reservation_status == 'open' %} Finished ones are hidden: show them too. {% endif %} Clear filters No pending or active reservations. Create one or show finished ones too.
{{ ui.pagination('resources.reservation_list', page, total_pages, {'per_page': per_page, 'resource_id': selected_resource_id, 'start_after': (start_after or none), 'end_before': (end_before or none), 'status': selected_reservation_status, 'tz': (viewer_timezone or none)}, total=total) }} {% include "site_shell/_local_times.html" %} {% endblock %}