feat: Lernapp mit Mathe/Deutsch/Englisch, Münzsystem und Belohnungen
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
namespace App\Http\Controllers\Admin;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\RewardRedemption;
|
||||
use Illuminate\Http\Request;
|
||||
class RedemptionController extends Controller {
|
||||
public function index() {
|
||||
$pending = RewardRedemption::with(['user','reward'])->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.');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user