Fix group management errors

This commit is contained in:
DariusIII
2025-11-17 17:08:37 +01:00
parent 3e4806f0ea
commit 3ff447144c
2 changed files with 13 additions and 2 deletions
@@ -83,6 +83,7 @@ class AdminAjaxController extends BasePageController
case 'toggle_group_active_status':
$groupId = (int) $request->input('group_id');
$status = $request->has('group_status') ? (int) $request->input('group_status') : 0;
$message = UsenetGroup::updateGroupStatus($groupId, 'active', $status);
return response()->json([
+12 -2
View File
@@ -348,8 +348,18 @@ class UsenetGroup extends Model
*/
public static function resetall(): bool
{
foreach (self::$cbpm as $tablePrefix) {
DB::statement("TRUNCATE TABLE {$tablePrefix}");
// Disable foreign key checks to allow truncating tables with foreign key constraints
DB::statement('SET FOREIGN_KEY_CHECKS=0');
try {
// Truncate tables in reverse order to respect foreign key relationships
// (child tables first: missed_parts, parts, binaries, then parent: collections)
foreach (array_reverse(self::$cbpm) as $tablePrefix) {
DB::statement("TRUNCATE TABLE {$tablePrefix}");
}
} finally {
// Always re-enable foreign key checks, even if truncate fails
DB::statement('SET FOREIGN_KEY_CHECKS=1');
}
// Reset the group stats.