diff --git a/Modules/CCMS/app/Http/Controllers/EnquiryController.php b/Modules/CCMS/app/Http/Controllers/EnquiryController.php index 4e1a293..574e525 100644 --- a/Modules/CCMS/app/Http/Controllers/EnquiryController.php +++ b/Modules/CCMS/app/Http/Controllers/EnquiryController.php @@ -18,13 +18,13 @@ class EnquiryController extends Controller public function index() { - $is_enrolled = request()->get('is_enrolled', null); + // $is_enrolled = request()->get('is_enrolled', null); if (request()->ajax()) { $model = Enquiry::query()->latest(); return DataTables::eloquent($model) ->addIndexColumn() ->addColumn('checkbox', function (Enquiry $enquiry) { - return ''; + return ''; }) ->setRowClass(function (Enquiry $enquiry) { return $enquiry->is_read ? 'text-muted' : 'text-dark'; @@ -145,4 +145,34 @@ class EnquiryController extends Controller return redirect()->back()->with('error', $th->getMessage()); } } + + public function bulkAction(Request $request) + { + $ids = $request->ids; + $action = $request->action; + + if (!$ids || !$action) { + return response()->json(['message' => 'No action performed.'], 400); + } + + $enquiries = Enquiry::whereIn('id', $ids)->get(); + + if ($action == 2) { + // Example: send newsletter + foreach ($enquiries as $enquiry) { + // Your newsletter logic here + } + return response()->json(['message' => 'Newsletter sent to selected enquiries!']); + } + + if ($action == 3) { + // Example: send normal mail + foreach ($enquiries as $enquiry) { + // Your mail logic here + } + return response()->json(['message' => 'Mails sent to selected enquiries!']); + } + + return response()->json(['message' => 'Invalid action.'], 400); + } } diff --git a/Modules/CCMS/resources/views/enquiry/index.blade.php b/Modules/CCMS/resources/views/enquiry/index.blade.php index 1975e1e..867d12e 100644 --- a/Modules/CCMS/resources/views/enquiry/index.blade.php +++ b/Modules/CCMS/resources/views/enquiry/index.blade.php @@ -8,10 +8,12 @@
@php + // IMPORTANT: 'data' must match the key returned by DataTables JSON. + // Your controller uses ->addColumn('checkbox', ...), so use 'checkbox' here. $columns = [ [ 'title' => '', - 'data' => 'checkbox', + 'data' => 'checkbox', // <-- was 'select' 'name' => 'checkbox', 'orderable' => false, 'searchable' => false, @@ -35,20 +37,69 @@
-
- -
- {{--
- {{ $dataTable->table(['class' => 'table table-sm w-100', 'data-is_enrolled' => $is_enrolled], true) }} -
--}} - -
-
- {{ html()->select('action', [2 => 'Send News Letter', 3 => 'Send Mail'])->placeholder('Bulk Actions')->class('form-select bulk-select') }} -
-
-
-
@endsection + +@push('js') + +@endpush diff --git a/Modules/CCMS/routes/web.php b/Modules/CCMS/routes/web.php index 45ee658..d2f42a7 100644 --- a/Modules/CCMS/routes/web.php +++ b/Modules/CCMS/routes/web.php @@ -134,6 +134,7 @@ Route::group(['middleware' => ['web', 'auth', 'permission'], 'prefix' => 'admin/ Route::get('institution/toggle/{id}', [InstitutionController::class, 'toggle'])->name('institution.toggle'); Route::resource('institution', InstitutionController::class)->names('institution')->only(['store', 'edit', 'destroy']); + Route::post('/enquiry/bulk-action', [EnquiryController::class, 'bulkAction'])->name('enquiry.bulkAction'); Route::get('enquiry/mark-as-read/{id}', [EnquiryController::class, 'markAsRead'])->name('enquiry.markAsRead'); Route::resource('enquiry', EnquiryController::class)->names('enquiry')->only(['index', 'store', 'destroy']);