diff --git a/app/Http/Controllers/StudentController.php b/app/Http/Controllers/StudentController.php index 6eb87c7..4c21b21 100644 --- a/app/Http/Controllers/StudentController.php +++ b/app/Http/Controllers/StudentController.php @@ -2,9 +2,66 @@ namespace App\Http\Controllers; +use App\Models\User; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; class StudentController extends Controller { - // + /** + * Display a listing of the resource. + */ + public function index() + { + $students = Auth::user()->students(); + return view('students.index',['students' => $students]); + } + + /** + * Show the form for creating a new resource. + */ + public function create() + { + // + } + + /** + * Store a newly created resource in storage. + */ + public function store(Request $request) + { + // + } + + /** + * Display the specified resource. + */ + public function show(User $user) + { + // + } + + /** + * Show the form for editing the specified resource. + */ + public function edit(User $user) + { + // + } + + /** + * Update the specified resource in storage. + */ + public function update(Request $request, User $user) + { + // + } + + /** + * Remove the specified resource from storage. + */ + public function destroy(User $user) + { + // + } } diff --git a/app/Models/User.php b/app/Models/User.php index 41d9828..20dcae4 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -69,6 +69,11 @@ class User extends Authenticatable implements MustVerifyEmail return $this->belongsTo(School::class); } + public function students(): HasManyThrough + { + return $this->hasManyThrough(Student::class, School::class); + } + /** * Return an array of schools using the users email domiain diff --git a/resources/views/components/layout/nav-link.blade.php b/resources/views/components/layout/nav-link.blade.php new file mode 100644 index 0000000..e17f0c6 --- /dev/null +++ b/resources/views/components/layout/nav-link.blade.php @@ -0,0 +1,6 @@ +@props(['active' => false]) + +{{ $slot }} diff --git a/resources/views/components/layout/navbar.blade.php b/resources/views/components/layout/navbar.blade.php index c82e138..c4cd8ca 100644 --- a/resources/views/components/layout/navbar.blade.php +++ b/resources/views/components/layout/navbar.blade.php @@ -14,8 +14,11 @@ @@ -137,7 +140,7 @@
Dashboard - Students + Students
diff --git a/resources/views/students/index.blade.php b/resources/views/students/index.blade.php new file mode 100644 index 0000000..a88bd57 --- /dev/null +++ b/resources/views/students/index.blade.php @@ -0,0 +1,3 @@ + + Students + diff --git a/resources/views/test.blade.php b/resources/views/test.blade.php index 755cea8..c77ff5b 100644 --- a/resources/views/test.blade.php +++ b/resources/views/test.blade.php @@ -2,12 +2,6 @@ Test Page -
- @csrf - @method('PATCH') - - -
- + {{ request()->is('test') ? 'yes':'no' }}
diff --git a/routes/web.php b/routes/web.php index fad306b..484ee23 100644 --- a/routes/web.php +++ b/routes/web.php @@ -2,23 +2,35 @@ use App\Http\Controllers\DashboardController; use App\Http\Controllers\SchoolController; +use App\Http\Controllers\StudentController; 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::patch('/users/{user}/set_school', [UserController::class, 'set_school']); +Route::view('/test','test')->middleware('auth','verified'); Route::view('/','welcome')->middleware('guest'); +// Dashboard Related Routes +Route::middleware(['auth','verified'])->group(function () { + 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']); +}); +// Student Related Routes +Route::middleware(['auth','verified'])->controller(StudentController::class)->group(function() { + Route::get('/students','index'); +}); + + + + + + +// School Related Routes Route::middleware(['auth','verified'])->controller(SchoolController::class)->group(function() { - // Route::get('/my_school','my_school'); Route::get('/schools/create', 'create'); Route::post('/schools','store'); Route::get('/schools/{school}/edit','edit');