243 lines
9.7 KiB
HTML
243 lines
9.7 KiB
HTML
{% extends "nav.html" %}
|
|
|
|
{% block content %}
|
|
<section class="section">
|
|
<div class="container">
|
|
{% if let Some(event) = event %}
|
|
<form method="post" action="/events/{{ event.id }}/edit">
|
|
<h1 class="title">Event '{{ event.name }}' bearbeiten</h1>
|
|
{% else %}
|
|
<form method="post" action="/events/new">
|
|
<h1 class="title">Neues Event anlegen für den {{ date.format("%d.%m.%Y") }}</h1>
|
|
{% endif %}
|
|
|
|
<input type="hidden" name="date" value="{{ date }}">
|
|
|
|
{% if let Some(event) = event %}
|
|
<div class="field is-horizontal">
|
|
<div class="field-label"></div>
|
|
<div class="field-body">
|
|
<div class="field is-grouped">
|
|
<div class="control">
|
|
<button class="button is-warning" type="button"
|
|
hx-put="/events/{{ event.id }}/{% if event.canceled %}uncancel{% else %}cancel{% endif %}">
|
|
<svg class="icon">
|
|
<use href="/static/feather-sprite.svg#alert-circle" />
|
|
</svg>
|
|
<span>
|
|
{% if event.canceled %}Absage zurücknehmen{% else %}Als abgesagt markieren{% endif %}
|
|
</span>
|
|
</button>
|
|
</div>
|
|
<div class="control">
|
|
{% let delete_disabled = amount_of_planned_posten > 0 || is_wachhabender_planned ||
|
|
is_fuehrungsassistent_planned %}
|
|
<button class="button is-danger" type="button" hx-delete="/events/{{ event.id }}" {{
|
|
delete_disabled|cond_show("disabled") }} hx-trigger="confirmed">
|
|
<svg class="icon">
|
|
<use href="/static/feather-sprite.svg#x-circle" />
|
|
</svg>
|
|
<span>Löschen</span>
|
|
</button>
|
|
</div>
|
|
{% if delete_disabled %}
|
|
<p class="help is-align-content-center">
|
|
Löschen nicht möglich, da bereits eine Planung existiert.
|
|
</p>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
|
|
{% let disabled = event.is_some() && event.as_ref().unwrap().canceled %}
|
|
|
|
<div class="field is-horizontal">
|
|
<div class="field-label">
|
|
<label class="label">Veranstaltungsname</label>
|
|
</div>
|
|
<div class="field-body">
|
|
<div class="field">
|
|
<div class="control">
|
|
<input class="input" name="name" placeholder="Wave Gotik Treffen" required {% if let Some(event)=event
|
|
%} value="{{ event.name }}" {% endif %} {{ disabled|cond_show("disabled") }} />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="field is-horizontal">
|
|
<div class="field-label">
|
|
<label class="label">Startzeit - Endzeit</label>
|
|
</div>
|
|
<div class="field-body">
|
|
{% let f = "%H:%M" %}
|
|
<div class="field">
|
|
<input class="input" type="time" id="from" name="from" required value="{% if let Some(event)=event
|
|
%}{{ event.start_time.format(f) }}{% else %}00:00{% endif %}" {{ disabled|cond_show("disabled") }} />
|
|
</div>
|
|
<div class="field">
|
|
<input class="input" type="time" id="till" name="till" required value="{% if let Some(event)=event
|
|
%}{{ event.end_time.format(f) }}{% else %}23:59{% endif %}" {{ disabled|cond_show("disabled") }} />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="field is-horizontal">
|
|
<div class="field-label">
|
|
<label class="label">Veranstaltungsort</label>
|
|
</div>
|
|
<div class="field-body">
|
|
<div class="field is-narrow">
|
|
<div class="control">
|
|
<div class="select is-fullwidth">
|
|
<select name="location" required {{ disabled|cond_show("disabled") }}>
|
|
{% for location in locations %}
|
|
<option value="{{ location.id }}" {% if let Some(event)=event %}{{
|
|
(event.location_id==location.id)|cond_show("selected") }}{% endif %}>{{ location.name }}{% if
|
|
user.role == Role::Admin %} - ({{
|
|
location.area.as_ref().unwrap().name }}){% endif %}
|
|
</option>
|
|
{% endfor %}
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="field is-horizontal">
|
|
<div class="field-label">
|
|
<label class="label">Wachhabender durch FF gestellt?</label>
|
|
</div>
|
|
<div class="field-body">
|
|
<div class="field is-narrow">
|
|
{% let wh_disabled = event.is_some() && is_wachhabender_planned %}
|
|
<div class="control">
|
|
<label class="checkbox">
|
|
<input class="checkbox" type="checkbox" name="voluntarywachhabender" value="true" {{
|
|
wh_disabled|cond_show("disabled")}} {% if let Some(event)=event %} {{
|
|
event.voluntary_wachhabender|cond_show("checked") }} {% endif %} {{ disabled|cond_show("disabled")
|
|
}}>
|
|
</label>
|
|
</div>
|
|
{% if wh_disabled %}
|
|
<p class="help">
|
|
Keine Änderung möglich, da ein Wachhabender bereits eingeplant ist. Diesen zuerst entplanen!
|
|
</p>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="field is-horizontal">
|
|
<div class="field-label">
|
|
<label class="label">Führungsassistent durch FF gestellt?</label>
|
|
</div>
|
|
<div class="field-body">
|
|
<div class="field is-narrow">
|
|
{% let fa_disabled = event.is_some() && is_fuehrungsassistent_planned %}
|
|
<div class="control">
|
|
<label class="checkbox">
|
|
<input class="checkbox" type="checkbox" name="voluntaryfuehrungsassistent" value="true" {{
|
|
fa_disabled|cond_show("disabled") }} {% if let Some(event)=event %} {{
|
|
event.voluntary_fuehrungsassistent|cond_show("checked") }} {% endif %} {{
|
|
disabled|cond_show("disabled") }}>
|
|
</label>
|
|
</div>
|
|
{% if fa_disabled %}
|
|
<p class="help">
|
|
Keine Änderung möglich, da ein Führungsassistent bereits eingeplant ist. Diesen zuerst entplanen!
|
|
</p>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="field is-horizontal">
|
|
<div class="field-label">
|
|
<label class="label">Anzahl der Posten</label>
|
|
</div>
|
|
<div class="field-body">
|
|
<div class="field">
|
|
{% let posten_planned = event.is_some() && amount_of_planned_posten > 0 %}
|
|
<div class="control">
|
|
<input class="input" type="number" name="amount"
|
|
min="{% if posten_planned %}{{ amount_of_planned_posten }}{% else %}0{% endif %}" max="100" required
|
|
{% if let Some(event)=event %} value="{{ event.amount_of_posten }}" {% endif %} {{
|
|
disabled|cond_show("disabled") }} />
|
|
</div>
|
|
{% if posten_planned %}
|
|
<p class="help">
|
|
Mindestens {{ amount_of_planned_posten }} Posten, da bereits diese Anzahl eingeplant ist. Zum
|
|
verringern
|
|
diese erst entplanen!
|
|
</p>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="field is-horizontal">
|
|
<div class="field-label">
|
|
<label class="label">Anzugsordnung</label>
|
|
</div>
|
|
<div class="field-body">
|
|
<div class="field">
|
|
<div class="control">
|
|
<input class="input" name="clothing" placeholder="Tuchuniform" required {% if let Some(event)=event %}
|
|
value="{{ event.clothing }}" {% endif %} {{ disabled|cond_show("disabled") }} />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="field is-horizontal">
|
|
<div class="field-label">
|
|
<label class="label">Anmerkung</label>
|
|
</div>
|
|
<div class="field-body">
|
|
<div class="field">
|
|
<div class="control">
|
|
<input class="input" name="note" {% if let Some(event)=event %} {{ event.note|insert_value }} {% endif
|
|
%} {{ disabled|cond_show("disabled") }} />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="field is-horizontal">
|
|
<div class="field-label"></div>
|
|
<div class="field-body">
|
|
<div class="field is-grouped">
|
|
<div class="control">
|
|
<button class="button is-success" {{ disabled|cond_show("disabled") }}>
|
|
<svg class="icon">
|
|
<use href="/static/feather-sprite.svg#check-circle" />
|
|
</svg>
|
|
<span>
|
|
{% if event.is_some() %}
|
|
Speichern
|
|
{% else %}
|
|
Erstellen
|
|
{% endif %}
|
|
</span>
|
|
</button>
|
|
</div>
|
|
<div class="control">
|
|
<a class="button is-link is-light" hx-boost="true" href="/?date={{ date }}">
|
|
<svg class="icon">
|
|
<use href="/static/feather-sprite.svg#arrow-left" />
|
|
</svg>
|
|
<span>Zurück</span>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</form>
|
|
</div>
|
|
</section>
|
|
{% endblock %}
|