Files
Faculty-Documentation/app/Http/Controllers/AdminController.php
2025-01-27 01:05:01 +05:30

58 lines
1.8 KiB
PHP

<?php
namespace App\Http\Controllers;
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Yajra\DataTables\Facades\DataTables;
use App\Models\Response;
class AdminController extends Controller
{
// Admin dashboard (optional)
public function index()
{
return view('admin.dashboard');
}
// View responses submitted by users
public function viewResponses()
{
return view('admin.responses');
}
public function getResponses()
{
$responses = Response::with('user', 'department');
return DataTables::of($responses)
->addColumn('user_name', function ($response) {
return $response->user->name ?? 'Unknown';
})
->addColumn('department_name', function ($response) {
return $response->department->name ?? 'Unknown';
})
->addColumn('start_date', function ($response) {
return \Carbon\Carbon::parse($response->start_date)->format('d-m-Y');
})
->addColumn('start_time', function ($response) {
return \Carbon\Carbon::parse($response->start_date)->format('h:i A');
})
->addColumn('end_date', function ($response) {
return \Carbon\Carbon::parse($response->end_date)->format('d-m-Y');
})
->addColumn('end_time', function ($response) {
return \Carbon\Carbon::parse($response->end_date)->format('h:i A');
})
->addColumn('action', function ($response) {
$viewButton = $response->proof
? '<a href="' . asset('storage/' . $response->proof) . '" target="_blank" class="btn btn-sm btn-primary">View</a>'
: 'No Proof';
return $viewButton;
})
->rawColumns(['action'])
->make(true);
}
}