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

EVENTS: Berechtigungen Kurskader #1149

Open
4 tasks
codez opened this issue Oct 17, 2024 · 0 comments
Open
4 tasks

EVENTS: Berechtigungen Kurskader #1149

codez opened this issue Oct 17, 2024 · 0 comments

Comments

@codez
Copy link
Contributor

codez commented Oct 17, 2024

blocked by #1104

Als Kursadmin will ich, dass das Kurskader nur eingeschränkte Berechtigungen auf dem Kurs hat, damit keine missbräuchlichen Anpassungen gemacht werden.

Kurskader soll sich um die folgenden Dinge kümmern: Kursinfos einsehen, TN einsehen, Präsenz der TN festhalten (Teilgenommen und Nicht erschienen), Qualifikationen vergeben an TN

Das Kurskader darf insbesondere nicht:

  • Kurs bearbeiten
  • Kursstatus verändern
  • Personen hinzufügen
  • TN Status ändern ausser Teilgenommen und Nicht erschienen
  • Rechnungen erstellen pro Teilnahme (geht via Participation #summon)

Tech Spec

Dazu sollen für die Kurse beim SAC zwei eigene Rollen erstellt werden:

  • Event::Course::Role::Leader (Permissions participations_full, qualify) "Kursleitung"
  • Event::Course::Role::AssistantLeader (Permissions participations_full, qualify) "Klassenleitung"

Diese beiden ersetzen die bestehenden Rollen Leader und AssistantLeader für SAC Kurse.

Damit sollten die Kurs bearbeiten (inkl Status) Berechtigungen wegfallen.

Damit keine Personen hinzugefügt werden können, muss die Berechtigung permission(:any).may(:show, :create, :update).for_participations_full_events auf der Event::Role angepasst werden auf for_participations_full_events_except_courses (neu zu erstellen). Ist der Event also ein Kurs, wird die Berechtigung nie gewährt für :any. Für :destroy analog.

Damit keine TN Status verändert werden können, werden auf der Event::ParticipationAbility folgende Anpassungen gemacht:

  • permission(:any).may(:cancel).her_own
  • permission(:any).may(:assign, :summon).none
  • permission(:any).may(:absent, :attend).for_participations_full_events

Alle Vorkommnisse von Event::Role::Leader im SAC Wagon sollen durch Event::Course::Role::Leader und Event::Role::AssistantLeader durch Event::Course::Role::AssistantLeader ersetzt werden.

Bestehende Rollen auf Kursen sollen migriert werden.

ToDo

  • Migration erstellen
  • Model/View/Controller anpassen
  • Specs schreiben
  • Mit angemessener Rolle "durchklicken"
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

1 participant