mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-10-05 12:05:38 +00:00
* build: move frontend assets to Bootstrap 5.3 and Tom Select * feat: migrate templates and scripts to Bootstrap 5, dropping jQuery Templates - Rename Bootstrap 4 classes and data attributes (data-bs-*, ms-/me-/ps-/pe-, text-start/end, form-group -> mb-3, input-group wrappers removed, badges, custom controls -> form-check/form-select, media -> d-flex, btn-close, ...) - Dark mode now uses Bootstrap 5.3 colour modes (data-bs-theme on <html>), set from <head> to avoid a flash of the light theme - Remove the Bootstrap 4 /bootstrap/ demo page - Contextual table classes (table-success etc.) still work as plain backgrounds for the rigboard key JavaScript - Remove jQuery: src.js/interaction.js and every inline template script are rewritten in plain JS on top of small helpers (helpers.js, bundled with Bootstrap into jpop.js so inline scripts can use them) - Replace bootstrap-select/ajax-bootstrap-select with Tom Select. The remote search now sends the `q` parameter and reads `text`, which is what the API actually uses (the old picker sent `term` and read `label`) - HTML fragments are fetched with an X-Requested-With header so views keep rendering their modal variants, and fetched scripts are re-executed - Remove the Bootstrap 4 plugin script includes * fix: stop rigboard header buttons stretching to full width under Bootstrap 5 * fix: restore dark-mode brand colours and contextual table colours under Bootstrap 5 * fix: brighten dark-mode links and make coloured card outlines visible * fix: calendar layout and grid borders, navbar search button width, guard missing modal links * fix: readable text in dark-mode Tom Select inputs and placeholders, restore form-control column widths * build: split the Dockerfile into cached stages with prod and dev targets * deploy: make compose.yml development-only with live reload, and document it * fix: keep badge text colour for links inside badges * fix: restore table-bordered grid lines in dark mode * fix: include Bootstrap's progress styles and keep progress labels readable
78 lines
3.8 KiB
HTML
78 lines
3.8 KiB
HTML
{% extends 'base.html' %}
|
|
|
|
{% load static %}
|
|
{% load invoices_waiting from filters %}
|
|
{% load invoices_outstanding from filters %}
|
|
{% load total_invoices_todo from filters %}
|
|
|
|
{% block titleheader %}
|
|
|
|
<a class="navbar-brand" style="margin-left: auto; margin-right: auto;" href="/">RIGS</a>
|
|
{% endblock %}
|
|
|
|
{% block titleelements %}
|
|
{% if user.is_authenticated %}
|
|
<li class="nav-item"><a class="nav-link" href="/">Home</a></li>
|
|
<li class="nav-item dropdown">
|
|
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdownRigboard" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
|
Rigboard
|
|
</a>
|
|
<div class="dropdown-menu" aria-labelledby="navbarDropdownRigboard">
|
|
<a class="dropdown-item" href="{% url 'rigboard' %}"><span class="fas fa-list"></span>
|
|
Rigboard</a>
|
|
<a class="dropdown-item" href="{% url 'event_archive' %}"><span class="fas fa-book"></span>
|
|
Archive</a>
|
|
<a class="dropdown-item" href="{% url 'web_calendar' %}"><span class="fas fa-calendar"></span>
|
|
Calendar</a>
|
|
{% if perms.RIGS.view_event %}
|
|
<a class="dropdown-item" href="{% url 'activity_table' %}"><span
|
|
class="fas fa-random"></span> Recent Changes</a>
|
|
{% endif %}
|
|
{% if perms.RIGS.add_event %}
|
|
<a class="dropdown-item" href="{% url 'event_create' %}"><span class="fas fa-plus"></span>
|
|
New Event</a>
|
|
{% endif %}
|
|
</div>
|
|
</li>
|
|
{% if perms.RIGS.view_riskassessment %}
|
|
<li class="nav-item"><a class="nav-link" href="{% url 'hs_list' %}">H&S</a></li>
|
|
{% endif %}
|
|
{% if perms.RIGS.view_invoice %}
|
|
<li class="nav-item dropdown">
|
|
{% total_invoices_todo as todo %}
|
|
{% invoices_waiting as waiting %}
|
|
{% invoices_outstanding as outstanding %}
|
|
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdownInvoices" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
|
Invoices <span class="badge {% if todo == 0 %}text-bg-success{% else %}text-bg-danger{% endif %} rounded-pill">{{ todo }}</span>
|
|
</a>
|
|
<div class="dropdown-menu" aria-labelledby="navbarDropdownInvoices">
|
|
<a class="dropdown-item" href="{% url 'invoice_dashboard' %}"><span class="fas fa-chart-line"></span> Dashboard</a>
|
|
{% if perms.RIGS.add_invoice %}
|
|
<a class="dropdown-item text-nowrap" href="{% url 'invoice_waiting' %}"><span class="fas fa-briefcase text-danger"></span> Waiting <span class="badge {% if waiting == 0 %}text-bg-success{% else %}text-bg-danger{% endif %} rounded-pill">{{ waiting }}</span></a>
|
|
{% endif %}
|
|
<a class="dropdown-item" href="{% url 'invoice_list' %}"><span class="fas fa-pound-sign text-warning"></span> Outstanding <span class="badge {% if outstanding == 0 %}text-bg-success{% else %}text-bg-danger{% endif %} rounded-pill">{{ outstanding }}</span></a>
|
|
<a class="dropdown-item" href="{% url 'invoice_archive' %}"><span class="fas fa-book"></span> Archive</a>
|
|
</div>
|
|
</li>
|
|
{% endif %}
|
|
{% if perms.RIGS.view_person %}
|
|
<li class="nav-item"><a class="nav-link" href="{% url 'person_list' %}">People</a></li>
|
|
{% endif %}
|
|
{% if perms.RIGS.view_organisation %}
|
|
<li class="nav-item"><a class="nav-link" href="{% url 'organisation_list' %}">Organisations</a></li>
|
|
{% endif %}
|
|
{% if perms.RIGS.view_venue %}
|
|
<li class="nav-item"><a class="nav-link" href="{% url 'venue_list' %}">Venues</a></li>
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endblock %}
|
|
|
|
{% block titleelements_right %}
|
|
{% include 'partials/search.html' %}
|
|
{% include 'partials/navbar_user.html' %}
|
|
{% endblock %}
|
|
|
|
{% block js %}
|
|
{{ block.super }}
|
|
{% endblock %}
|