# Dashboard-Bericht - Nicht akzeptierte Richtlinien

**URL:** <https://meta.discourse.org/t/dashboard-report-unaccepted-policies/294432>\
**Category:** Data & reporting\
**Tags:** policy, sql-query, dashboard-reports, dashboard-sql\
**Created:** [6. Februar 2024 um 22:30 UTC](https://meta.discourse.org/t/dashboard-report-unaccepted-policies/294432 "2024-02-06T22:30:24Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![SaraDev](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/saradev/32/335139_2.png) [@SaraDev](https://meta.discourse.org/u/SaraDev)\
**Post date:** [6. Februar 2024 um 22:30 UTC](https://meta.discourse.org/t/dashboard-report-unaccepted-policies/294432/1 "2024-02-06T22:30:24Z")

</div>

Dies ist eine SQL-Version des Dashboard-Berichts für nicht akzeptierte Richtlinien.

> :discourse: Für diesen Bericht muss das [Discourse Policy](https://meta.discourse.org/t/discourse-policy/88557) Plugin aktiviert sein.

Dieser Dashboard-Bericht identifiziert Themen mit Richtlinien, die von bestimmten Benutzern nicht akzeptiert wurden. Dieser Bericht hilft Administratoren sicherzustellen, dass Benutzer die Beitragsrichtlinien einhalten, zu identifizieren, wer erforderliche Richtlinien nicht akzeptiert hat, Forenregeln durchzusetzen, Richtlinienaktualisierungen zu verwalten und zu bestätigen, dass Benutzer den Richtlinien zustimmen.

```sql
SELECT distinct t.id AS topic_id, gu.user_id AS user_id
    FROM post_policies pp
    JOIN post_policy_groups pg on pg.post_policy_id = pp.id
    JOIN posts p ON p.id = pp.post_id AND p.deleted_at is null
    JOIN topics t ON t.id = p.topic_id AND t.deleted_at is null
    JOIN group_users gu ON gu.group_id = pg.group_id
    LEFT JOIN policy_users pu ON
        pu.user_id = gu.user_id AND
        pu.post_policy_id = pp.id AND
        pu.accepted_at IS NOT NULL AND
        pu.revoked_at IS NULL AND
        (pu.expired_at IS NULL OR pu.expired_at < pu.accepted_at) AND
        ((pu.version IS NULL AND pp.version IS NULL) OR
        (pp.version IS NOT NULL AND pu.version IS NOT NULL AND pu.version = pp.version))
WHERE pu.id IS NULL

```

### Erklärung der SQL-Abfrage

Diese Abfrage führt die folgenden Operationen aus:

- Verknüpft die Tabellen `post_policies`, `post_policy_groups`, `posts`, `topics` und `group_users`, um eine Liste von Themen und Benutzern zu erstellen, die aufgrund ihrer Gruppenmitgliedschaft Beitragsrichtlinien unterliegen.
- Verwendet einen linken Join mit der Tabelle `policy_users`, um Fälle zu finden, in denen ein Benutzer die Richtlinie nicht akzeptiert hat (`pu.id IS NULL`), und stellt sicher, dass nur aktuelle und relevante Richtlinienakzeptanzen berücksichtigt werden (nicht widerrufen, nicht abgelaufen und übereinstimmend mit der aktuellen Version der Richtlinie).
- Wählt eindeutige Paare von `topic_id` und `user_id` aus, die Themen mit Richtlinien angeben, die von bestimmten Benutzern nicht akzeptiert wurden.

### Beispielergebnisse

| Thema | Benutzer |
| --- | --- |
| Richtlinienthema 1 | user\_1 |
| Richtlinienthema 1 | user\_2 |
| Richtlinienthema 2 | user\_1 |
| … | … |

---

_[View the full topic](https://meta.discourse.org/t/dashboard-report-unaccepted-policies/294432)._
