where('status','pending')->latest()->get(); $resolved = RewardRedemption::with(['user','reward','resolver'])->whereIn('status',['approved','rejected'])->latest()->take(50)->get(); return view('admin.redemptions.index', compact('pending','resolved')); } public function approve(RewardRedemption $redemption) { if ($redemption->status !== 'pending') abort(422); $redemption->update([ 'status' => 'approved', 'resolved_at' => now(), 'resolved_by' => auth()->id(), ]); return back()->with('success','Freigegeben!'); } public function reject(Request $r, RewardRedemption $redemption) { if ($redemption->status !== 'pending') abort(422); $redemption->update([ 'status' => 'rejected', 'note' => $r->note, 'resolved_at' => now(), 'resolved_by' => auth()->id(), ]); // Punkte zurückgeben $redemption->user->increment('points', $redemption->points_spent); return back()->with('success','Abgelehnt, Punkte zurückgebucht.'); } }