add: Seperate dashboards for all types of users

This commit is contained in:
Sallu9007
2025-01-26 01:49:34 +05:30
parent 9ad7f0939c
commit 7cd4a4c642
13 changed files with 262 additions and 9 deletions

View File

@@ -0,0 +1,25 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class AdminController extends Controller
{
// Admin dashboard (optional)
public function index()
{
return view('admin.dashboard');
}
// View responses submitted by users
public function viewResponses()
{
// Logic to fetch responses from the database
// For example, you could fetch all responses from a 'responses' table
// $responses = Response::all(); // Replace with your actual model
// return view('admin.responses', compact('responses'));
return view('admin.responses');
}
}

View File

@@ -0,0 +1,24 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class CoordinatorController extends Controller
{
// Coordinator dashboard (optional)
public function index()
{
return view('coordinator.dashboard');
}
// View responses submitted by users
public function viewResponses()
{
// Logic to fetch responses for Coordinator
// $responses = Response::where('department_id', auth()->user()->department_id)->get(); // Example query
// return view('coordinator.responses', compact('responses'));
return view('coordinator.responses');
}
}

View File

@@ -0,0 +1,39 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class FacultyController extends Controller
{
// Faculty dashboard (optional)
public function index()
{
return view('faculty.dashboard');
}
// Faculty response form
public function responseForm()
{
// Logic to show the response form
return view('faculty.response-form');
}
// Handle form submission from faculty
public function submitResponse(Request $request)
{
// Validate and handle the form submission
$validated = $request->validate([
'response' => 'required|string',
]);
// Save the response, perhaps to a 'responses' table
// Response::create([
// 'faculty_id' => auth()->user()->id,
// 'response' => $validated['response'],
// ]);
// Redirect or return a success message
return redirect()->route('faculty.dashboard')->with('status', 'Response submitted successfully');
}
}

View File

@@ -0,0 +1,25 @@
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
use Illuminate\Support\Facades\Auth;
class CheckRole
{
/**
* Handle an incoming request.
*
* @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
*/
public function handle(Request $request, Closure $next, $role)
{
if (Auth::check() && Auth::user()->role->name === $role) {
return $next($request);
}
abort(403, 'Unauthorized access.');
}
}