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);
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)

View File

@@ -24,8 +24,13 @@ class FacultyController extends Controller
// Faculty response form
public function ActivitiesAttendedForm()
{
// Logic to show the response form
return view('faculty.activities-attended-form');
// Fetch unique organising institutes
$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()

View File

@@ -34,7 +34,12 @@
<!-- Organising Institute -->
<div>
<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>
<!-- Address -->
@@ -186,4 +191,14 @@
endDateField.addEventListener('change', calculateDays);
});
</script>
@parent
<script>
$(document).ready(function() {
$('#organising_institute').select2({
tags: true,
placeholder: "Select or type...",
allowClear: true
});
});
</script>
@endsection

View File

@@ -25,7 +25,12 @@
<div>
<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>
<label for="address" class="block text-sm font-medium text-gray-700">Brief Address (City/State/Country)</label>
@@ -136,3 +141,16 @@
}
</script>
@endsection
@section('scripts')
@parent
<script>
$(document).ready(function() {
$('#organising_institute').select2({
tags: true,
placeholder: "Select or type...",
allowClear: true
});
});
</script>
@endsection