464 lines
38 KiB
Plaintext
464 lines
38 KiB
Plaintext
{% import "includes/macros" as macros %}
|
|
{% import "includes/forms/log" as log %}
|
|
{% extends "base" %}
|
|
{% block content %}
|
|
<div class="max-w-screen-xl w-full grid sm:grid-cols-2 lg:grid-cols-3 gap-4">
|
|
{% if "paid" not in loggedin_user.roles and "Donau Linz" in loggedin_user.roles %}
|
|
<div class="grid gap-3 sm:col-span-2 lg:col-span-3">
|
|
<div class="bg-white dark:bg-primary-900 text-black dark:text-white rounded-md block shadow mt-5"
|
|
role="alert">
|
|
<h2 class="h2">Vereinsgebühren</h2>
|
|
<div class="text-sm p-3">
|
|
{% include "includes/qrcode" %}
|
|
<div id="qrcode"
|
|
style="float: left;
|
|
padding-top: 10 pt;
|
|
padding-right: 10pt;
|
|
padding-bottom: 10pt"></div>
|
|
<script type="text/javascript">
|
|
var sepaqr = new sepaQR({
|
|
benefName: 'ASKÖ Ruderverein Donau Linz',
|
|
benefBIC: 'ASPKAT2LXXX',
|
|
benefAccNr: 'AT582032032100729256',
|
|
amountEuro: {{ fee.sum_in_cents/100 }},
|
|
remittanceInf: 'Vereinsgebühren {{ fee.name }}',
|
|
});
|
|
|
|
var code = sepaqr.makeCodeInto("qrcode");
|
|
|
|
</script>
|
|
<b>Dein Vereinsbeitrag ({{ fee.name }}): {{ fee.sum_in_cents / 100 }}€
|
|
{% if fee.parts | length == 1 %}({{ fee.parts[0].0 }}){% endif %}
|
|
</b>
|
|
<br />
|
|
{% if fee.parts | length > 1 %}
|
|
<small>
|
|
Setzt sich zusammen aus:
|
|
<ul style="list-style: circle; padding-left: 1em;">
|
|
{% for p in fee.parts %}
|
|
<li>
|
|
{{ p.0 }} ({{ p.1 / 100 }}€)
|
|
{% if not loop.last %}+{% endif %}
|
|
</li>
|
|
{% endfor %}
|
|
</ul>
|
|
</small>
|
|
{% endif %}
|
|
Bitte auf folgendes Konto überweisen: IBAN AT58 2032 0321 0072 9256. Alternativ kannst du auch mit deiner Bankapp den QR Code scannen, damit sollten alle Daten vorausgefüllt sein.
|
|
<br />
|
|
Falls die Berechnung nicht stimmt (korrekte Preise findest du <a href="https://rudernlinz.at/unser-verein/gebuhren/"
|
|
target="_blank"
|
|
rel="noopener noreferrer">hier</a>) melde dich bitte bei it@rudernlinz.at. @Studenten: Bitte die aktuelle Studienbestätigung an it@rudernlinz.at schicken.
|
|
<br />
|
|
<small><a href="https://rudernlinz.at/unser-verein/vorstand/" target="_blank">Unsere Kassiere</a> aktualisieren den Ruderassistent unregelmäßig mit unserem Bankkonto. Falls du schon bezahlt hast, kannst du diese Nachricht getrost ignorieren. Wenn du schon vor "einigen Wochen" bezahlt hast bitte bei kassier@rudernlinz.at nachfragen :^)</small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
<h1 class="h1 sm:col-span-2 lg:col-span-3">Ausfahrten</h1>
|
|
{% include "includes/buttons" %}
|
|
{% for day in days %}
|
|
{% set amount_trips = day.events | length + day.trips | length %}
|
|
{% set_global day_cox_needed = false %}
|
|
{% if day.events | length > 0 %}
|
|
{% for event in day.events %}
|
|
{% if event.cox_needed %}
|
|
{% set_global day_cox_needed = true %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% endif %}
|
|
<div id="{{ day.day| date(format="%Y-%m-%d") }}"
|
|
class="bg-white dark:bg-primary-900 rounded-md flex justify-between flex-col shadow reset-js"
|
|
style="min-height: 10rem"
|
|
data-trips="{{ amount_trips }}"
|
|
data-month="{{ day.day| date(format='%m') }}"
|
|
data-coxneeded="{{ day_cox_needed }}">
|
|
<div>
|
|
<h2 class="font-bold uppercase tracking-wide text-center rounded-t-md {% if day.is_pinned %} text-white bg-primary-950 {% else %} text-primary-950 dark:text-white bg-gray-200 dark:bg-primary-950 bg-opacity-80 {% endif %} text-lg px-3 py-3 ">
|
|
{{ day.day| date(format="%d.%m.%Y") }}
|
|
<small class="inline-block ml-1 text-xs {% if day.is_pinned %} text-gray-200 {% else %} text-gray-500 dark:text-gray-100 {% endif %}">{{ day.day | date(format="%A", locale="de_AT") }}
|
|
{% if day.max_waterlevel %}
|
|
• <a href="https://hydro.ooe.gv.at/#/overview/Wasserstand/station/16668/Linz/Wasserstand"
|
|
target="_blank"
|
|
title="Prognostizierter maximaler Wasserstand am {{ day.day | date(format="%A", locale="de_AT") }}: {{ day.max_waterlevel.avg }} ± {{ day.max_waterlevel.fluctuation }} cm (ungeprüfte Rohdaten, für Details siehe die Infos dazu im Impressum)">🌊{{ day.max_waterlevel.avg }} ± {{ day.max_waterlevel.fluctuation }} cm</a>
|
|
{% endif %}
|
|
</small>
|
|
{% if day.weather %}
|
|
<small class="inline-block text-xs {% if day.is_pinned %} text-gray-200 {% else %} text-gray-500 dark:text-gray-100 {% endif %}">
|
|
Temp: {{ day.weather.max_temp | round }}° • Windböe: {{ day.weather.wind_gust | round }} km/h • Regen: {{ day.weather.rain_mm | round }} mm
|
|
</small>
|
|
{% endif %}
|
|
</h2>
|
|
{% if day.events | length > 0 or day.trips | length > 0 %}
|
|
<div class="grid grid-cols-1 gap-3 mb-3">
|
|
{# --- START Events --- #}
|
|
{% if day.events | length > 0 %}
|
|
{% for event in day.events | sort(attribute="planned_starting_time") %}
|
|
{% set amount_cur_cox = event.cox | length %}
|
|
{% set amount_cox_missing = event.planned_amount_cox - amount_cur_cox %}
|
|
<div class="pt-2 px-3 border-t border-gray-200"
|
|
style="order: {{ event.planned_starting_time | replace(from=":", to="") }}">
|
|
<div class="flex justify-between items-center">
|
|
<div class="mr-1">
|
|
{% if event.always_show and not day.regular_sees_this_day %}
|
|
<span title="Du siehst diese Ausfahrt schon, obwohl sie mehr als {{ amount_days_to_show_trips_ahead }} Tage in der Zukunft liegt. Du Magier!">🔮</span>
|
|
{% endif -%}
|
|
{%- if event.max_people == 0 %}
|
|
<strong class="text-[#f43f5e]">⚠ Absage
|
|
{{ event.planned_starting_time }}
|
|
Uhr
|
|
</strong>
|
|
<small class="text-[#f43f5e]">({{ event.name }}
|
|
{%- if event.trip_type %}
|
|
- {{ event.trip_type.icon | safe }} {{ event.trip_type.name }}
|
|
{%- endif -%}
|
|
)</small>
|
|
{% else %}
|
|
<strong class="text-primary-900 dark:text-white">
|
|
{{ event.planned_starting_time }}
|
|
Uhr
|
|
</strong>
|
|
<small class="text-gray-600 dark:text-gray-100">({{ event.name }}
|
|
{%- if event.trip_type %}
|
|
- {{ event.trip_type.icon | safe }} {{ event.trip_type.name }}
|
|
{%- endif -%}
|
|
)</small>
|
|
{% endif %}
|
|
<br />
|
|
<a href="#" data-sidebar="true" data-trigger="sidebar" data-header="<strong>{{ event.planned_starting_time }} Uhr</strong> ({{ event.name }})
|
|
{% if event.trip_type %}<small class='block'>{{ event.trip_type.desc }}</small>{% endif %}
|
|
{% if event.notes %}<small class='block'>{{ event.notes }}</small>{% endif %}
|
|
" data-body="#event{{ event.trip_details_id }}" class="inline-block link-primary mr-3">
|
|
Details
|
|
</a>
|
|
</div>
|
|
<div class="text-right grid gap-2">
|
|
{# --- START Row Buttons --- #}
|
|
{% set_global cur_user_participates = false %}
|
|
{% for rower in event.rower %}
|
|
{% if rower.name == loggedin_user.name %}
|
|
{% set_global cur_user_participates = true %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% if cur_user_participates %}
|
|
<a href="/planned/remove/{{ event.trip_details_id }}"
|
|
class="btn btn-attention btn-fw">Abmelden</a>
|
|
{% endif %}
|
|
{% if event.max_people > event.rower | length and cur_user_participates == false %}
|
|
<a href="/planned/join/{{ event.trip_details_id }}"
|
|
class="btn btn-primary btn-fw"
|
|
{% if event.trip_type %}onclick="return confirm('{{ event.trip_type.question }}');"{% endif %}>Mitrudern</a>
|
|
{% endif %}
|
|
{# --- END Row Buttons --- #}
|
|
{# --- START Cox Buttons --- #}
|
|
{% if loggedin_user.allowed_to_steer %}
|
|
{% set_global cur_user_participates = false %}
|
|
{% for cox in event.cox %}
|
|
{% if cox.name == loggedin_user.name %}
|
|
{% set_global cur_user_participates = true %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% if cur_user_participates %}
|
|
<a href="/cox/remove/{{ event.id }}"
|
|
class="block btn btn-attention btn-fw">
|
|
{% include "includes/cox-icon" %}
|
|
Abmelden
|
|
</a>
|
|
{% elif event.planned_amount_cox > 0 %}
|
|
<a href="/cox/join/{{ event.id }}"
|
|
class="block btn {% if amount_cox_missing > 0 %} btn-dark {% else %} btn-gray {% endif %} btn-fw"
|
|
{% if event.trip_type %}onclick="return confirm('{{ event.trip_type.question }}');"{% endif %}>
|
|
{% include "includes/cox-icon" %}
|
|
Steuern
|
|
</a>
|
|
{% endif %}
|
|
{% endif %}
|
|
{# --- END Cox Buttons --- #}
|
|
</div>
|
|
</div>
|
|
{# --- START Sidebar Content --- #}
|
|
<div class="hidden">
|
|
<div id="event{{ event.trip_details_id }}">
|
|
{# --- START List Coxes --- #}
|
|
{% if event.planned_amount_cox > 0 %}
|
|
{% if event.max_people == 0 %}
|
|
{{ macros::box(participants=event.cox, empty_seats="", header='Absage', bg='[#f43f5e]') }}
|
|
{% else %}
|
|
{% if amount_cox_missing > 0 %}
|
|
{{ macros::box(participants=event.cox, empty_seats=event.planned_amount_cox - amount_cur_cox, header='Noch benötigte Steuerleute:', text='Keine Steuerleute angemeldet') }}
|
|
{% else %}
|
|
{{ macros::box(participants=event.cox, empty_seats="", header='Genügend Steuerleute haben sich angemeldet :-)', text='Keine Steuerleute angemeldet') }}
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endif %}
|
|
{# --- END List Coxes --- #}
|
|
{# --- START List Rowers --- #}
|
|
{% set amount_cur_rower = event.rower | length %}
|
|
{% if event.max_people == 0 %}
|
|
{{ macros::box(header='Absage', bg='[#f43f5e]', participants=event.rower, trip_details_id=event.trip_details_id, allow_removing="manage_events" in loggedin_user.roles) }}
|
|
{% else %}
|
|
{{ macros::box(participants=event.rower, empty_seats=event.max_people - amount_cur_rower, bg='primary-100', color='black', trip_details_id=event.trip_details_id, allow_removing="manage_events" in loggedin_user.roles) }}
|
|
{% endif %}
|
|
{# --- END List Rowers --- #}
|
|
{% if "manage_events" in loggedin_user.roles %}
|
|
<form action="/planned/join/{{ event.trip_details_id }}" method="get" />
|
|
{{ macros::input(label='Gast', class="input rounded-t", name='user_note', type='text', required=true) }}
|
|
<input value="Gast hinzufügen"
|
|
class="btn btn-primary w-full rounded-t-none-important"
|
|
type="submit" />
|
|
</form>
|
|
{% endif %}
|
|
{% if event.allow_guests %}
|
|
<div class="text-primary-900 bg-primary-50 text-center p-1 mb-4">Gäste willkommen!</div>
|
|
{% endif %}
|
|
{% if "manage_events" in loggedin_user.roles %}
|
|
{# --- START Edit Form --- #}
|
|
<div class="bg-gray-100 dark:bg-primary-900 p-3 mt-4 rounded-md">
|
|
<h3 class="text-primary-950 dark:text-white font-bold uppercase tracking-wide mb-2">Ausfahrt bearbeiten</h3>
|
|
<form action="/admin/planned-event" method="post" class="grid gap-3">
|
|
<input type="hidden" name="_method" value="put" />
|
|
<input type="hidden" name="id" value="{{ event.id }}" />
|
|
{{ macros::input(label='Titel', name='name', type='input', value=event.name) }}
|
|
{{ macros::input(label='Anzahl Ruderer', name='max_people', type='number', required=true, value=event.max_people, min='1') }}
|
|
{{ macros::input(label='Anzahl Steuerleute', name='planned_amount_cox', type='number', value=event.planned_amount_cox, required=true, min='0') }}
|
|
{{ macros::checkbox(label='Immer anzeigen', name='always_show', id=event.id,checked=event.always_show) }}
|
|
{{ macros::checkbox(label='Gesperrt', name='is_locked', id=event.id,checked=event.is_locked) }}
|
|
{{ macros::select(label='Typ', name='trip_type', data=trip_types, default='Reguläre Ausfahrt', selected_id=event.trip_type_id) }}
|
|
{{ macros::input(label='Anmerkungen', name='notes', type='input', value=event.notes) }}
|
|
<input value="Speichern" class="btn btn-primary" type="submit" />
|
|
</form>
|
|
</div>
|
|
{# --- END Edit Form --- #}
|
|
{# --- START Delete Btn --- #}
|
|
{% if event.rower | length == 0 and amount_cur_cox == 0 %}
|
|
<div class="text-right mt-6">
|
|
<a href="/admin/planned-event/{{ event.id }}/delete"
|
|
class="inline-block btn btn-alert">
|
|
{% include "includes/delete-icon" %}
|
|
Termin löschen
|
|
</a>
|
|
</div>
|
|
{% else %}
|
|
{% if event.max_people == 0 %}
|
|
Wenn du deine Absage absagen (:^)) willst, einfach entsprechende Anzahl an Ruderer oben eintragen.
|
|
{% else %}
|
|
<div class="bg-gray-100 dark:bg-primary-900 p-3 mt-4 rounded-md">
|
|
<h3 class="text-primary-950 dark:text-white font-bold uppercase tracking-wide mb-2">Event absagen</h3>
|
|
<form action="/admin/planned-event" method="post" class="grid">
|
|
<input type="hidden" name="_method" value="put" />
|
|
<input type="hidden" name="id" value="{{ event.id }}" />
|
|
{{ macros::input(label='Grund der Absage', name='notes', type='input', value='') }}
|
|
{{ macros::input(label='', name='max_people', type='hidden', value=0) }}
|
|
{{ macros::input(label='', name='name', type='hidden', value=event.name) }}
|
|
{{ macros::input(label='', name='max_people', type='hidden', value=event.max_people) }}
|
|
{{ macros::input(label='', name='planned_amount_cox', type='hidden', value=event.planned_amount_cox) }}
|
|
{{ macros::input(label='', name='always_show', type='hidden', value=event.always_show) }}
|
|
{{ macros::input(label='', name='is_locked', type='hidden', value=event.is_locked) }}
|
|
{{ macros::input(label='', name='trip_type', type='hidden', value=event.trip_type_id) }}
|
|
<input value="Ausfahrt absagen" class="btn btn-alert" type="submit" />
|
|
</form>
|
|
</div>
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endif %}
|
|
{# --- END Delete Btn --- #}
|
|
</div>
|
|
</div>
|
|
{# --- END Sidebar Content --- #}
|
|
</div>
|
|
{% endfor %}
|
|
{% endif %}
|
|
{# --- END Events --- #}
|
|
{# --- START Trips --- #}
|
|
{% if day.trips | length > 0 %}
|
|
{% for trip in day.trips | sort(attribute="planned_starting_time") %}
|
|
<div class="pt-2 px-3 reset-js border-t border-gray-200"
|
|
style="order: {{ trip.planned_starting_time | replace(from=":", to="") }}"
|
|
data-coxneeded="false">
|
|
<div class="flex justify-between items-center">
|
|
<div class="mr-1">
|
|
{% if trip.always_show and not day.regular_sees_this_day %}
|
|
<span title="Du siehst diese Ausfahrt schon, obwohl sie mehr als {{ amount_days_to_show_trips_ahead }} Tage in der Zukunft liegt. Du Magier!">🔮</span>
|
|
{% endif -%}
|
|
{% if trip.max_people == 0 %}
|
|
<strong class="text-[#f43f5e]">⚠
|
|
{{ trip.planned_starting_time }}
|
|
Uhr</strong>
|
|
<small class="text-[#f43f5e]">(Absage
|
|
{{ trip.cox_name -}}
|
|
{% if trip.trip_type %}
|
|
-
|
|
{{ trip.trip_type.icon | safe }} {{ trip.trip_type.name }}
|
|
{%- endif -%}
|
|
)</small>
|
|
{% else %}
|
|
<strong class="text-primary-900 dark:text-white">{{ trip.planned_starting_time }}
|
|
Uhr</strong>
|
|
<small class="text-gray-600 dark:text-gray-100">({{ trip.cox_name -}}
|
|
{% if trip.trip_type %}
|
|
- {{ trip.trip_type.icon | safe }} {{ trip.trip_type.name }}
|
|
{%- endif -%}
|
|
)</small>
|
|
{% endif %}
|
|
<br />
|
|
<a href="#" data-sidebar="true" data-trigger="sidebar" data-header="<strong>
|
|
{% if trip.max_people == 0 %}⚠{% endif %}
|
|
{{ trip.planned_starting_time }} Uhr</strong> ({{ trip.cox_name }})
|
|
{% if trip.trip_type %}<small class='block'>{{ trip.trip_type.desc }}</small>{% endif %}
|
|
{% if trip.notes %}<small class='block'>{{ trip.notes }}</small>{% endif %}
|
|
" data-body="#trip{{ trip.trip_details_id }}" class="inline-block link-primary mr-3">
|
|
Details
|
|
</a>
|
|
</div>
|
|
<div>
|
|
{% set_global cur_user_participates = false %}
|
|
{% for rower in trip.rower %}
|
|
{% if rower.name == loggedin_user.name %}
|
|
{% set_global cur_user_participates = true %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% if cur_user_participates %}
|
|
<a href="/planned/remove/{{ trip.trip_details_id }}"
|
|
class="btn btn-attention btn-fw">Abmelden</a>
|
|
{% endif %}
|
|
{% if trip.max_people > trip.rower | length and trip.cox_id != loggedin_user.id and cur_user_participates == false %}
|
|
<a href="/planned/join/{{ trip.trip_details_id }}"
|
|
class="btn btn-primary btn-fw"
|
|
{% if trip.trip_type %}onclick="return confirm('{{ trip.trip_type.question }}');"{% endif %}>Mitrudern</a>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
{# --- START Sidebar Content --- #}
|
|
<div class="hidden">
|
|
<div id="trip{{ trip.trip_details_id }}">
|
|
{% if trip.max_people == 0 %}
|
|
{# --- border-[#f43f5e] bg-[#f43f5e] --- #}
|
|
{{ macros::box(participants=trip.rower,bg='[#f43f5e]',header='Absage', trip_details_id=trip.trip_details_id, allow_removing=loggedin_user.id == trip.cox_id) }}
|
|
{% else %}
|
|
{% set amount_cur_rower = trip.rower | length %}
|
|
{{ macros::box(participants=trip.rower, empty_seats=trip.max_people - amount_cur_rower, bg='primary-100', color='black', trip_details_id=trip.trip_details_id, allow_removing=loggedin_user.id == trip.cox_id) }}
|
|
{% if trip.cox_id == loggedin_user.id %}
|
|
<form action="/planned/join/{{ trip.trip_details_id }}" method="get" />
|
|
{{ macros::input(label='Gast', class="input rounded-t", name='user_note', type='text', required=true) }}
|
|
<input value="Gast hinzufügen"
|
|
class="btn btn-primary w-full rounded-t-none-important"
|
|
type="submit" />
|
|
</form>
|
|
{% endif %}
|
|
{% endif %}
|
|
{# --- START Edit Form --- #}
|
|
{% if trip.cox_id == loggedin_user.id %}
|
|
<div class="bg-gray-100 dark:bg-primary-900 p-3 mt-4 rounded-md">
|
|
<h3 class="text-primary-950 dark:text-white font-bold uppercase tracking-wide mb-2">Ausfahrt bearbeiten</h3>
|
|
<form action="/cox/trip/{{ trip.id }}" method="post" class="grid gap-3">
|
|
{{ macros::input(label='Anzahl Ruderer', name='max_people', type='number', required=true, value=trip.max_people, min=trip.rower | length) }}
|
|
{{ macros::input(label='Anmerkungen', name='notes', type='input', value=trip.notes) }}
|
|
{{ macros::checkbox(label='Gesperrt', name='is_locked', id=trip.id,checked=trip.is_locked) }}
|
|
{{ macros::select(label='Typ', name='trip_type', data=trip_types, default='Reguläre Ausfahrt', selected_id=trip.trip_type_id) }}
|
|
<input value="Speichern" class="btn btn-primary" type="submit" />
|
|
</form>
|
|
</div>
|
|
{% if trip.rower | length == 0 %}
|
|
<div class="text-right mt-6">
|
|
<a href="/cox/remove/trip/{{ trip.id }}"
|
|
class="inline-block btn btn-alert">
|
|
{% include "includes/delete-icon" %}
|
|
Termin löschen
|
|
</a>
|
|
</div>
|
|
{% else %}
|
|
{% if trip.max_people == 0 %}
|
|
Wenn du deine Absage absagen (:^)) willst, einfach entsprechende Anzahl an Ruderer oben eintragen.
|
|
{% else %}
|
|
<div class="bg-gray-100 dark:bg-primary-900 p-3 mt-4 rounded-md">
|
|
<h3 class="text-primary-950 dark:text-white font-bold uppercase tracking-wide mb-2">Ausfahrt absagen</h3>
|
|
<form action="/cox/trip/{{ trip.id }}" method="post" class="grid">
|
|
{{ macros::input(label='', name='max_people', type='hidden', value=0) }}
|
|
{{ macros::input(label='Grund der Absage', name='notes', type='input', value='') }}
|
|
{{ macros::input(label='', name='is_locked', type='hidden', value=trip.is_locked) }}
|
|
{{ macros::input(label='', name='trip_type', type='hidden', value=trip.trip_type_id) }}
|
|
<input value="Ausfahrt absagen" class="btn btn-alert" type="submit" />
|
|
</form>
|
|
</div>
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endif %}
|
|
{# --- END Edit Form --- #}
|
|
{# --- START Admin Form --- #}
|
|
{% if allowed_to_update_always_show_trip %}
|
|
<div class="bg-gray-100 dark:bg-primary-900 p-3 mt-4 rounded-md">
|
|
<h3 class="text-primary-950 dark:text-white font-bold uppercase tracking-wide mb-2">Admin-Modus</h3>
|
|
{% if not day.regular_sees_this_day %}
|
|
<form action="/cox/trip/{{ trip.id }}/toggle-always-show"
|
|
method="get"
|
|
class="grid gap-3">
|
|
{% if not trip.always_show %}
|
|
<small>Diese Ausfahrt sehen aktuell nur Steuerleute (und Admins). {{ amount_days_to_show_trips_ahead }} Tage vorher sehen sie dann alle.</small>
|
|
{% else %}
|
|
<small>Diese Ausfahrt sehen alle Mitglieder.</small>
|
|
{% endif %}
|
|
<input value="{% if trip.always_show %}Ausfahrt nur Steuerleute (und Admins) anzeigen{% else %}Ausfahrt allen anzeigen{% endif %}"
|
|
class="btn btn-primary"
|
|
type="submit" />
|
|
</form>
|
|
{% endif %}
|
|
<a href="/cox/remove/trip/{{ trip.id }}"
|
|
class="inline-block btn btn-alert mt-5 w-full">
|
|
{% include "includes/delete-icon" %}
|
|
Termin löschen
|
|
</a>
|
|
</div>
|
|
{% endif %}
|
|
{# --- END Admin Form --- #}
|
|
</div>
|
|
</div>
|
|
{# --- END Sidebar Content --- #}
|
|
</div>
|
|
{% endfor %}
|
|
{% endif %}
|
|
{# --- END Trips --- #}
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
{# --- START Add Buttons --- #}
|
|
{% if "manage_events" in loggedin_user.roles or loggedin_user.allowed_to_steer %}
|
|
<div class="grid {% if "manage_events" in loggedin_user.roles and loggedin_user.allowed_to_steer %}grid-cols-2{% endif %} text-center">
|
|
{% if "manage_events" in loggedin_user.roles %}
|
|
<a href="#" data-sidebar="true" data-trigger="sidebar" data-header="<strong>Event</strong> am {{ day.day| date(format='%d.%m.%Y') }} erstellen" data-day="{{ day.day }}" data-body="#addEventForm" class="relative inline-block w-full bg-primary-900 hover:bg-primary-950 focus:bg-primary-950 dark:bg-primary-950 text-white py-2 text-sm font-semibold
|
|
{% if loggedin_user.allowed_to_steer %}
|
|
rounded-bl-md
|
|
{% else %}
|
|
rounded-b-md
|
|
{% endif %}
|
|
">
|
|
<span class="absolute inset-y-0 left-0 flex items-center pl-3">{% include "includes/plus-icon" %}</span>
|
|
Event
|
|
</a>
|
|
{% endif %}
|
|
{% if loggedin_user.allowed_to_steer %}
|
|
<a href="#" data-sidebar="true" data-trigger="sidebar" data-header="<strong>Ausfahrt</strong> am {{ day.day| date(format='%d.%m.%Y') }} erstellen" data-day="{{ day.day }}" data-body="#sidebarForm" class="relative inline-block w-full py-2 text-primary-900 hover:text-primary-950 dark:bg-primary-600 dark:text-white dark:hover:bg-primary-500 dark:hover:text-white focus:text-primary-950 text-sm font-semibold bg-gray-100 hover:bg-gray-200 focus:bg-gray-200
|
|
{% if "manage_events" in loggedin_user.roles %}
|
|
rounded-br-md
|
|
{% else %}
|
|
rounded-b-md
|
|
{% endif %}
|
|
">
|
|
<span class="absolute inset-y-0 left-0 flex items-center pl-3">{% include "includes/plus-icon" %}</span>
|
|
Ausfahrt
|
|
</a>
|
|
{% endif %}
|
|
</div>
|
|
{% endif %}
|
|
{# --- END Add Buttons --- #}
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|
|
{% if loggedin_user.allowed_to_steer %}
|
|
{% include "forms/trip" %}
|
|
{% endif %}
|
|
{% if "manage_events" in loggedin_user.roles %}
|
|
{% include "forms/event" %}
|
|
{% endif %}
|
|
{% endblock content %}
|