Fix all page controllers and missing enums
- Update all controllers to pass required variables to views - Add MediaTypeEnum, OrderTypeEnum, TrackingActionTypeEnum enums - Fix RoleEnum, OrderStatusEnum completeness Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -3,27 +3,59 @@
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
|
||||
class UserController extends Controller
|
||||
{
|
||||
public function index()
|
||||
public function index(Request $request)
|
||||
{
|
||||
return view('user.index');
|
||||
$size = $request->get('size', 20);
|
||||
$role = $request->get('role');
|
||||
$status = $request->get('status');
|
||||
$search = $request->get('search');
|
||||
|
||||
$query = DB::table('users')->orderByDesc('id');
|
||||
if ($role) $query->where('role', $role);
|
||||
if ($status) $query->where('status', $status);
|
||||
if ($search) $query->where('name', 'like', "%$search%")->orWhere('phone', 'like', "%$search%");
|
||||
|
||||
$users = $query->paginate($size)->withQueryString();
|
||||
|
||||
$roleStats = DB::table('users')->selectRaw('role, count(*) as cnt')->groupBy('role')->pluck('cnt', 'role');
|
||||
$statusStats = DB::table('users')->selectRaw('status, count(*) as cnt')->groupBy('status')->pluck('cnt', 'status');
|
||||
$user = auth()->user();
|
||||
$message = session('message');
|
||||
|
||||
return view('user.index', compact('users', 'roleStats', 'statusStats', 'user', 'message', 'size'));
|
||||
}
|
||||
|
||||
public function create(Request $request)
|
||||
{
|
||||
return redirect()->route('user.index');
|
||||
DB::table('users')->insert([
|
||||
'name' => $request->name,
|
||||
'phone' => $request->phone,
|
||||
'password' => Hash::make($request->password ?? '12345678'),
|
||||
'avatar' => '/assets/images/users/avatar-5.jpg',
|
||||
'status' => 'active',
|
||||
'role' => $request->role ?? 'user',
|
||||
'balance' => 0,
|
||||
'created_at' => now(),
|
||||
'updated_at' => now(),
|
||||
]);
|
||||
return redirect()->route('user.index')->with('message', 'User created');
|
||||
}
|
||||
|
||||
public function show($id)
|
||||
{
|
||||
return view('user.show', compact('id'));
|
||||
$user = DB::table('users')->find($id);
|
||||
return view('user.show', compact('user'));
|
||||
}
|
||||
|
||||
public function edit()
|
||||
{
|
||||
return view('user.edit');
|
||||
$user = auth()->user();
|
||||
return view('user.edit', compact('user'));
|
||||
}
|
||||
|
||||
public function update(Request $request)
|
||||
@@ -43,22 +75,30 @@ class UserController extends Controller
|
||||
|
||||
public function activate($id)
|
||||
{
|
||||
DB::table('users')->where('id', $id)->update(['status' => 'active']);
|
||||
return redirect()->back();
|
||||
}
|
||||
|
||||
public function block($id)
|
||||
{
|
||||
DB::table('users')->where('id', $id)->update(['status' => 'inactive']);
|
||||
return redirect()->back();
|
||||
}
|
||||
|
||||
public function appraisers()
|
||||
public function appraisers(Request $request)
|
||||
{
|
||||
return view('user.appraisers');
|
||||
$size = $request->get('size', 20);
|
||||
$users = DB::table('users')->where('role', 'appraiser')->paginate($size);
|
||||
$roleStats = DB::table('users')->selectRaw('role, count(*) as cnt')->groupBy('role')->pluck('cnt', 'role');
|
||||
$statusStats = DB::table('users')->selectRaw('status, count(*) as cnt')->groupBy('status')->pluck('cnt', 'status');
|
||||
$user = auth()->user();
|
||||
return view('user.appraisers', compact('users', 'roleStats', 'statusStats', 'user', 'size'));
|
||||
}
|
||||
|
||||
public function appraisersBonus()
|
||||
{
|
||||
return view('user.appraisers-bonus');
|
||||
$users = DB::table('users')->where('role', 'appraiser')->get();
|
||||
return view('user.appraisers-bonus', compact('users'));
|
||||
}
|
||||
|
||||
public function destroy($id)
|
||||
|
||||
Reference in New Issue
Block a user