diff --git a/app/Http/Controllers/StudentController.php b/app/Http/Controllers/StudentController.php index 90faf62..51be547 100644 --- a/app/Http/Controllers/StudentController.php +++ b/app/Http/Controllers/StudentController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers; +use App\Models\Student; use App\Models\User; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; @@ -36,7 +37,7 @@ class StudentController extends Controller /** * Display the specified resource. */ - public function show(User $user) + public function show(Request $request, Student $student) { // } @@ -44,9 +45,10 @@ class StudentController extends Controller /** * Show the form for editing the specified resource. */ - public function edit(User $user) + public function edit(Request $request, Student $student) { - // + if ($request->user()->cannot('update', $student)) abort(403); + return view('students.edit', ['student' => $student]); } /** diff --git a/app/Policies/StudentPolicy.php b/app/Policies/StudentPolicy.php index a782a5c..6d1304b 100644 --- a/app/Policies/StudentPolicy.php +++ b/app/Policies/StudentPolicy.php @@ -8,6 +8,14 @@ use Illuminate\Auth\Access\Response; class StudentPolicy { + /** + * Grant admin users access to all functions + */ + public function before(User $user, string $ability): bool|null + { + if($user->is_admin) return true; + return null; + } /** * Determine whether the user can view any models. */ @@ -37,7 +45,7 @@ class StudentPolicy */ public function update(User $user, Student $student): bool { - // + return $user->school_id == $student->school_id; } /** diff --git a/resources/views/components/layout/page-section.blade.php b/resources/views/components/layout/page-section.blade.php index 897c3e9..0a3e1dc 100644 --- a/resources/views/components/layout/page-section.blade.php +++ b/resources/views/components/layout/page-section.blade.php @@ -8,13 +8,13 @@ $topPadding = ($first) ? '':'pt-10'; @endphp -
+

{{ $section_name }}

{{ $section_description }}

-
+
{{ $slot }}
diff --git a/resources/views/schools/create.blade.php b/resources/views/schools/create.blade.php index 371f8d3..d38cf31 100644 --- a/resources/views/schools/create.blade.php +++ b/resources/views/schools/create.blade.php @@ -10,6 +10,7 @@ submit-button-text="Create School" method="POST" action="/schools" + cols="9" > diff --git a/resources/views/students/index.blade.php b/resources/views/students/index.blade.php index 4ab2468..12d1ddb 100644 --- a/resources/views/students/index.blade.php +++ b/resources/views/students/index.blade.php @@ -6,32 +6,12 @@ Students - - - Students {{ $students->count() }} - Before submitting entries, you must enter your students - Add Student - - - - - Name - Grade - - Edit - - - @foreach($students as $student) - - {{ $student->full_name(true) }} - {{ $student->grade }} - - Edit - - - @endforeach - - - - + + Create Student + Student full names must be unique. Add a middle initial to the first name if necessary. + + + + + diff --git a/resources/views/students/index.blade.php.bak b/resources/views/students/index.blade.php.bak new file mode 100644 index 0000000..4ab2468 --- /dev/null +++ b/resources/views/students/index.blade.php.bak @@ -0,0 +1,37 @@ +@php use Illuminate\Support\Facades\Auth; @endphp +@push('scripts') +{{-- Code from https://codepen.io/ryangjchandler/pen/WNQQKeR--}} + +@endpush + + Students + + + + Students {{ $students->count() }} + Before submitting entries, you must enter your students + Add Student + + + + + Name + Grade + + Edit + + + @foreach($students as $student) + + {{ $student->full_name(true) }} + {{ $student->grade }} + + Edit + + + @endforeach + + + + + diff --git a/routes/web.php b/routes/web.php index 484ee23..47fb3fe 100644 --- a/routes/web.php +++ b/routes/web.php @@ -22,6 +22,7 @@ Route::middleware(['auth','verified'])->group(function () { // Student Related Routes Route::middleware(['auth','verified'])->controller(StudentController::class)->group(function() { Route::get('/students','index'); + Route::get('/students/{student}/edit','edit'); });