From a6ba1b92dcf5687cf38040c881fbc65f51765aeb Mon Sep 17 00:00:00 2001 From: Sean Engelhardt Date: Thu, 2 Aug 2018 16:39:08 +0200 Subject: [PATCH] Add legal notice and privacy police enhanced visuals and site container --- .../legal-notice.dialog.component.css | 0 .../legal-notice.dialog.component.html | 9 ++++ .../legal-notice.dialog.component.spec.ts | 24 +++++++++ .../legal-notice.dialog.component.ts | 15 ++++++ .../privacy-policy.dialog.component.css | 0 .../privacy-policy.dialog.component.html | 40 ++++++++++++++ .../privacy-policy.dialog.component.spec.ts | 24 +++++++++ .../privacy-policy.dialog.component.ts | 15 ++++++ client/src/app/shared/shared.module.ts | 8 ++- client/src/app/site/site.component.html | 17 ++++-- client/src/app/site/site.component.scss | 20 +++++++ .../app/site/site.component.scss-theme.scss | 11 ++++ client/src/app/site/site.component.ts | 52 ++++++++++++++++--- client/src/styles.scss | 7 +-- 14 files changed, 226 insertions(+), 16 deletions(-) create mode 100644 client/src/app/shared/components/legal-notice/legal-notice.dialog.component.css create mode 100644 client/src/app/shared/components/legal-notice/legal-notice.dialog.component.html create mode 100644 client/src/app/shared/components/legal-notice/legal-notice.dialog.component.spec.ts create mode 100644 client/src/app/shared/components/legal-notice/legal-notice.dialog.component.ts create mode 100644 client/src/app/shared/components/privacy-policy/privacy-policy.dialog.component.css create mode 100644 client/src/app/shared/components/privacy-policy/privacy-policy.dialog.component.html create mode 100644 client/src/app/shared/components/privacy-policy/privacy-policy.dialog.component.spec.ts create mode 100644 client/src/app/shared/components/privacy-policy/privacy-policy.dialog.component.ts diff --git a/client/src/app/shared/components/legal-notice/legal-notice.dialog.component.css b/client/src/app/shared/components/legal-notice/legal-notice.dialog.component.css new file mode 100644 index 000000000..e69de29bb diff --git a/client/src/app/shared/components/legal-notice/legal-notice.dialog.component.html b/client/src/app/shared/components/legal-notice/legal-notice.dialog.component.html new file mode 100644 index 000000000..600cb90eb --- /dev/null +++ b/client/src/app/shared/components/legal-notice/legal-notice.dialog.component.html @@ -0,0 +1,9 @@ +

Impressum

+ + OpenSlides ist ein freies, webbasiertes Präsentations- und Versammlungssystem zur Darstellung und Steuerung von Tagesordnung, + Anträgen und Wahlen einer Versammlung. + +
+ + OpenSlides 3.0 PRE ALPHA (Lizenz: MIT) + \ No newline at end of file diff --git a/client/src/app/shared/components/legal-notice/legal-notice.dialog.component.spec.ts b/client/src/app/shared/components/legal-notice/legal-notice.dialog.component.spec.ts new file mode 100644 index 000000000..cc847b209 --- /dev/null +++ b/client/src/app/shared/components/legal-notice/legal-notice.dialog.component.spec.ts @@ -0,0 +1,24 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { LegalnoticeDialogComponent } from './legal-notice.dialog.component'; + +describe('LegalnoticeDialogComponent', () => { + let component: LegalnoticeDialogComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [LegalnoticeDialogComponent] + }).compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(LegalnoticeDialogComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/client/src/app/shared/components/legal-notice/legal-notice.dialog.component.ts b/client/src/app/shared/components/legal-notice/legal-notice.dialog.component.ts new file mode 100644 index 000000000..a6d82d3e5 --- /dev/null +++ b/client/src/app/shared/components/legal-notice/legal-notice.dialog.component.ts @@ -0,0 +1,15 @@ +import { Component } from '@angular/core'; +import { MatDialogRef } from '@angular/material'; + +@Component({ + selector: 'app-impressum', + templateUrl: './legal-notice.dialog.component.html', + styleUrls: ['./legal-notice.dialog.component.css'] +}) +export class LegalnoticeDialogComponent { + constructor(public dialogRef: MatDialogRef) {} + + onNoClick(): void { + this.dialogRef.close(); + } +} diff --git a/client/src/app/shared/components/privacy-policy/privacy-policy.dialog.component.css b/client/src/app/shared/components/privacy-policy/privacy-policy.dialog.component.css new file mode 100644 index 000000000..e69de29bb diff --git a/client/src/app/shared/components/privacy-policy/privacy-policy.dialog.component.html b/client/src/app/shared/components/privacy-policy/privacy-policy.dialog.component.html new file mode 100644 index 000000000..793b33ff5 --- /dev/null +++ b/client/src/app/shared/components/privacy-policy/privacy-policy.dialog.component.html @@ -0,0 +1,40 @@ +

Datenschutzerklärung

+ + OpenSlides speichert nur so viele personenbezogene Daten wie unbedingt nötig sind, um Besuchern Informationen und Dienste + zuverlässig und sicher anbieten zu können. + +
+ + Eine Auswertung der Dienste-Protokolle erfolgt nur von uns selbst und auch nur, um mögliche Fehler, Einbruchsversuche oder + technisches Verhalten der Server auf unseren Server zu analysieren. + +
+ + Nachfolgend wird genau aufgeschlüsselt, bei welcher Gelegenheit welche Daten wie lange gespeichert sind. Zudem wird beschrieben, + welche Schritte erforderlich sind um Daten zu löschen. + +
+

Cookies

+ + Beim Besuch der Website wird ein sogenanntes Cookie angelegt. Dieses Cookie wird ausschließlich dazu verwendet, um auf der + Website eingeloggt zu bleiben. Ein sogenanntes "Tracking Cookie" wird nicht verwendet. + +
+

Logfiles

+ + Zu OpenSlides gehören verschiedene Unter-Services. Diese loggen folgende Informationen: Quell-IP-Adresse, Zeitstempel, genutztes + Betriebssystem, verwendeter Web-Browser, Referer-URL, E-Mail-Adresse und besuchte Seite. + +
+

Datenbank

+ + Als Mitglied werden folgende Daten von Ihnen gespeichert: Titel, Vorname, Nachname, EMail, Gliederungsebene, Teilnehmernummer, + Gruppenzugehörigkeit, Initiales Passwort im Klartext, Vergebenes Passwort als kryptografischer Hashwert und ein Kommentar + für interne Notizen. Diese Informationen werden mit den Aktionen innerhalb von OpenSlides in Verbindung gebracht. Diese + Informationen werden nicht an Dritte weiter gegeben und sind auch nicht für diese zugänglich. + +
+

Löschung von Daten

+ + Die Daten dieser OpenSlides-Demo-Instanz werden nächtlich automatisch gelöscht. + \ No newline at end of file diff --git a/client/src/app/shared/components/privacy-policy/privacy-policy.dialog.component.spec.ts b/client/src/app/shared/components/privacy-policy/privacy-policy.dialog.component.spec.ts new file mode 100644 index 000000000..9bf6c06fe --- /dev/null +++ b/client/src/app/shared/components/privacy-policy/privacy-policy.dialog.component.spec.ts @@ -0,0 +1,24 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { PrivacyPolicyDialogComponent } from './privacy-policy.dialog.component'; + +describe('PrivacyPolicyDialogComponent', () => { + let component: PrivacyPolicyDialogComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [PrivacyPolicyDialogComponent] + }).compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(PrivacyPolicyDialogComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/client/src/app/shared/components/privacy-policy/privacy-policy.dialog.component.ts b/client/src/app/shared/components/privacy-policy/privacy-policy.dialog.component.ts new file mode 100644 index 000000000..f407db353 --- /dev/null +++ b/client/src/app/shared/components/privacy-policy/privacy-policy.dialog.component.ts @@ -0,0 +1,15 @@ +import { Component } from '@angular/core'; +import { MatDialogRef } from '@angular/material'; + +@Component({ + selector: 'app-privacy-policy.dialog', + templateUrl: './privacy-policy.dialog.component.html', + styleUrls: ['./privacy-policy.dialog.component.css'] +}) +export class PrivacyPolicyDialogComponent { + constructor(public dialogRef: MatDialogRef) {} + + onNoClick(): void { + this.dialogRef.close(); + } +} diff --git a/client/src/app/shared/shared.module.ts b/client/src/app/shared/shared.module.ts index 6450038c4..54fb55c32 100644 --- a/client/src/app/shared/shared.module.ts +++ b/client/src/app/shared/shared.module.ts @@ -13,6 +13,7 @@ import { MatSidenavModule, MatSnackBarModule } from '@angular/material'; +import { MatDialogModule } from '@angular/material/dialog'; import { MatListModule } from '@angular/material/list'; import { MatExpansionModule } from '@angular/material/expansion'; import { MatMenuModule } from '@angular/material/menu'; @@ -28,6 +29,8 @@ import { TranslateModule } from '@ngx-translate/core'; // directives import { OsPermsDirective } from './directives/os-perms.directive'; import { DomChangeDirective } from './directives/dom-change.directive'; +import { LegalnoticeDialogComponent } from './components/legal-notice/legal-notice.dialog.component'; +import { PrivacyPolicyDialogComponent } from './components/privacy-policy/privacy-policy.dialog.component'; library.add(fas); @@ -56,6 +59,7 @@ library.add(fas); MatExpansionModule, MatMenuModule, MatSnackBarModule, + MatDialogModule, FontAwesomeModule ], exports: [ @@ -71,11 +75,13 @@ library.add(fas); MatListModule, MatExpansionModule, MatMenuModule, + MatDialogModule, MatSnackBarModule, FontAwesomeModule, TranslateModule, OsPermsDirective ], - declarations: [OsPermsDirective, DomChangeDirective] + declarations: [OsPermsDirective, DomChangeDirective, LegalnoticeDialogComponent, PrivacyPolicyDialogComponent], + entryComponents: [LegalnoticeDialogComponent, PrivacyPolicyDialogComponent] }) export class SharedModule {} diff --git a/client/src/app/site/site.component.html b/client/src/app/site/site.component.html index a9f839e95..371f9dba6 100644 --- a/client/src/app/site/site.component.html +++ b/client/src/app/site/site.component.html @@ -3,8 +3,8 @@ - - OpenSlides-logo + + @@ -21,7 +21,8 @@ - + Home @@ -53,6 +54,16 @@ + +
+ + + +
+ © Copyright by + OpenSlides + +