Geloeschte Berater: Loeschpraefix mit User-ID auch in der User-Bereinigung

Log-Analyse 26.08. (P1-3): user:cleanup scheiterte tagelang an derselben
E-Mail-Kollision, weil "delete-<mail>" beim zweiten Loeschen derselben
Adresse doppelt vorkam. UserUtil::buildDeletedEmail() haengt die User-ID an
(seit b7e8bbd); die Wiederherstellen-Schaltflaeche entfernt jetzt auch das
neue Praefix (stripDeletePrefix) statt nur "delete-". Tests fuer beide
Formate.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Kevin 2026-09-23 15:42:00 +00:00
parent 8f85c0107c
commit 22dcc0f972
2 changed files with 55 additions and 1 deletions

View file

@ -5,6 +5,7 @@ namespace App\Http\Controllers;
use App\Models\ShoppingUser;
use App\Models\ShoppingUserMemberLog;
use App\Models\UserCleanUpLog;
use App\Services\UserUtil;
use App\User;
use Carbon\Carbon;
use Illuminate\Http\Request;
@ -137,7 +138,7 @@ class AdminUserCleanupController extends Controller
// Restore-Button für gelöschte User
if ($user->pre_deleted_at) {
$html .= ' <button class="btn btn-sm btn-success" data-toggle="modal" data-target="#modal-restore-user" data-id="'.$user->id.'" data-email="'.str_replace('delete-', '', $user->email).'" title="Wiederherstellen"><i class="fa fa-undo"></i></button>';
$html .= ' <button class="btn btn-sm btn-success" data-toggle="modal" data-target="#modal-restore-user" data-id="'.$user->id.'" data-email="'.UserUtil::stripDeletePrefix($user->email).'" title="Wiederherstellen"><i class="fa fa-undo"></i></button>';
}
return $html;