67 lines
2.2 KiB
PHP
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);
|
|
}
|
|
|
|
}
|