feat: Reset-Button für Kinder-Konten im Admin-Bereich

This commit is contained in:
root
2026-05-05 14:54:00 +00:00
parent 520465b57c
commit 8810721dfb
3 changed files with 17 additions and 2 deletions
@@ -42,4 +42,12 @@ class UserController extends Controller {
$user->delete(); $user->delete();
return redirect()->route('admin.users.index')->with('success','Konto gelöscht.'); return redirect()->route('admin.users.index')->with('success','Konto gelöscht.');
} }
public function reset(User $user) {
$user->attempts()->delete();
$user->redemptions()->delete();
$user->update(['points' => 0]);
return redirect()->route('admin.users.index')
->with('success', $user->name . ': Punktestand und Verlauf zurückgesetzt.');
}
} }
+8 -2
View File
@@ -23,9 +23,15 @@
<td class="px-4 py-3 text-slate-500">{{ $u->email }}</td> <td class="px-4 py-3 text-slate-500">{{ $u->email }}</td>
<td class="px-4 py-3 text-right font-bold text-amber-600">{{ $u->points }}</td> <td class="px-4 py-3 text-right font-bold text-amber-600">{{ $u->points }}</td>
<td class="px-4 py-3 text-right text-slate-500">{{ $u->attempts_count }}</td> <td class="px-4 py-3 text-right text-slate-500">{{ $u->attempts_count }}</td>
<td class="px-4 py-3 text-right"> <td class="px-4 py-3 text-right whitespace-nowrap">
<a href="{{ route('admin.users.edit',$u) }}" class="text-violet-600 hover:underline mr-3">Bearbeiten</a> <a href="{{ route('admin.users.edit',$u) }}" class="text-violet-600 hover:underline mr-3">Bearbeiten</a>
<form method="POST" action="{{ route('admin.users.destroy',$u) }}" class="inline" onsubmit="return confirm('Wirklich löschen?')"> <form method="POST" action="{{ route('admin.users.reset',$u) }}" class="inline"
onsubmit="return confirm('Punktestand und Verlauf von {{ $u->name }} wirklich zurücksetzen?')">
@csrf
<button class="text-orange-500 hover:underline mr-3">Zurücksetzen</button>
</form>
<form method="POST" action="{{ route('admin.users.destroy',$u) }}" class="inline"
onsubmit="return confirm('Konto von {{ $u->name }} wirklich löschen?')">
@csrf @method('DELETE') @csrf @method('DELETE')
<button class="text-red-500 hover:underline">Löschen</button> <button class="text-red-500 hover:underline">Löschen</button>
</form> </form>
+1
View File
@@ -16,6 +16,7 @@ Route::middleware(['auth','verified'])->get('/dashboard', function () {
Route::middleware(['auth','admin'])->prefix('admin')->name('admin.')->group(function () { Route::middleware(['auth','admin'])->prefix('admin')->name('admin.')->group(function () {
Route::get('/', [Admin\DashboardController::class, 'index'])->name('dashboard'); Route::get('/', [Admin\DashboardController::class, 'index'])->name('dashboard');
Route::resource('users', Admin\UserController::class); Route::resource('users', Admin\UserController::class);
Route::post('users/{user}/reset', [Admin\UserController::class, 'reset'])->name('admin.users.reset');
Route::resource('questions',Admin\QuestionController::class); Route::resource('questions',Admin\QuestionController::class);
Route::resource('rewards', Admin\RewardController::class)->except('show'); Route::resource('rewards', Admin\RewardController::class)->except('show');
Route::get ('redemptions', [Admin\RedemptionController::class,'index']) ->name('redemptions.index'); Route::get ('redemptions', [Admin\RedemptionController::class,'index']) ->name('redemptions.index');