Files
Faculty-Documentation/app/Http/Controllers/CoordinatorController.php
2025-03-23 16:18:07 +05:30

67 lines
2.2 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Yajra\DataTables\Facades\DataTables;
use Illuminate\Support\Facades\Auth;
use App\Models\ActivitiesAttended;
class CoordinatorController extends Controller
{
// Coordinator dashboard (optional)
public function index()
{
return view('coordinator.dashboard');
}
// View responses submitted by users
public function viewActivitiesAttendedResponses()
{
return view('coordinator.activities-attended-responses');
}
public function getActivitiesAttendedResponses()
{
// Get the current logged-in user
$currentUser = Auth::user();
// Get the department ID of the current user
$userDepartmentId = $currentUser->department->id ?? null;
// Fetch the responses and filter by department_id
$responses = ActivitiesAttended::with('user', 'department')
->where('department_id', $userDepartmentId); // Filter by current user's department_id
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);
}
}