Refactor: responses as ActivitesAttended

This commit is contained in:
Sallu9007
2025-03-23 16:18:07 +05:30
parent e27937c29f
commit 8c4e18e702
13 changed files with 72 additions and 72 deletions

View File

@@ -6,7 +6,7 @@ namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Yajra\DataTables\Facades\DataTables;
use App\Models\Response;
use App\Models\ActivitiesAttended;
class AdminController extends Controller
{
@@ -17,14 +17,14 @@ class AdminController extends Controller
}
// View responses submitted by users
public function viewResponses()
public function viewActivitiesAttendedResponses()
{
return view('admin.responses');
return view('admin.activities-attended-responses');
}
public function getResponses()
{
$responses = Response::with('user', 'department');
public function getActivitiesAttendedResponses()
{
$responses = ActivitiesAttended::with('user', 'department');
return DataTables::of($responses)
->addColumn('user_name', function ($response) {
@@ -53,5 +53,5 @@ class AdminController extends Controller
})
->rawColumns(['action'])
->make(true);
}
}
}

View File

@@ -5,7 +5,7 @@ namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Yajra\DataTables\Facades\DataTables;
use Illuminate\Support\Facades\Auth;
use App\Models\Response;
use App\Models\ActivitiesAttended;
class CoordinatorController extends Controller
{
@@ -16,13 +16,13 @@ class CoordinatorController extends Controller
}
// View responses submitted by users
public function viewResponses()
public function viewActivitiesAttendedResponses()
{
return view('coordinator.responses');
return view('coordinator.activities-attended-responses');
}
public function getResponses()
public function getActivitiesAttendedResponses()
{
// Get the current logged-in user
$currentUser = Auth::user();
@@ -31,7 +31,7 @@ public function getResponses()
$userDepartmentId = $currentUser->department->id ?? null;
// Fetch the responses and filter by department_id
$responses = Response::with('user', 'department')
$responses = ActivitiesAttended::with('user', 'department')
->where('department_id', $userDepartmentId); // Filter by current user's department_id
return DataTables::of($responses)

View File

@@ -3,7 +3,7 @@
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Response;
use App\Models\ActivitiesAttended;
class FacultyController extends Controller
{
@@ -14,13 +14,13 @@ class FacultyController extends Controller
}
// Faculty response form
public function responseForm()
public function ActivitiesAttendedForm()
{
// Logic to show the response form
return view('faculty.response-form');
return view('faculty.activities-attended-form');
}
public function submitResponse(Request $request)
public function ActivitiesAttendedFormResponse(Request $request)
{
// dd($request->all());
try {
@@ -57,7 +57,7 @@ class FacultyController extends Controller
// Save the response to the database
// dd($validated['organising_institute']);
Response::create([
ActivitiesAttended::create([
'title' => $validated['title'],
'organising_institute' => $validated['organising_institute'],
'address' => $validated['address'],
@@ -76,7 +76,7 @@ class FacultyController extends Controller
return redirect()->route('faculty.dashboard')->with('status', 'Response submitted successfully');
} catch (\Exception $e) {
// Handle the exception and provide an error message
// dd($e);
dd($e);
return back()->withErrors('An error occurred while submitting your response: ' . $e->getMessage());
}
}

View File

@@ -5,7 +5,7 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Response extends Model
class ActivitiesAttended extends Model
{
use HasFactory;

View File

@@ -4,13 +4,13 @@ use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateResponsesTable extends Migration
class CreateActivitiesAttendedsTable extends Migration
{
// Updated Migration
public function up()
{
Schema::create('responses', function (Blueprint $table) {
Schema::create('activities_attendeds', function (Blueprint $table) {
$table->id();
$table->string('title');
$table->string('organising_institute');
@@ -33,6 +33,6 @@ class CreateResponsesTable extends Migration
public function down()
{
Schema::dropIfExists('responses');
Schema::dropIfExists('activities_attendeds');
}
}

View File

@@ -3,10 +3,10 @@
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use App\Models\Response;
use App\Models\ActivitiesAttended;
use Carbon\Carbon;
class ResponsesTableSeeder extends Seeder
class ActivitiesAttendedResponsesTableSeeder extends Seeder
{
/**
* Run the database seeds.
@@ -33,12 +33,12 @@ class ResponsesTableSeeder extends Seeder
$numDays = $startDate->diffInDays($endDate) ?: 1;
// Create the response record
Response::create([
ActivitiesAttended::create([
'title' => $titles[array_rand($titles)], // Random title
'organising_institute' => $organizingInstitutes[array_rand($organizingInstitutes)], // Random organization
'address' => $addresses[array_rand($addresses)], // Random address
'department_id' => rand(1, 5), // Random department ID
'faculty_id' => rand(1, 3), // Random faculty ID
'faculty_id' => rand(1, 2), // Random faculty ID
'start_date' => $startDate->format('Y-m-d H:i:s'), // Start date and time
'end_date' => $endDate->format('Y-m-d H:i:s'), // End date and time
'num_days' => $numDays, // Number of days

View File

@@ -19,7 +19,7 @@ class DatabaseSeeder extends Seeder
RoleSeeder::class,
DepartmentSeeder::class,
UsersTableSeeder::class,
ResponsesTableSeeder::class,
ActivitiesAttendedResponsesTableSeeder::class,
]);
// User::factory()->create([

View File

@@ -184,7 +184,7 @@
};
}
initAjaxRoute("{{ route('admin.responses.data') }}");
initAjaxRoute("{{ route('admin.ActivitiesAttendedResponses.data') }}");
});
</script>

View File

@@ -149,7 +149,7 @@
});
};
initAjaxRoute("{{ route('coordinator.responses.data') }}");
initAjaxRoute("{{ route('coordinator.ActivitiesAttendedResponses.data') }}");
});
</script>

View File

@@ -18,17 +18,17 @@
@php $role = auth()->user()->role->name; @endphp
@if ($role === 'Admin')
<a href="{{ route('admin.responses') }}"
<a href="{{ route('admin.ActivitiesAttendedResponses') }}"
class="px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600">
Go to Admin Responses
</a>
@elseif ($role === 'Coordinator')
<a href="{{ route('coordinator.responses') }}"
<a href="{{ route('coordinator.ActivitiesAttendedResponses') }}"
class="px-4 py-2 bg-green-500 text-white rounded hover:bg-green-600">
Go to Coordinator Responses
</a>
@elseif ($role === 'Faculty')
<a href="{{ route('faculty.response-form') }}"
<a href="{{ route('faculty.ActivitiesAttendedForm') }}"
class="px-4 py-2 bg-purple-500 text-white rounded hover:bg-purple-600">
Go to Faculty Response Form
</a>

View File

@@ -12,7 +12,7 @@
</p>
</div>
<div class="border-t border-gray-200">
<form method="POST" action="{{ route('faculty.submitResponse') }}" enctype="multipart/form-data">
<form method="POST" action="{{ route('faculty.ActivitiesAttendedFormResponse') }}" enctype="multipart/form-data">
@csrf
<div class="px-4 py-5 sm:px-6">
<div class="space-y-6">

View File

@@ -18,15 +18,15 @@
<!-- Role-specific Links using direct role checks -->
@if(auth()->user()->role->name === 'Admin')
<x-nav-link :href="route('admin.responses')" :active="request()->routeIs('admin.responses')">
<x-nav-link :href="route('admin.ActivitiesAttendedResponses')" :active="request()->routeIs('admin.ActivitiesAttendedResponses')">
{{ __('Activities Attended') }}
</x-nav-link>
@elseif(auth()->user()->role->name === 'Coordinator')
<x-nav-link :href="route('coordinator.responses')" :active="request()->routeIs('coordinator.responses')">
<x-nav-link :href="route('coordinator.ActivitiesAttendedResponses')" :active="request()->routeIs('coordinator.ActivitiesAttendedResponses')">
{{ __('Activities Attended') }}
</x-nav-link>
@elseif(auth()->user()->role->name === 'Faculty')
<x-nav-link :href="route('faculty.responseForm')" :active="request()->routeIs('faculty.responseForm')">
<x-nav-link :href="route('faculty.ActivitiesAttendedForm')" :active="request()->routeIs('faculty.ActivitiesAttendedForm')">
{{ __('Activities Attended') }}
</x-nav-link>
@endif
@@ -87,15 +87,15 @@
<!-- Role-specific Links using direct role checks -->
@if(auth()->user()->role->name === 'Admin')
<x-responsive-nav-link :href="route('admin.responses')" :active="request()->routeIs('admin.responses')">
<x-responsive-nav-link :href="route('admin.ActivitiesAttendedResponses')" :active="request()->routeIs('admin.ActivitiesAttendedResponses')">
{{ __('Activities Attended') }}
</x-responsive-nav-link>
@elseif(auth()->user()->role->name === 'Coordinator')
<x-responsive-nav-link :href="route('coordinator.responses')" :active="request()->routeIs('coordinator.responses')">
<x-responsive-nav-link :href="route('coordinator.ActivitiesAttendedResponses')" :active="request()->routeIs('coordinator.ActivitiesAttendedResponses')">
{{ __('Activities Attended') }}
</x-responsive-nav-link>
@elseif(auth()->user()->role->name === 'Faculty')
<x-responsive-nav-link :href="route('faculty.responseForm')" :active="request()->routeIs('faculty.responseForm')">
<x-responsive-nav-link :href="route('faculty.ActivitiesAttendedForm')" :active="request()->routeIs('faculty.ActivitiesAttendedForm')">
{{ __('Activities Attended') }}
</x-responsive-nav-link>
@endif

View File

@@ -39,23 +39,23 @@ Route::middleware('auth')->group(function () {
// Admin routes
Route::middleware(['auth', CheckRole::class . ':Admin'])->group(function () {
Route::get('/admin', [AdminController::class, 'index'])->name('admin.dashboard');
Route::get('/admin/responses', [AdminController::class, 'viewResponses'])->name('admin.responses');
Route::get('/admin/responses/data', [AdminController::class, 'getResponses'])->name('admin.responses.data');
Route::get('/admin/ActivitiesAttendedResponses', [AdminController::class, 'viewActivitiesAttendedResponses'])->name('admin.ActivitiesAttendedResponses');
Route::get('/admin/ActivitiesAttendedResponses/data', [AdminController::class, 'getActivitiesAttendedResponses'])->name('admin.ActivitiesAttendedResponses.data');
});
// Coordinator routes
Route::middleware(['auth', CheckRole::class . ':Coordinator'])->group(function () {
Route::get('/coordinator', [CoordinatorController::class, 'index'])->name('coordinator.dashboard');
Route::get('/coordinator/responses', [CoordinatorController::class, 'viewResponses'])->name('coordinator.responses');
Route::get('/coordinator/responses/data', [CoordinatorController::class, 'getResponses'])->name('coordinator.responses.data');
Route::get('/coordinator/ActivitiesAttendedResponses', [CoordinatorController::class, 'viewActivitiesAttendedResponses'])->name('coordinator.ActivitiesAttendedResponses');
Route::get('/coordinator/ActivitiesAttendedResponses/data', [CoordinatorController::class, 'getActivitiesAttendedResponses'])->name('coordinator.ActivitiesAttendedResponses.data');
});
// Faculty routes
Route::middleware(['auth', CheckRole::class . ':Faculty'])->group(function () {
Route::get('/faculty', [FacultyController::class, 'index'])->name('faculty.dashboard');
Route::get('/faculty/response-form', [FacultyController::class, 'responseForm'])->name('faculty.responseForm');
Route::post('/faculty/submit-response', [FacultyController::class, 'submitResponse'])->name('faculty.submitResponse');
Route::get('/faculty/ActivitiesAttendedForm', [FacultyController::class, 'ActivitiesAttendedForm'])->name('faculty.ActivitiesAttendedForm');
Route::post('/faculty/ActivitiesAttendedFormResponse', [FacultyController::class, 'ActivitiesAttendedFormResponse'])->name('faculty.ActivitiesAttendedFormResponse');
});
// API Resources