add kiosk mode

This commit is contained in:
2023-07-27 14:38:46 +02:00
parent b3349c87ff
commit 38300d826a
5 changed files with 149 additions and 22 deletions

View File

@ -1,10 +1,10 @@
{% macro new() %}
{% macro new(only_ones, allow_any_shipmaster, shipmaster) %}
<form action="/log" method="post" id="form">
{% if loggedin_user.is_cox %}
{{ macros::select(data=boats, select_name='boat_id', display=["name", " (","amount_seats", " x)"], extras=["default_shipmaster_only_steering", "amount_seats"]) }}
{% if not only_ones %}
{{ macros::select(data=boats, select_name='boat_id', display=["name", " (","amount_seats", " x)"], extras=["default_shipmaster_only_steering", "amount_seats"]) }}
{% else %}
{% set ones = boats | filter(attribute="amount_seats", value=1) %}
{{ macros::select(data=ones, select_name='boat_id', display=["name", " (","amount_seats", " x)"], extras=["default_shipmaster_only_steering", "amount_seats"]) }}
{{ macros::select(data=ones, select_name='boat_id', display=["name", " (","amount_seats", " x)"], extras=["default_shipmaster_only_steering", "amount_seats"]) }}
{% endif %}
<script>
function updateElementsBasedOnSelectedOption() {
@ -18,23 +18,23 @@
document.getElementById('boat_id').addEventListener('change', updateElementsBasedOnSelectedOption);
document.addEventListener('DOMContentLoaded', updateElementsBasedOnSelectedOption);
</script>
{% if loggedin_user.is_cox %}
{% if allow_any_shipmaster %}
<select name="shipmaster" id="shipmaster" class="input rounded-md h-10">
<optgroup label="Steuerpersonen">
{% for cox in coxes %}
<option value="{{ cox.id }}" {% if cox.id == loggedin_user.id%} selected {% endif %}>{{ cox.name }}</option>
<option value="{{ cox.id }}" {% if cox.id == shipmaster%} selected {% endif %}>{{ cox.name }}</option>
{% endfor %}
</optgroup>
<optgroup label="Restliche Mitglieder">
{% for user in users | filter(attribute="is_cox", value=false) %}
<option value="{{ user.id }}" {% if user.id == loggedin_user.id%} selected {% endif %}>{{ user.name }}</option>
<option value="{{ user.id }}" {% if user.id == shipmaster%} selected {% endif %}>{{ user.name }}</option>
{% endfor %}
</optgroup>
</select>
{% else %}
<input type="hidden" name="shipmaster" value="{{loggedin_user.id}}" />
<input type="hidden" name="shipmaster" value="{{shipmaster}}" />
{% endif %}
{% if loggedin_user.is_cox %}
{% if only_ones %}
{{ macros::checkbox(label='shipmaster_only_steering', name='shipmaster_only_steering') }}
{% endif %}
Departure: <input type="datetime-local" id="datetime-dep" name="departure" required/>
@ -57,7 +57,7 @@
{{ macros::input(label="Distanz", name="distance_in_km", type="number", min=0) }}
{{ macros::input(label="Kommentar", name="comments", type="text") }}
{{ macros::select(data=logtypes, select_name='logtype', default="Normal") }}
{% if loggedin_user.is_cox %}
{% if not only_ones %}
{{ log::rower_select(id="newrower", selected=[]) }}
{% endif %}
<input type="submit" />
@ -86,7 +86,7 @@
{% endmacro new %}
{% macro show(log, state) %}
{% macro show(log, state, allowed_to_close=false, only_ones) %}
Bootsname: {{ log.boat.name }}<br />
Schiffsführer: {{ log.shipmaster_user.name }}<br />
{% if log.shipmaster_only_steering %}
@ -98,8 +98,8 @@
{% endif %}
{% set amount_rowers = log.rowers | length %}
{% set amount_guests = log.boat.amount_seats - amount_rowers -1 %}
{% if log.shipmaster == loggedin_user.id and state == "on_water" %}
{{ log::home(log=log) }}
{% if allowed_to_close and state == "on_water" %}
{{ log::home(log=log, only_ones=only_ones) }}
{% else %}
Ziel: {{ log.destination }}<br />
{% if state == "completed" %}
@ -123,7 +123,7 @@
{% endif %}
{% endmacro show %}
{% macro home(log) %}
{% macro home(log, only_ones) %}
<form action="/log/{{log.id}}" method="post">
Destination: <input type="search" list="destinations" placeholder="Destination" id="destination-home" name="destination" value="{{log.destination}}" oninput="var inputElement = document.getElementById('destination-home');
var dataList = document.getElementById('destinations');
@ -139,7 +139,7 @@
{{ macros::input(label="Kommentar", name="comments", type="text", value=log.comments) }}
{{ macros::select(data=logtypes, select_name='logtype', default="Normal", selected_id=log.logtype) }}
{% if loggedin_user.is_cox %}
{% if not only_ones %}
{{ log::rower_select(id="rowers"~log.id, selected=log.rowers, amount_seats=log.boat.amount_seats) }}
{% endif %}
<input type="submit" value="AUSFAHRT BEENDEN"/>