Update release reporting

This commit is contained in:
DariusIII
2026-02-05 10:53:21 +01:00
parent b3c20ad3b2
commit a22afcb8da
9 changed files with 308 additions and 6 deletions
@@ -96,13 +96,33 @@ class AdminReleaseReportController extends BasePageController
return redirect()->back()->with('success', 'Report dismissed successfully.');
}
/**
* Revert a resolved or dismissed report back to reviewed status.
*/
public function revert(int $id): RedirectResponse
{
$report = ReleaseReport::findOrFail($id);
if (! in_array($report->status, ['resolved', 'dismissed'])) {
return redirect()->back()->with('error', 'Only resolved or dismissed reports can be reverted.');
}
$report->update([
'status' => 'reviewed',
'reviewed_by' => Auth::id(),
'reviewed_at' => now(),
]);
return redirect()->back()->with('success', 'Report reverted to reviewed status successfully.');
}
/**
* Bulk update report statuses.
*/
public function bulkAction(Request $request): RedirectResponse
{
$request->validate([
'action' => 'required|in:dismiss,resolve,reviewed,delete',
'action' => 'required|in:dismiss,resolve,reviewed,delete,revert',
'report_ids' => 'required|array',
'report_ids.*' => 'integer',
]);
@@ -145,6 +165,12 @@ class AdminReleaseReportController extends BasePageController
'reviewed_by' => Auth::id(),
'reviewed_at' => now(),
]);
} elseif ($action === 'revert' && in_array($report->status, ['resolved', 'dismissed'])) {
$report->update([
'status' => 'reviewed',
'reviewed_by' => Auth::id(),
'reviewed_at' => now(),
]);
}
$count++;
@@ -155,6 +181,7 @@ class AdminReleaseReportController extends BasePageController
'dismiss' => 'dismissed',
'resolve' => 'resolved',
'reviewed' => 'marked as reviewed',
'revert' => 'reverted to reviewed',
default => 'processed',
};