feat: imprint
This commit is contained in:
parent
7bfb173887
commit
103227ea40
668
Cargo.lock
generated
668
Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -29,4 +29,5 @@ actix-web-static-files = "4.0"
|
|||||||
static-files = "0.2.1"
|
static-files = "0.2.1"
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
|
built = "0.7.4"
|
||||||
static-files = "0.2.1"
|
static-files = "0.2.1"
|
||||||
|
2
build.rs
2
build.rs
@ -5,6 +5,8 @@ use std::{
|
|||||||
};
|
};
|
||||||
|
|
||||||
fn main() -> std::io::Result<()> {
|
fn main() -> std::io::Result<()> {
|
||||||
|
built::write_built_file().expect("Failed to acquire build-time information");
|
||||||
|
|
||||||
NpmBuild::new("./static").change_detection().install()?;
|
NpmBuild::new("./static").change_detection().install()?;
|
||||||
|
|
||||||
let dist_path = Path::new("./static/dist");
|
let dist_path = Path::new("./static/dist");
|
||||||
|
14
src/endpoints/imprint.rs
Normal file
14
src/endpoints/imprint.rs
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
use actix_web::Responder;
|
||||||
|
use askama::Template;
|
||||||
|
use askama_actix::TemplateToResponse;
|
||||||
|
|
||||||
|
#[derive(Template)]
|
||||||
|
#[template(path = "imprint.html")]
|
||||||
|
struct ImprintTemplate {}
|
||||||
|
|
||||||
|
#[actix_web::get("/imprint")]
|
||||||
|
pub async fn get_imprint() -> impl Responder {
|
||||||
|
let template = ImprintTemplate {};
|
||||||
|
|
||||||
|
template.to_response()
|
||||||
|
}
|
@ -9,6 +9,7 @@ mod events;
|
|||||||
mod export;
|
mod export;
|
||||||
mod location;
|
mod location;
|
||||||
mod user;
|
mod user;
|
||||||
|
mod imprint;
|
||||||
|
|
||||||
#[derive(Deserialize)]
|
#[derive(Deserialize)]
|
||||||
pub struct IdPath {
|
pub struct IdPath {
|
||||||
@ -60,4 +61,6 @@ pub fn init(cfg: &mut ServiceConfig) {
|
|||||||
|
|
||||||
cfg.service(export::get_availability::get);
|
cfg.service(export::get_availability::get);
|
||||||
cfg.service(export::get_availability_data::get);
|
cfg.service(export::get_availability_data::get);
|
||||||
|
|
||||||
|
cfg.service(imprint::get_imprint);
|
||||||
}
|
}
|
||||||
|
@ -25,6 +25,7 @@ mod filters;
|
|||||||
mod postgres_session_store;
|
mod postgres_session_store;
|
||||||
|
|
||||||
include!(concat!(env!("OUT_DIR"), "/generated.rs"));
|
include!(concat!(env!("OUT_DIR"), "/generated.rs"));
|
||||||
|
include!(concat!(env!("OUT_DIR"), "/built.rs"));
|
||||||
|
|
||||||
pub enum Command {
|
pub enum Command {
|
||||||
Migrate,
|
Migrate,
|
||||||
|
@ -48,7 +48,12 @@ where
|
|||||||
let is_logged_in = request.get_identity().is_ok();
|
let is_logged_in = request.get_identity().is_ok();
|
||||||
|
|
||||||
// Don't forward to `/login` if we are already on `/login`.
|
// Don't forward to `/login` if we are already on `/login`.
|
||||||
if !is_logged_in && request.path() != "/login" && !request.path().starts_with("/reset-password") && !request.path().starts_with("/static") {
|
if !is_logged_in
|
||||||
|
&& request.path() != "/login"
|
||||||
|
&& request.path() != "/imprint"
|
||||||
|
&& !request.path().starts_with("/reset-password")
|
||||||
|
&& !request.path().starts_with("/static")
|
||||||
|
{
|
||||||
let (request, _pl) = request.into_parts();
|
let (request, _pl) = request.into_parts();
|
||||||
|
|
||||||
let response = HttpResponse::Found()
|
let response = HttpResponse::Found()
|
||||||
|
@ -55,18 +55,29 @@
|
|||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
<footer class="footer mt-auto">
|
<footer class="footer mt-auto">
|
||||||
<div class="content level">
|
<div class="level container">
|
||||||
<p class="level-item has-text-centered">
|
<div class="level-left">
|
||||||
<a class="link is-info">Datenschutz & Impressum</a>
|
<p class="level-item">
|
||||||
|
<a class="link is-info" href="/imprint">Impressum & Datenschutz</a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="level-item">
|
||||||
|
Brass ist freie and quelloffene Software
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p class="level-item has-text-centered">
|
<div class="level-right">
|
||||||
<a class="link is-info">verwendete Softwarebibliotheken</a>
|
<div class="control level-item">
|
||||||
</p>
|
<div class="tags has-addons">
|
||||||
|
<span class="tag is-dark">Version</span>
|
||||||
|
<span class="tag is-success">{{ crate::PKG_VERSION }}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<p class="level-item has-text-centered">
|
<p class="level-item">
|
||||||
<a class="link is-info">Quellcode</a>
|
<a class="link is-info" href="https://git.tfld.de/Schwarztee/brass" target="_blank">Quellcode</a>
|
||||||
</p>
|
</p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
</body>
|
</body>
|
||||||
|
77
templates/imprint.html
Normal file
77
templates/imprint.html
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
{% extends "base.html" %}
|
||||||
|
|
||||||
|
{% block body %}
|
||||||
|
<section class="section container content">
|
||||||
|
<div class="level">
|
||||||
|
<div class="level-left">
|
||||||
|
<h1 class="level-item">Impressum</h1>
|
||||||
|
</div>
|
||||||
|
<div class="level-right">
|
||||||
|
<a class="level-item button is-link" href="/">Startseite</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<p>
|
||||||
|
Freiwillige Feuerwehr Leipzig-Ost<br />
|
||||||
|
Kamerad Max Hohlfeld<br />
|
||||||
|
Gerichtsweg 9<br />
|
||||||
|
04103 Leipzig<br />
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
E-Mail: max.hohlfeld@brasiwa-leipzig.de
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h1>Datenschutzerklärung</h1>
|
||||||
|
<h3>Name und Kontaktdaten des Verantwortlichen</h3>
|
||||||
|
<p> Kamerad Max Hohlfeld </p>
|
||||||
|
<p> E-Mail: max.hohlfeld@brasiwa-leipzig.de </p>
|
||||||
|
|
||||||
|
<h3>Erhobene Daten</h3>
|
||||||
|
<p>
|
||||||
|
Durch das Besuchen dieser Website übermittelt dein Browser automatisch Verkehrdaten an den Webserver. Von diesen
|
||||||
|
werden jedoch nur folgende Informationen in einer Logdatei protokolliert:
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li>Zeit der Anfrage, z.B. <code>[06/Aug/2021:17:48:09 +0200]</code></li>
|
||||||
|
<li>die erste Zeile der Anfrage (HTTP-Methode, Ziel und HTTP-Version), z.B. <code>GET /robots.txt HTTP/1.1</code>
|
||||||
|
</li>
|
||||||
|
<li>HTTP-Status, z.B. <code>404</code></li>
|
||||||
|
</ul>
|
||||||
|
<p>
|
||||||
|
Diese Informationen dienen ausschließlich der Fehlersuche bei technischen Problemen. Die Rechtsgrundlage dafür ist
|
||||||
|
Art. 6 Absatz 1 Satz 1f DSGVO. Nach 24h werden die Protokolle automatisiert gelöscht.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Durch Nutzung der Login-Funktionalität wird ein Sitzungscookie gesetzt. Dies dient der Identifizierung deines
|
||||||
|
Browsers gegenüber dem Server. Die darinliegende ID ist einzigartig und beinhaltet keinerlei personenbezogene Daten.
|
||||||
|
Der Cookie wird spätestens nach Schließen deines Browsers gelöscht.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Die Nutzung von Brass findert zwingend mit einem Nutzerprofil statt. Mit dem Profil sind folgende personenbezogene
|
||||||
|
Daten verknüpft:
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li>Vor- und Nachname z.B. <code>Max Mustermann</code></li>
|
||||||
|
<li>E-Mail Adresse z.B. <code>max.mustermann@brasiwa-leipzig.de</code></li>
|
||||||
|
<li>Funktion für Brandsicherheitswachen z.B. <code>Wachhabender</code></li>
|
||||||
|
<li>Brandsicherheitswachbereich z.B. <code>Bereich Ost</code></li>
|
||||||
|
<li>Zeitpunkt deines letzten Logins z.B. <code>2021-06-11 09:40:47</code></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3>Deine Rechte</h3>
|
||||||
|
<ul>
|
||||||
|
<li>Recht auf Auskunft über die betroffenen personenbezogenen Daten gemäß Art. 15 DSGVO</li>
|
||||||
|
<li>Recht auf Berichtigung gemäß Art. 16 DSGVO</li>
|
||||||
|
<li>Recht auf Löschung gemäß Art. 17 DSGVO</li>
|
||||||
|
<li>Recht auf Einschränkung der Verarbeitung gemäß Art. 18 DSGVO</li>
|
||||||
|
<li>Recht auf Datenübertragbarkeit gemäß Art. 20 DSGVO</li>
|
||||||
|
<li>Widerspruchsrecht gegen die Verarbeitung gemäß Art. 21 DSGVO</li>
|
||||||
|
<li>Beschwerderecht bei einer Aufsichtsbehörde gemäß Art. 77 DSGVO</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h1>Copyright</h1>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
{% endblock %}
|
Loading…
x
Reference in New Issue
Block a user