Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PERSON: Einverständnis Datenschutzerklärung (DSE) einholen #1881

Closed
22 of 26 tasks
Michael-Schaer opened this issue Oct 11, 2022 · 5 comments
Closed
22 of 26 tasks

PERSON: Einverständnis Datenschutzerklärung (DSE) einholen #1881

Michael-Schaer opened this issue Oct 11, 2022 · 5 comments

Comments

@Michael-Schaer
Copy link
Contributor

Michael-Schaer commented Oct 11, 2022

Als Verband möchte ich das Einverständnis von Neumitgliedern für meine Datenschutzerklärung (DSE) einholen.

Das Feature soll wenn möglich im Core umgesetzt werden. Hinweise und Rückmeldungen von anderen Hitobito-Kunden sind willkommen!

Funktionalität

Einverständniserklärung

Es gibt drei Szenarien, um das Einverständnis zur DSE abzuholen.

1. Selbstregistrierung
Das Neumitglied registriert sich selber in Hitobito. Dies kann via Link auf eine Gruppe oder via externer Anlass erfolgen. Die Person bestätigt selber, dass sie mit den Bedingungen einverstanden ist.

2. Fremdregistrierung
Die eintragende Person (zum Beispiel Adressverwalterin) bestätigt, dass das Neumitglied mit den Bedingungen einverstanden ist. Sie holt das Einverständnis manuell ab (Eintrittsformular, QR-Code auf entsprechende Dokumente, usw.)

3. Anmeldung bei Lagern / Kursen
Um das Einverständnis schneller von mehr Mitgliedern zu erhalten, soll auch bei der Lager- und Kursanmeldung das Einverständnis abgeholt werden, falls noch nicht vorhanden.

Allgemein

Hilfetexte erlauben, wo möglich, Erklärungen für die Personen, die eine Anmeldung machen, zu hinterlegen.

DSE pro Ebene erlauben

Alle Ebenen haben die Möglichkeit, eigene Bestimmungen zum Datenschutz hochzuladen. Ist ein Dokument vorhanden, so wird es bei der Registrierung zusätzlich zu den anderen angezeigt.

  • Der Upload erfolgt über Gruppe -> Bearbeiten.
  • Es kann genau ein Dokument hochgeladen werden.
  • Es sind nur PDFs erlaubt.
  • Es gibt ein Titel-Feld, damit jedes Dokument mit einem passenden Namen beschriftet werden kann (Länge limitieren)

Mockup

Selbstregistrierung
DSE_Selbstreg

Fremdregistrierung
DSE_Fremdreg

Lageranmeldung / Kursanmeldung
(nur oberer Screenshot ist relevant)
DSE_Lager

Abgrenzung

  • Nicht-Mitglieder brauchen keine Einverständnis zu geben
  • Ein Dokument pro Ebene reicht. Dokumente können auch gemerged werden, wenn es mehr sein sollen.
  • Links anstatt PDFs nein: Es besteht sonst die Gefahr, dass die verlinkte Seite verschoben oder nicht mehr vorhanden ist
  • Text anstatt PDFs: In einer ersten Version nicht. Ev. mal als Weiterentwicklung
  • Dokumente müssen nicht versioniert sein. Bei Änderungen muss typischerweise keine erneute Einverständnis eingeholt werden.
  • Auch wenn eine Ebene eine neue DSE hinterlegt, werden vorerst nicht alle Einverständnisse gelöscht.
  • Das externe Registrierungs-Formular der GLP wird für den Moment nicht angepasst

Tech spec

ToDo

  • Migration erstellen
    • people, :privacy_policy_accepted_at, :timestamp, null: true
      • zu den internal attrs hinzufügen, ist vorerst nirgends im UI lesbar (nur schreibbar)
    • Übersetzbares Feld :privacy_policy_title auf Group (nullable, translates :privacy_policy_title in group.rb)
  • Prüfen, ob https://github.com/kronn/date_checkbox hier (noch) funktioniert
  • Textfeld auf Gruppe (groups#edit, nicht group_settings) hinzufügen
    • Feldname: privacy_policy_title
    • Längenlimit validieren (z.B. 64 Zeichen)
    • Feld soll übersetzbar sein
  • Upload-Feld auf Gruppe (groups#edit, nicht group_settings) hinzufügen
    • Feldname: privacy_policy "DSE/Datenschutzerklärung"
    • nur PDF
    • nur schreibbar auf Layern, nicht auf non-layer Gruppen
  • Views und Controllers anpassen
    • Achtung generell wird überall nur etwas angezeigt, wenn in der Layer-Hierarchie der betreffenden Person mindestens eine DSE hochgeladen ist
    • ❗ Die Formulare sollen jeweils invalide sein wenn die Checkbox nicht aktiviert ist (Validierung schreiben)
    • Die Checkboxen sollen jeweils einen Text enthalten, und zu den DSEs der Layer-Hierarchie der betreffenden Person verlinken. Jede DSE soll mit dem privacy_policy_title des jeweiligen Layers angezeigt werden
    • 💡 Wenn die Zeit reicht: Sicherstellen dass Hilfetexte zu den Checkboxen erfasst werden können
    • Selbstregistrierung [view] [controller]
    • Registrierung bei externem Anlass [view] [controller]
    • Fremdregistrierung [view] [controller] (nur bei "Neue Person erfassen")
      • Achtung das Wording der Checkbox ist hier anders, da nicht die Person sich selber anmeldet
    • Anlassanmeldung [view] [controller]
    • Achtung wenn die betreffende Person schon einmal zugestimmt hat (privacy_policy_accepted_at.present?), dann soll die Checkbox aktiviert und disabled angezeigt werden.
    • Achtung Das Wording der Checkbox ist je nach params[:for_someone_else] anders
  • Specs schreiben
    • für den Upload von DSEs schreiben
    • für alle angepassten Formulare
    • für alle angepassten Controllers im Fall dass keine DSE auf der Layer-Hierarchie hochgeladen ist
  • Kunde wegen Übersetzungen informieren
  • Mit angemessener Rolle "durchklicken"
  • CHANGELOG-Eintrag unter "unreleased" unten hinzufügen
@richardjubla
Copy link
Contributor

coole Sache!

Input: Anstelle von Links/PDF könnte der Inhalt auch als Text (Hilfstext) in der Datenbank hinterlegt und gepflegt werden. Dies hätte den Vorteil, dass der Inhalt nicht verloren gehen kann und bei Bedarf für weitere Anforderungen (Versionen, Resposive, Barrierefrei, Anhang, etc.) der Applikation zur Verfügung stehen würde. (html->pdf kann hitobito ja bereits)

@Michael-Schaer
Copy link
Contributor Author

[ ] Anlassanmeldung [view] [controller]
❗ Achtung bei Anlässen nie anzeigen, nur bei Kursen und Lagern

Wenn möglich, würden wir folgendes gerne noch anpassen:
Die Checkbox zur DSE darf auch bei Anlässen angezeigt werden. Hier muss nichts eingeschränkt werden.

Stimmt das aus eurer Sicht auch, dass das eine Vereinfachung ist? Wenn ja, gerne aufnehmen.

@carlobeltrame carlobeltrame changed the title [Draft] PERSON: Einverständnis Datenschutzerklärung (DSE) einholen PERSON: Einverständnis Datenschutzerklärung (DSE) einholen Dec 12, 2022
@ThomasEllenberger ThomasEllenberger added this to the PBSC-DEZ22-DEV milestone Dec 15, 2022
@TheWalkingLeek TheWalkingLeek self-assigned this Jan 10, 2023
@TheWalkingLeek TheWalkingLeek removed their assignment Jan 17, 2023
@kronn kronn assigned kronn and unassigned kronn Jan 23, 2023
@kronn kronn closed this as completed Jan 23, 2023
@richardjubla
Copy link
Contributor

In der Version 1.31.5 (jubla) wird in der Stage-Umgebung der event_participation_contact_data_privacy_policy_accepted nicht korrekt ausgegeben:

image

@richardjubla
Copy link
Contributor

In der Version 1.31.5 (jubla) werden in der Stage-Umgebung die notwendigen Felder nicht korrekt Markiert. Muss- Felder sollten mit einem * gekennzeichnet sein, werden aber erst mit der Fehlermeldung als zwingende Felder markiert:

image

@richardjubla
Copy link
Contributor

Der Check für event_participation_contact_data_phone_numbers funktioniert in Version 1.31.5 (jubla) auf der Stage-Umgebung nicht. Wird das Feld erzwungen, kann es nie korrekt eingegeben werden.

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants