diff --git a/app/Http/Controllers/ActivitiesAttendedController.php b/app/Http/Controllers/ActivitiesAttendedController.php
index 5cb600b..cada4f9 100644
--- a/app/Http/Controllers/ActivitiesAttendedController.php
+++ b/app/Http/Controllers/ActivitiesAttendedController.php
@@ -108,7 +108,7 @@ class ActivitiesAttendedController extends Controller
return response()->json(['success' => 'Record deleted successfully']);
}
- public function getActivitiesAttendedResponses()
+ public function getActivitiesAttendedResponses(Request $request)
{
$user = auth()->user();
$isAdmin = $user->role->name === 'Admin';
@@ -130,6 +130,25 @@ class ActivitiesAttendedController extends Controller
->where('faculty_id', $user->id);
}
+ // Apply filters
+ if ($request->has('department') && !empty($request->department)) {
+ $responses->whereHas('department', function ($query) use ($request) {
+ $query->where('id', $request->department);
+ });
+ }
+
+ if ($request->has('category') && !empty($request->category)) {
+ $responses->where('category', $request->category);
+ }
+
+ if ($request->has('dateFrom') && !empty($request->dateFrom)) {
+ $responses->where('start_date', '>=', $request->dateFrom);
+ }
+
+ if ($request->has('dateTo') && !empty($request->dateTo)) {
+ $responses->where('end_date', '<=', $request->dateTo);
+ }
+
return DataTables::of($responses)
->addColumn('user_name', function ($response) {
return $response->user->name ?? 'Unknown';
@@ -175,7 +194,6 @@ class ActivitiesAttendedController extends Controller
$deleteRoute = route('activitiesAttended.destroy', $response->id);
$actions[] = '';
-
return implode(' ', $actions);
})
->rawColumns(['action'])
diff --git a/app/Http/Controllers/AdminController.php b/app/Http/Controllers/AdminController.php
index 48c68af..0f7846e 100644
--- a/app/Http/Controllers/AdminController.php
+++ b/app/Http/Controllers/AdminController.php
@@ -7,6 +7,7 @@ namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Yajra\DataTables\Facades\DataTables;
use App\Models\ActivitiesAttended;
+use App\Models\Department;
use Illuminate\Support\Facades\Storage;
class AdminController extends Controller
@@ -20,7 +21,8 @@ class AdminController extends Controller
// View responses submitted by users
public function viewActivitiesAttendedResponses()
{
- return view('activities-attended.index');
+ $departments = Department::all();
+ return view('activities-attended.index', compact('departments'));
}
public function viewActivitiesOrganisedResponses()
{
diff --git a/app/Http/Controllers/CoordinatorController.php b/app/Http/Controllers/CoordinatorController.php
index 5feb1e6..632faaa 100644
--- a/app/Http/Controllers/CoordinatorController.php
+++ b/app/Http/Controllers/CoordinatorController.php
@@ -6,6 +6,7 @@ use Illuminate\Http\Request;
use Yajra\DataTables\Facades\DataTables;
use Illuminate\Support\Facades\Auth;
use App\Models\ActivitiesAttended;
+use App\Models\Department;
class CoordinatorController extends Controller
{
@@ -18,7 +19,8 @@ class CoordinatorController extends Controller
// View responses submitted by users
public function viewActivitiesAttendedResponses()
{
- return view('activities-attended.index');
+ $departments = Department::all();
+ return view('activities-attended.index', compact('departments'));
}
public function viewActivitiesOrganisedResponses()
@@ -53,5 +55,4 @@ class CoordinatorController extends Controller
{
return view('patents.index');
}
-
}
diff --git a/app/Http/Controllers/DepartmentController.php b/app/Http/Controllers/DepartmentController.php
index 3133f84..dcb67e8 100644
--- a/app/Http/Controllers/DepartmentController.php
+++ b/app/Http/Controllers/DepartmentController.php
@@ -73,4 +73,10 @@ class DepartmentController extends Controller
$department->delete();
return response()->noContent();
}
+
+ public function getDepartments()
+ {
+ $departments = Department::all();
+ return response()->json($departments);
+ }
}
diff --git a/app/Http/Controllers/FacultyController.php b/app/Http/Controllers/FacultyController.php
index aa27aaf..a43a194 100644
--- a/app/Http/Controllers/FacultyController.php
+++ b/app/Http/Controllers/FacultyController.php
@@ -6,6 +6,7 @@ use Illuminate\Http\Request;
use App\Models\ActivitiesAttended;
use App\Models\ActivitiesOrganised;
use App\Models\BooksPublished;
+use App\Models\Department;
use App\Models\ExternalEngagement;
use App\Models\IvOrganised;
use App\Models\OnlineCourse;
@@ -29,7 +30,8 @@ class FacultyController extends Controller
public function viewActivitiesAttendedResponses()
{
- return view('activities-attended.index');
+ $departments = Department::all();
+ return view('activities-attended.index', compact('departments'));
}
public function ActivitiesOrganisedForm()
{
diff --git a/resources/views/activities-attended/index.blade.php b/resources/views/activities-attended/index.blade.php
index 885aa3b..59f251c 100644
--- a/resources/views/activities-attended/index.blade.php
+++ b/resources/views/activities-attended/index.blade.php
@@ -1,69 +1,209 @@
@extends('layouts.app')
@section('content')
-
-
-
-
- All Responses
-
-
-
-
-
-
-
-
- | ID |
- Title |
- Organising Institute |
- Address |
- Department |
- Faculty |
- Start Date |
-
- End Date |
-
- Num Days |
- Activity Type |
- Category |
- Level |
-
- Proof |
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+ Department
+
+
+
+
+
+
+ Category
+
+
+
+
+
+
+
+
+
+
+
+ | ID |
+ Title |
+ Organising Institute |
+ Address |
+ Department |
+ Faculty |
+ Start Date |
+ End Date |
+ Days |
+ Activity Type |
+ Category |
+ Level |
+ Actions |
+
+
+
+
+
+
+
+
+
+
+@if(auth()->user()->role->name === 'Admin')
+
+@endif
+
@endsection
@section('scripts')
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
@endsection
\ No newline at end of file
diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php
index 79bd902..b4cfb67 100644
--- a/resources/views/layouts/app.blade.php
+++ b/resources/views/layouts/app.blade.php
@@ -1,37 +1,205 @@
-
-
-
-
+
+
+
+
-
{{ config('app.name', 'Laravel') }}
+
{{ config('app.name', 'Faculty Portal') }}
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
- @vite(['resources/css/app.css', 'resources/js/app.js'])
-
-
-
- @include('layouts.navigation')
+
+ @vite(['resources/css/app.css', 'resources/js/app.js'])
+
-
- @hasSection('header')
-
- @endif
+
+
+ @include('layouts.navigation')
-
-
- @yield('content')
-
-
-
+
+ @hasSection('header')
+
+ @endif
+
+
+
+ @yield('content')
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@yield('scripts')
-
+
+