notification-on-boatdamages #509

Merged
philipp merged 2 commits from notification-on-boatdamages into staging 2024-05-20 21:21:43 +02:00
3 changed files with 107 additions and 4 deletions
Showing only changes of commit 82865799ce - Show all commits

View File

@ -65,6 +65,17 @@ async fn index(db: &State<SqlitePool>, user: User, flash: Option<FlashMessage<'_
Template::render("index", context.into_json())
}
#[get("/impressum")]
async fn impressum(db: &State<SqlitePool>, user: Option<User>) -> Template {
let mut context = Context::new();
if let Some(user) = user {
context.insert("loggedin_user", &UserWithDetails::from_user(user, db).await);
}
Template::render("impressum", context.into_json())
}
#[get("/steering")]
async fn steering(db: &State<SqlitePool>, user: User, flash: Option<FlashMessage<'_>>) -> Template {
let mut context = Context::new();
@ -179,7 +190,7 @@ pub struct Config {
pub fn config(rocket: Rocket<Build>) -> Rocket<Build> {
rocket
.mount("/", routes![index, steering])
.mount("/", routes![index, steering, impressum])
.mount("/auth", auth::routes())
.mount("/wikiauth", routes![wikiauth])
.mount("/log", log::routes())

View File

@ -0,0 +1,88 @@
{% extends "base" %}
{% block content %}
<div class="max-w-screen-lg w-full">
<h1 class="h1">Impressum</h1>
<div class="grid gap-3 my-5">
<div class="bg-white dark:bg-primary-900 text-black dark:text-white rounded-md block shadow mt-5"
role="alert">
<h2 class="h2">Allgemein</h2>
<div class="p-3">
Die Website wird vom ASKÖ Ruderverein Donau Linz betrieben.
<br />
<strong>Postanschrift:</strong>
<br />
ASKÖ Ruderverein Donau Linz
<br />
Heilhamerweg 2
<br />
4040 Linz
<br />
ZVR: 363903285
</div>
</div>
</div>
<div class="grid gap-3 my-5">
<div class="bg-white dark:bg-primary-900 text-black dark:text-white rounded-md block shadow mt-5"
role="alert">
<h2 class="h2">Datenschutz</h2>
<div class="p-3">
Folgende Daten werden verarbeitet:
<ul>
<li>
Server-Log Files: IP-Adresse, Adresse der besuchten Seite, Browseragent, Datum und Uhrzeit. Wir nutzen diese Daten nicht und geben Sie in der Regel nicht weiter, können jedoch nicht ausschließen, dass diese Daten beim Vorliegen von rechtswidrigem Verhalten eingesehen werden.
</li>
<li>
Cookie: Diese Website verwendet nur einen Cookie (loggedin_user), der verschlüsselte Informationen über den Login-Status speichert. Weitere Cookies werden nicht verwendet.
</li>
</ul>
</div>
</div>
</div>
{% if loggedin_user %}
<div class="grid gap-3 my-5">
<div class="bg-white dark:bg-primary-900 text-black dark:text-white rounded-md block shadow mt-5"
role="alert">
<h2 class="h2">Daten</h2>
<div class="p-3">
Folgende personenbezogenen haben wir von dir gespeichert:
<ul>
<li><strong>Name:</strong> {{ loggedin_user.name }}</li>
<li><strong>Passwort:</strong> (verschlüsselt als argon Hash)</li>
<li><strong>Letzter Zugriff:</strong> {{ loggedin_user.last_access }}</li>
<li><strong>Mitglied seit:</strong> {{ loggedin_user.member_since_date }}</li>
<li><strong>Geburtsdatum:</strong> {{ loggedin_user.birthdate }}</li>
<li><strong>Mail:</strong> {{ loggedin_user.mail }}</li>
{% if loggedin_user.nickname %}<li><strong>Spitzname:</strong> {{ loggedin_user.nickname }}</li>{% endif %}
<li><strong>Telefonnummer:</strong> {{ loggedin_user.phone }}</li>
<li><strong>Adresse:</strong> {{ loggedin_user.address }}</li>
<li>(Beitrittserklärung)</li>
{% if loggedin_user.family_id %}
<li>Verbindung zu Familienmitglied (gespeichert um Familientarif anstatt Vollmitglied zu haben)</li>
{% endif %}
<li><strong>Rollen:</strong> {{ loggedin_user.roles }} (werden für verschiedene Funktionen im Ruderassistenten verwendet)</li>
<li>Anmeldungen zu Ausfahrten</li>
<li>Anmeldungen zu Events (zB Fetzenfahrt, Anrudern, USI-Rudern, ...)</li>
<li>Logbucheinträge</li>
<li>Selber eingetragene Bootsschäden, solange sie nicht > 1 Monat verifiziert und repariert wurden</li>
<li>Selber eingetragene Bootsreservierung</li>
<li>Boote, sofern es welche im Privatbesitz gibt</li>
</ul>
</div>
</div>
</div>
{% endif %}
<div class="grid gap-3 my-5">
<div class="bg-white dark:bg-primary-900 text-black dark:text-white rounded-md block shadow mt-5"
role="alert">
<h2 class="h2">Lizenzen</h2>
<div class="p-3">
<ul>
<li>
Die Wetterdaten werden von <a class="underline" href="https://openweathermap.org">OpenWeather</a> bereitgestellt.
</li>
</ul>
</div>
</div>
</div>
</div>
{% endblock content %}

View File

@ -1,9 +1,9 @@
<footer class="bg-primary-950 dark:bg-primary-900 text-white w-full flex justify-center p-3">
<div class="max-w-screen-xl w-full flex justify-between items-center">
<div class="max-w-screen-xl">
<div class="w-full flex justify-between items-center">
<div>
<span class="text-[#ff0000]">&hearts;</span>
Erstellt vom ASKÖ Ruderverein Donau Linz <a onclick="alert('Wir suchen kreative und motivierte Köpfe, die diesen Ruderassistenten mitgestalten möchten. Das Backend ist in Rust (Rocket), das Frontend in TypeScript und Teraform, wobei wir mit dem Gedanken spielen, zu Svelte(Kit) zu wechseln.\n\nWenn du Lust hast, deine Skills in ein Projekt zu stecken, das Wellen schlagen wird, dann komm an Bord! Wir sind offen für frische Ideen, haben jedoch auch selber noch genügend; langweilig wird uns bestimmt nicht.\n\nWirf den Anker bei uns ausi und melde dich bei Marie oder Philipp oder it@rudernlinz.at für eine Zukunft ohne optische Kenterung in Form von hässlichen Alerts ;)');"
style="text-decoration:underline">... und dir?</a>
Erstellt vom ASKÖ Ruderverein Donau Linz <a class="underline" onclick="alert('Wir suchen kreative und motivierte Köpfe, die diesen Ruderassistenten mitgestalten möchten. Das Backend ist in Rust (Rocket), das Frontend in TypeScript und Teraform, wobei wir mit dem Gedanken spielen, zu Svelte(Kit) zu wechseln.\n\nWenn du Lust hast, deine Skills in ein Projekt zu stecken, das Wellen schlagen wird, dann komm an Bord! Wir sind offen für frische Ideen, haben jedoch auch selber noch genügend; langweilig wird uns bestimmt nicht.\n\nWirf den Anker bei uns ausi und melde dich bei Marie oder Philipp oder it@rudernlinz.at für eine Zukunft ohne optische Kenterung in Form von hässlichen Alerts ;)');">... und dir?</a>
</div>
<div>
<button id="theme-toggle-js"
@ -31,4 +31,8 @@
</button>
</div>
</div>
<div class="mt-3">
<a class="underline" href="/impressum">Impressum</a>
</div>
</div>
</footer>