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

Als Benutzer*in muss ich die Nutzungsbedingungen akzeptieren #317

Open
7 tasks
panterch opened this issue Aug 2, 2021 · 0 comments
Open
7 tasks

Als Benutzer*in muss ich die Nutzungsbedingungen akzeptieren #317

panterch opened this issue Aug 2, 2021 · 0 comments

Comments

@panterch
Copy link
Owner

panterch commented Aug 2, 2021

Beschreibung

Bei geänderten Nutzungsbedingungen werden Benutzer*innen aufgefordert, diese zu akzeptieren. Ohne Akzeptanz ist die Nutzung der Platform nicht möglich.

Akzeptanzkriterien

  • Geänderter Nutzungsbedingungen werden nach dem Login angezeigt: Die Seite zeigt den Titel "Bitte akzeptieren sie die geändertern Nutzungsbedingungen, die Nutzungsbedingungen selbst und einen Button "Nutzungsbedingungen Akzeptieren"
  • Administrator*innen müssen geänderte Nutzungsbedingungen akzeptieren
  • Mentor*innen müssen geänderte Nutzungsbedingungen akzeptieren
  • Schulleiter*innen müssen geänderte Nutzungsbedingungen akzeptieren
  • Lehrpersonen müssen geänderte Nutzungsbedingungen akzeptieren
  • Nach der Aktzeptanz der Nutzungsbedingungen werden Benutzer*innen auf die ursprünglich an-navigierte Seite weitergeleitet
  • Werden die Nutzungsbedingungen erneut geändert, müssen diese erneut angezeigt und akzeptiert werden

Technische Details

Die Nutzungsbedingungen können von Admins bearbeitet werden unter /site/edit

Wenn das Feature "öffentliche Registrierung" aktiviert ist, werden diese bereits abgefragt und angezeigt. Hier ein Beispiel:

Für Versionen der Applikation ohne "öffentliche Registrierung" haben die Nutzungsbedingunen bisher noch keine Relevanz. Ziel dieses Tickets ist es dies auch für diese Versionen zu verlangen.

Das Feld zur Akzeptanz der Nutzungsbedingungen ist ein Boolean terms_of_use_accepted

Alle Benutzertypen erben die Funktionen des User Models.

Tips für die Implementierung

Dies sind Vorschläge, die Umsetzung kann gerne auch anders gelöst werden.

Auf dem site model soll aufgezeichnet, wann die Nutzungsbedingungen das letzte mal geändert wurden. Dies kann z.B. über den "Dirty" state des Feldes gemacht werden: https://api.rubyonrails.org/classes/ActiveRecord/AttributeMethods/Dirty.html

Auf dem User Model muss ebenfalls aufgezeichnet werden, wann Benutzer*innen das letzte Mal die Nutzungsbedingungen akzeptiert haben.

Nach dem Login kann mit einer Devise Methode oder einem Filter überprüft werden, ob die aktuellen Nutzungsbedingungen akzeptiert wurden.

Die aktuelle Anzeige der Nutzungsbedingungen ( /self_registrations/terms_of_use ) ist vom Layout her noch nicht geeignet. Für diese neue Funktion lohnt es sich auf einem anderen Controller neue Aktionen zur Anzeige und zur Akzeptanz der Nutzungsbedingungen zu implementieren.

Für das Testing empfiehlt sich ein Integrationstest. Im vorliegenden Projekt sind diese mit Capybara / Rspec geschrieben. Ein geeigneter Test zum erweitern oder kopieren könnte 'SESSION::LOGIN' sein: https://github.com/panterch/future_kids/blob/master/spec/requests/login_stories_spec.rb

Bitte das Repository https://github.com/panterch/future_kids/ forken und das Feature zum Review als Github Pull Request schicken.

Weitere Infos zum Installieren des Projektes https://github.com/panterch/future_kids/blob/master/INSTALL.md

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

No branches or pull requests

1 participant