diff --git a/app/Exports/FeedbakExport.php b/app/Exports/FeedbakExport.php new file mode 100644 index 0000000..750b4f6 --- /dev/null +++ b/app/Exports/FeedbakExport.php @@ -0,0 +1,36 @@ +get()->map(function ($feedback) { + return [ + 'Customer Id' => $feedback->principal ? $feedback->principal->id : 'N/A', + 'First Name' => $feedback->principal ? $feedback->principal->first_name : 'N/A', + 'Last Name' => $feedback->principal ? $feedback->principal->last_name : 'N/A', + 'Feedback Reaction' => $feedback->feedbackReaction ? $feedback->feedbackReaction->feedback_reaction_title : 'N/A', + 'Comment' => $feedback->comment, + 'Date Received' => $feedback->created_at, + ]; + }); + } + + public function headings(): array + { + return [ + 'Customer Id', + 'First Name', + 'Last Name', + 'Feedback Reaction', + 'Comment', + 'Date Received' + ]; + } +} diff --git a/app/Http/Controllers/Admin/ManageFeedbackController.php b/app/Http/Controllers/Admin/ManageFeedbackController.php index 4c9bba1..04553d7 100644 --- a/app/Http/Controllers/Admin/ManageFeedbackController.php +++ b/app/Http/Controllers/Admin/ManageFeedbackController.php @@ -2,9 +2,12 @@ namespace App\Http\Controllers\Admin; +use App\Exports\FeedbakExport; use App\Http\Controllers\Controller; use App\Models\ManageFeedback; use Illuminate\Http\Request; +use Maatwebsite\Excel\Facades\Excel; + class ManageFeedbackController extends Controller { @@ -34,4 +37,22 @@ class ManageFeedbackController extends Controller $data = ManageFeedback::find($id)->delete(); return redirect()->back()->with('success', ''); } + + /* + Created By : Sayli Raut + Created at : 17 June 2024 + Use : To download Excel. + */ + public function exportSelectedFeedback(Request $request) + { + // dd($request->all()); + try { + if ($request->has('all_id')) { + return Excel::download(new FeedbakExport, 'Feedback_data.xlsx'); + } + + } catch (\Exception $e) { + return response()->json(['error' => 'Export failed. Something went wrong.'], 500); + } + } } diff --git a/resources/views/Admin/pages/manage_feedback/manage_feedback.blade.php b/resources/views/Admin/pages/manage_feedback/manage_feedback.blade.php index 384a37a..8b6de66 100644 --- a/resources/views/Admin/pages/manage_feedback/manage_feedback.blade.php +++ b/resources/views/Admin/pages/manage_feedback/manage_feedback.blade.php @@ -24,58 +24,67 @@