From 06dd3ba574b561dc798d892d2ff5cd92b167d967 Mon Sep 17 00:00:00 2001 From: Matt Young Date: Tue, 28 May 2024 22:35:15 -0500 Subject: [PATCH] Choosing a school working --- app/Http/Controllers/UserController.php | 80 +++++++++++++++++++ .../views/dashboard/select_school.blade.php | 28 ++++--- routes/web.php | 10 ++- 3 files changed, 105 insertions(+), 13 deletions(-) create mode 100644 app/Http/Controllers/UserController.php diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php new file mode 100644 index 0000000..790b132 --- /dev/null +++ b/app/Http/Controllers/UserController.php @@ -0,0 +1,80 @@ +validate([ + 'school_id' => ['required','integer','exists:schools,id'] + ]); + + $user->update([ + 'school_id' => request('school_id') + ]); + + // TODO we probably don't want to go here if done from an admin page + return redirect('/my_school'); + } +} diff --git a/resources/views/dashboard/select_school.blade.php b/resources/views/dashboard/select_school.blade.php index d911ac0..a05398d 100644 --- a/resources/views/dashboard/select_school.blade.php +++ b/resources/views/dashboard/select_school.blade.php @@ -10,16 +10,24 @@ @foreach($possibilities as $possibility) @php $school = $possibility->school; @endphp - - - - {{ $school->name }} - {{ $school->city }}, {{ $school->state }} - - Choose - + +
+ @csrf + @method('PATCH') + + + + + {{ $school->name }} + {{ $school->city }}, {{ $school->state }} + + Choose + +
@endforeach
diff --git a/routes/web.php b/routes/web.php index a3f2bfa..fad306b 100644 --- a/routes/web.php +++ b/routes/web.php @@ -2,13 +2,17 @@ use App\Http\Controllers\DashboardController; use App\Http\Controllers\SchoolController; +use App\Http\Controllers\UserController; +use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Route; Route::view('/test','test'); -Route::get('dashboard', [DashboardController::class, 'dashboard']); -Route::get('profile', [DashboardController::class, 'profile']); -Route::get('my_school', [DashboardController::class, 'my_school']); +Route::get('/dashboard', [DashboardController::class, 'dashboard']); +Route::get('/profile', [DashboardController::class, 'profile']); +Route::get('/my_school', [DashboardController::class, 'my_school']); + +Route::patch('/users/{user}/set_school', [UserController::class, 'set_school']); Route::view('/','welcome')->middleware('guest');