Zum Hauptinhalt springen

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 Mannsch…

Heute aktualisiert

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_team

  • Alle 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

  1. Gehen Sie im WordPress-Admin zu Benutzer > Alle Benutzer.

  2. Klicken Sie auf den Benutzernamen des Benutzers, den Sie konfigurieren möchten.

  3. Scrollen Sie nach unten zum Abschnitt Team-Zugriff.

  4. 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).

  5. 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.

Hat dies deine Frage beantwortet?