Team-Zugriff
Das Team-Zugriff-Modul beschränkt Benutzer mit eingeschränkten SportsPress-Rollen darauf, nur Inhalte anzuzeigen und zu bearbeiten, die zu ihrer zugewiesenen Mannschaft oder ihren zugewiesenen Mannschaften gehören. Ohne dieses Modul kann ein Mannschafts-Manager, Begegnungs-Manager, Mitarbeiter oder Spieler alle Datensätze jedes Beitragstyps in seinen Admin-Listenbildschirmen sehen. Mit aktiviertem Team-Zugriff und einer dem Benutzer zugewiesenen Mannschaft werden diese Listenbildschirme gefiltert, sodass nur relevante Datensätze erscheinen.
Betroffene Rollen
Der Team-Zugriff gilt für vier Rollen:
Mannschafts-Manager (
sp_team_manager)Begegnungs-Manager (
sp_event_manager)Mitarbeiter (
sp_staff)Spieler (
sp_player)
Die Rollen Liga-Manager und Administrator unterliegen nicht der Mannschaftsfilterung.
Gefilterte Beitragstypen
Wenn Team-Zugriff aktiv ist und ein Benutzer eine oder mehrere Mannschaften zugewiesen hat, werden die folgenden Beitragstyp-Listenbildschirme im WordPress-Admin gefiltert:
sp_event — Begegnungen
sp_calendar — Kalender
sp_team — Mannschaften
sp_table — Ligatabellen
sp_player — Spieler
sp_list — Spielerlisten
sp_staff — Mitarbeiter
Datensätze ohne Mannschaftszuweisung sind für Benutzer mit eingeschränkten Rollen immer sichtbar, unabhängig von ihrer Mannschaftseinstellung. Dadurch wird verhindert, dass Datensätze verschwinden, nur weil sie noch keiner Mannschaft zugewiesen wurden.
Funktionsweise der Filterung nach Beitragstyp
Für den Beitragstyp sp_team wird die Abfrage auf post__in beschränkt — nur die dem Benutzer direkt zugewiesenen Mannschafts-IDs werden angezeigt.
Für alle anderen gefilterten Beitragstypen überprüft die Abfrage die Mannschaftsmetadaten des Datensatzes:
spplayer- und spstaff-Datensätze: gefiltert nach dem Meta-Feld
sp_current_teamAlle anderen Beitragstypen (Begegnungen, Kalender, Tabellen, Spielerlisten): gefiltert nach dem Meta-Feld
sp_team
Ein Datensatz ist sichtbar, wenn sein Mannschafts-Meta-Feld mindestens eine der zugewiesenen Mannschaften des Benutzers enthält oder wenn das Mannschafts-Meta-Feld überhaupt nicht gesetzt ist.
Mannschaften einem Benutzer zuweisen
Gehen Sie im WordPress-Admin zu Benutzer > Alle Benutzer.
Klicken Sie auf den Benutzernamen des Benutzers, den Sie konfigurieren möchten.
Scrollen Sie nach unten zum Abschnitt Team-Zugriff.
Wählen Sie im Feld Mannschaft eine oder mehrere Mannschaften aus dem Dropdown. Das Feld verwendet eine durchsuchbare Mehrfachauswahl (Chosen.js). Lassen Sie es leer, um Zugriff auf alle Datensätze zu erlauben (kein Filter angewendet).
Klicken Sie auf Benutzer aktualisieren.
Der Abschnitt „Team-Zugriff" wird auf dem Profil-Bearbeitungsbildschirm nur angezeigt, wenn der Benutzer eine der vier betroffenen Rollen hat. Er erscheint nicht für Administratoren oder Liga-Manager.
Einem Benutzer mehrere Mannschaften zuweisen
Das Feld Mannschaft akzeptiert mehrere Auswahlen. Wählen Sie jede Mannschaft aus, auf die der Benutzer Zugriff haben soll. Der Filter verwendet eine ODER-Bedingung — ein Datensatz wird angezeigt, wenn er mit einer der zugewiesenen Mannschaften des Benutzers übereinstimmt.
Unautorisiertes Speichern verhindern
Zusätzlich zur Filterung von Listenbildschirmen verhindert das Modul, dass ein Benutzer mit eingeschränkter Rolle einen Beitrag speichert, der nicht zu seiner zugewiesenen Mannschaft gehört. Wenn ein Benutzer versucht, einen Datensatz außerhalb seines Mannschaftszugriffs zu aktualisieren, beendet WordPress die Anfrage mit einem Fehler.
Modul aktivieren oder deaktivieren
Der Team-Zugriff wird durch die Option sportspress_load_team_access_module gesteuert. Standard ist yes. Um das Modul zu deaktivieren, gehen Sie zu SportsPress > Einstellungen > Module und deaktivieren Sie Team-Zugriff.
