Feat: Enhance Organising Institute selection with Select2 in forms and edit views

This commit is contained in:
Sallu9007
2025-04-17 10:17:13 +05:30
parent e0985d0c4f
commit 7d71d6dac5
4 changed files with 48 additions and 5 deletions

View File

@@ -14,7 +14,12 @@ class ActivitiesAttendedController extends Controller
{ {
$response = ActivitiesAttended::findOrFail($id); $response = ActivitiesAttended::findOrFail($id);
return view('activities-attended.edit', compact('response')); // Fetch unique organising institutes
$organisingInstitutes = ActivitiesAttended::select('organising_institute')
->distinct()
->pluck('organising_institute');
return view('activities-attended.edit', compact('response', 'organisingInstitutes'));
} }
public function update(Request $request, $id) public function update(Request $request, $id)

View File

@@ -24,8 +24,13 @@ class FacultyController extends Controller
// Faculty response form // Faculty response form
public function ActivitiesAttendedForm() public function ActivitiesAttendedForm()
{ {
// Logic to show the response form // Fetch unique organising institutes
return view('faculty.activities-attended-form'); $organisingInstitutes = ActivitiesAttended::select('organising_institute')
->distinct()
->pluck('organising_institute');
// Pass the data to the view
return view('faculty.activities-attended-form', compact('organisingInstitutes'));
} }
public function viewActivitiesAttendedResponses() public function viewActivitiesAttendedResponses()

View File

@@ -34,7 +34,12 @@
<!-- Organising Institute --> <!-- Organising Institute -->
<div> <div>
<label for="organising_institute" class="block text-sm font-medium text-gray-700">Organising Institute</label> <label for="organising_institute" class="block text-sm font-medium text-gray-700">Organising Institute</label>
<input type="text" name="organising_institute" id="organising_institute" value="{{ old('organising_institute', $response->organising_institute) }}" class="mt-1 focus:ring-indigo-500 focus:border-indigo-500 block w-full shadow-sm sm:text-sm border-gray-300 rounded-md"> <select name="organising_institute" id="organising_institute" class="mt-1 block w-full shadow-sm sm:text-sm border-gray-300 rounded-md select2" style="width: 100%;">
<option value="">Select or type...</option>
@foreach($organisingInstitutes as $institute)
<option value="{{ $institute }}" {{ old('organising_institute', $response->organising_institute) == $institute ? 'selected' : '' }}>{{ $institute }}</option>
@endforeach
</select>
</div> </div>
<!-- Address --> <!-- Address -->
@@ -186,4 +191,14 @@
endDateField.addEventListener('change', calculateDays); endDateField.addEventListener('change', calculateDays);
}); });
</script> </script>
@parent
<script>
$(document).ready(function() {
$('#organising_institute').select2({
tags: true,
placeholder: "Select or type...",
allowClear: true
});
});
</script>
@endsection @endsection

View File

@@ -25,7 +25,12 @@
<div> <div>
<label for="organising_institute" class="block text-sm font-medium text-gray-700">Organising Institute/Company</label> <label for="organising_institute" class="block text-sm font-medium text-gray-700">Organising Institute/Company</label>
<input type="text" name="organising_institute" id="organising_institute" class="block w-full mt-1 border-gray-300 rounded-md shadow-sm focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm" required> <select name="organising_institute" id="organising_institute" class="block w-full mt-1 border-gray-300 rounded-md shadow-sm focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm select2" style="width: 100%;" required>
<option value="">Select or type...</option>
@foreach($organisingInstitutes as $institute)
<option value="{{ $institute }}" {{ old('organising_institute') == $institute ? 'selected' : '' }}>{{ $institute }}</option>
@endforeach
</select>
</div> </div>
<div> <div>
<label for="address" class="block text-sm font-medium text-gray-700">Brief Address (City/State/Country)</label> <label for="address" class="block text-sm font-medium text-gray-700">Brief Address (City/State/Country)</label>
@@ -136,3 +141,16 @@
} }
</script> </script>
@endsection @endsection
@section('scripts')
@parent
<script>
$(document).ready(function() {
$('#organising_institute').select2({
tags: true,
placeholder: "Select or type...",
allowClear: true
});
});
</script>
@endsection