From 90e1c0496af252779e9bb8647a24aec5180a2247 Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Mon, 27 Apr 2026 14:55:23 +0200 Subject: [PATCH] feat(ModerationReports): enhance moderation reports functionality and UI - Added topic and forum IDs to moderation report queries for better context. - Updated admin interface to include links to open reported forum messages. - Implemented methods to handle opening target messages directly from the moderation reports view. - Enhanced internationalization support for new UI elements in both German and English. - Improved scrolling behavior to focus on specific messages when navigating to them. --- backend/services/moderationService.js | 6 ++++++ frontend/src/i18n/locales/de/admin.json | 4 +++- frontend/src/i18n/locales/en/admin.json | 4 +++- .../src/views/admin/ModerationReportsView.vue | 17 +++++++++++++++++ frontend/src/views/social/ForumTopicView.vue | 11 ++++++++++- 5 files changed, 39 insertions(+), 3 deletions(-) diff --git a/backend/services/moderationService.js b/backend/services/moderationService.js index 26e6c09..04cc566 100644 --- a/backend/services/moderationService.js +++ b/backend/services/moderationService.js @@ -95,6 +95,8 @@ class ModerationService extends BaseService { r.id, r.target_type AS "targetType", r.target_id AS "targetId", + fm.title_id AS "topicId", + ft.forum_id AS "forumId", r.reason, r.details, r.status, @@ -106,6 +108,10 @@ class ModerationService extends BaseService { FROM community.moderation_report r JOIN community.user reporter ON reporter.id = r.reporter_user_id LEFT JOIN community.user reviewer ON reviewer.id = r.reviewer_user_id + LEFT JOIN forum.message fm + ON r.target_type = 'forum_message' + AND fm.id = r.target_id + LEFT JOIN forum.title ft ON ft.id = fm.title_id WHERE r.status = :status ORDER BY r.created_at DESC LIMIT :limit diff --git a/frontend/src/i18n/locales/de/admin.json b/frontend/src/i18n/locales/de/admin.json index a78e97b..82961b3 100644 --- a/frontend/src/i18n/locales/de/admin.json +++ b/frontend/src/i18n/locales/de/admin.json @@ -547,7 +547,9 @@ "in_review": "In Prüfung", "resolved": "Erledigt", "rejected": "Abgelehnt" - } + }, + "openTarget": "Zum Beitrag", + "targetLink": "Link" } } } diff --git a/frontend/src/i18n/locales/en/admin.json b/frontend/src/i18n/locales/en/admin.json index ab885c2..7e9f666 100644 --- a/frontend/src/i18n/locales/en/admin.json +++ b/frontend/src/i18n/locales/en/admin.json @@ -547,7 +547,9 @@ "in_review": "In review", "resolved": "Resolved", "rejected": "Rejected" - } + }, + "openTarget": "Open post", + "targetLink": "Link" } } } diff --git a/frontend/src/views/admin/ModerationReportsView.vue b/frontend/src/views/admin/ModerationReportsView.vue index 7a3b1f4..633555b 100644 --- a/frontend/src/views/admin/ModerationReportsView.vue +++ b/frontend/src/views/admin/ModerationReportsView.vue @@ -26,6 +26,7 @@ {{ $t('admin.moderationReports.reason') }} {{ $t('admin.moderationReports.reporter') }} {{ $t('admin.moderationReports.createdAt') }} + {{ $t('admin.moderationReports.targetLink') }} {{ $t('admin.moderationReports.actions') }} @@ -39,6 +40,15 @@ {{ report.reporterUsername }} {{ formatDateTimeLong(report.createdAt) }} + + +