Cockatrice/libcockatrice_protocol/libcockatrice/protocol/pb/serverinfo_report.proto
BruebachL 38acddeede
[Report] Add context menu to report queue rows (#7444)
* [Report] Add report reopen action for closed reports

- New Command_ReportReopen moderator command (extension 1206) with server
  handler that reopens resolved/dismissed reports, resets resolution state
  and notified, and records the reopening note in the audit log
- Reopen... button in the report queue action bar, gated to resolved and
  dismissed reports, with optional note prompt and tooltip
- Success confirmations for Assign, Resolve/Dismiss and Reopen now survive
  the list refresh via a pending status message instead of being clobbered
- Dispatch/auth coverage in server_moderator_role_test

* [Report] Surface resolution audit info in report details

- Add resolved_by_name to ServerInfo_Report and join resolved_by users in
  the report list, my-list and details queries
- Render resolution note and resolved-at/by in the report detail pane
  instead of duplicating the description into the chat log context

* [Report] Add context menu to report queue rows

- Open the standard UserContextMenu on right-click/Menu key for the
  reported user, selecting the row first so the details panel matches
  the menu target
- Carry the reported user's level in ServerInfo_Report so the menu
  shows the same actions as the user list, with an IsUser fallback for
  deleted or unregistered users
- Wire the Private chat action through TabReport to TabSupervisor and
  retranslate the menu on live language switches

* [Server] Fix reported_user_level column indices in report queries

The SELECT lists resolved_by_name at index 10, shifting room_id to 11,
replay_id to 12, reported_user_id to 13 and reported_user_admin to 14.
The code read 12/13, so 'user exists' meant 'a replay exists' and the
admin flags came from the user id (e.g. id 5 -> admin+judge; users
without a replay reported as unregistered, hiding registered-only
actions). Fixed in cmdReportList and cmdReportMyList, plus the column
comment.

---------

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
2026-10-11 15:33:47 +02:00

39 lines
905 B
Protocol Buffer

syntax = "proto2";
message ServerInfo_ReportComment {
optional string author_name = 1;
optional string comment_text = 2;
optional int64 comment_time = 3;
optional bool is_moderator = 4;
}
message ServerInfo_Report {
optional int32 report_id = 1;
optional string reporter_name = 2;
optional string reported_user_name = 3;
optional int32 game_id = 4;
optional int32 replay_id = 5;
optional int32 room_id = 6;
optional string category = 7;
optional string status = 8;
optional string description = 9;
optional int64 report_time = 10;
optional string assigned_mod_name = 11;
optional int64 resolution_time = 12;
repeated ServerInfo_ReportComment comments = 13;
optional string chat_log = 14;
optional string resolution_note = 15;
optional string resolved_by_name = 16;
optional int32 reported_user_level = 17;
}