byceps/blueprints/site/seating/templates/site/seating/view_area.html
{% extends 'layout/base.html' %}
{% from 'macros/icons.html' import render_icon %}
{% from 'macros/misc.html' import render_progress_bar %}
{% from 'macros/seating.html' import render_area %}
{% from 'macros/subnav.html' import render_subnav_for_menu_id %}
{% set current_page = 'seating' %}
{% set page_title = [_('Seat management') if manage_mode else _('Seating plan'), area.title] %}
{% block head %}
<link rel="stylesheet" href="{{ url_for('static', filename='style/seating.css') }}">
{%- endblock %}
{% block subnav %}
{%- if subnav_menu_id|default %}
{{ render_subnav_for_menu_id(subnav_menu_id, current_page) }}
{%- endif %}
{% endblock %}
{% block body %}
{%- if manage_mode %}
<nav class="breadcrumbs">
<ol>
<li><a href="{{ url_for('.view_area', slug=area.slug) }}">{{ _('Seating plan') }}</a></li>
</ol>
</nav>
{%- endif %}
<h1 class="title">{{ _('Seat management') if manage_mode else _('Seating plan') }} – {{ area.title }}</h1>
<form action="{{ url_for('attendance.attendees') }}" class="single-row unobtrusive block">
<input type="search" name="search_term" placeholder="{{ _('Username') }}" class="form-control">
<button type="submit" class="button" title="{{ _('Search') }}">{{ render_icon('search') }}</button>
</form>
<div class="main-body-box">
{%- if seat_management_enabled and g.user.authenticated %}
{%- if manage_mode %}
{% include 'site/seating/_ticket_selector.html' %}
{%- else %}
<div class="button-row is-right-aligned">
<a class="button" href="{{ url_for('.manage_seats_in_area', slug=area.slug) }}">{{ _('Manage seats') }}</a>
</div>
{%- endif %}
{%- endif %}
<div class="block">
{{ render_area(area, seats_and_tickets) }}
</div>
<div class="row row--space-between">
<div>
{% include 'site/seating/_legend.html' %}
</div>
<div>
<small>
<p><strong>{{ _('Utilization') }}</strong></p>
<div class="progress">
{{ render_progress_bar(seat_utilization.occupied, seat_utilization.total) }}
</div>
{{ seat_utilization.occupied|numberformat }} / {{ seat_utilization.total|numberformat }} {{ _('seats occupied') }}
</small>
</div>
</div>
</div>
{%- endblock %}
{% block scripts %}
<script src="{{ url_for('static', filename='behavior/seating.js') }}"></script>
<script>
onDomReady(() => {
{%- if seat_management_enabled %}
const selected_ticket_id = {% if selected_ticket_id|default %}'{{ selected_ticket_id }}'{% else %}null{% endif %};
init_seat_management(selected_ticket_id);
{%- endif %}
init_seat_tooltips();
});
</script>
{%- endblock %}