From cab2d50f69e5d4f72a811d656dc2fefe7a9372ac Mon Sep 17 00:00:00 2001 From: Ritikesh yadav Date: Tue, 14 May 2024 17:27:34 +0530 Subject: [PATCH] added export functionality --- app/Exports/UserProductExport.php | 33 +++++++++++++++++++ .../Admin/ManageUserProductController.php | 28 ++++++++++++++++ public/assets/js/admin/category.js | 2 +- .../manage_user_product/manage_user.blade.php | 4 ++- routes/web.php | 1 + 5 files changed, 66 insertions(+), 2 deletions(-) create mode 100644 app/Exports/UserProductExport.php diff --git a/app/Exports/UserProductExport.php b/app/Exports/UserProductExport.php new file mode 100644 index 0000000..b78c9b6 --- /dev/null +++ b/app/Exports/UserProductExport.php @@ -0,0 +1,33 @@ +data = $data; + $this->columns = $columns; + } + + public function collection() + { + // $data = monthly_update_master::select('')->get(); + return $this->data; + } + public function headings(): array + { + return $this->columns; + } +} diff --git a/app/Http/Controllers/Admin/ManageUserProductController.php b/app/Http/Controllers/Admin/ManageUserProductController.php index 016a708..a60f513 100644 --- a/app/Http/Controllers/Admin/ManageUserProductController.php +++ b/app/Http/Controllers/Admin/ManageUserProductController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers\Admin; +use App\Exports\UserProductExport; use App\Models\User; use Illuminate\Http\Request; use App\Models\MonthlyUpdateMaster; @@ -39,6 +40,33 @@ class ManageUserProductController extends Controller return view('Admin.Pages.manage_investors.manage_user_product.manage_user', compact('userProduct')); } + public function exportUserProduct() + { + // dd('hello'); + $data = MonthlyUpdateMaster::with( + ['investor' => function($query){ + $query->select('id','name'); + // },'products.categorys' => function($query){ + // $query->select('id','categories_id'); + // }])->select('id','users_id','products_id','custom_id')->get(); + },'products.categorys'])->get(); + // dd($data->toArray()); + $withClearData = collect(); + $new = []; + $data->each(function($value) use($withClearData, $new){ + $new['user_name'] = $value->investor->name; + $new['custom_id'] = $value->custom_id; + $new['investor_name'] = $value->investor->name; + $new['category'] = $value->products->categorys->category_name; + $new['holding_status'] = $value->holding_status; + $new['created_at'] = $value->created_at->format('d-m-Y'); + $withClearData->push($new); + }); + $columns = ['User Name', 'CustomId', 'Investor Name', 'Category', 'Holding Status', 'Created At']; + // dd($withClearData->sortByDesc('created_at')); + return Excel::download(new UserProductExport($withClearData->sortByDesc('created_at'), $columns), 'UsersProduct.XLSX'); + } + public function redeemWithSoldAmount(Request $request) { // dd($request->all()); diff --git a/public/assets/js/admin/category.js b/public/assets/js/admin/category.js index 1f16593..78bea0f 100644 --- a/public/assets/js/admin/category.js +++ b/public/assets/js/admin/category.js @@ -139,7 +139,7 @@ $("#editCategoryForm").validate({ // $("#save_btn").text("Please wait..."); // $("#save_btn").attr("disabled", true); $.ajax({ - url: "http://localhost/jericho_28_march/manage-investments/categories/edit", + url: "/manage-investments/categories/edit", // url: "{{route('manage.categories.edit')}}", type: "POST", data: formData, diff --git a/resources/views/Admin/Pages/manage_investors/manage_user_product/manage_user.blade.php b/resources/views/Admin/Pages/manage_investors/manage_user_product/manage_user.blade.php index 106a24c..6c289ea 100644 --- a/resources/views/Admin/Pages/manage_investors/manage_user_product/manage_user.blade.php +++ b/resources/views/Admin/Pages/manage_investors/manage_user_product/manage_user.blade.php @@ -26,7 +26,6 @@

Manage User Product

+ + +
diff --git a/routes/web.php b/routes/web.php index bcf6172..633473e 100644 --- a/routes/web.php +++ b/routes/web.php @@ -601,6 +601,7 @@ Route::middleware([BackendAccess::class])->group(function () { Route::controller(ManageUserProductController::class)->group(function () { Route::get("manage-user-product", 'index')->name('manage-user-product'); Route::get("store-user-product", 'storeUserProduct')->name('store-user-product'); + Route::get("export-user-product", 'exportUserProduct')->name('export-user-product'); Route::get('userProduct/{id}', 'userProduct')->name('userProduct'); Route::get("import-monthly-updates", 'importMonthlyUpdateBlade')->name('import-monthly-updates'); Route::get("monthly-updates/{id}", 'monthlyUpdates')->name('monthly-updates');