From b1a7f4c1b3b0b39daa715671c709fced31847330 Mon Sep 17 00:00:00 2001 From: Shubham Mehrotra Date: Mon, 11 Oct 2021 11:08:23 +0530 Subject: [PATCH] added update feature in header content of velocity #5022 --- .../src/DataGrids/ContentDataGrid.php | 11 ++++++++++ .../Controllers/Admin/ContentController.php | 21 +++++++++++++++++++ .../Webkul/Velocity/src/Http/admin-routes.php | 4 ++++ .../Velocity/src/Resources/lang/en/app.php | 1 + 4 files changed, 37 insertions(+) diff --git a/packages/Webkul/Velocity/src/DataGrids/ContentDataGrid.php b/packages/Webkul/Velocity/src/DataGrids/ContentDataGrid.php index 9706a32c0..d3fbef305 100644 --- a/packages/Webkul/Velocity/src/DataGrids/ContentDataGrid.php +++ b/packages/Webkul/Velocity/src/DataGrids/ContentDataGrid.php @@ -151,5 +151,16 @@ class ContentDataGrid extends DataGrid 'label' => trans('admin::app.datagrid.delete'), 'method' => 'POST', ]); + + $this->addMassAction([ + 'type' => 'update', + 'label' => trans('admin::app.datagrid.update-status'), + 'action' => route('velocity.admin.content.mass-update'), + 'method' => 'POST', + 'options' => [ + 'Active' => 1, + 'Inactive' => 0, + ], + ]); } } diff --git a/packages/Webkul/Velocity/src/Http/Controllers/Admin/ContentController.php b/packages/Webkul/Velocity/src/Http/Controllers/Admin/ContentController.php index 232f36391..5b8360a28 100644 --- a/packages/Webkul/Velocity/src/Http/Controllers/Admin/ContentController.php +++ b/packages/Webkul/Velocity/src/Http/Controllers/Admin/ContentController.php @@ -181,4 +181,25 @@ class ContentController extends Controller return redirect()->route($this->_config['redirect']); } + + /** + * To mass update the content + * + * @return \Illuminate\Http\Response + */ + public function massUpdate() + { + $contentIds = explode(',', request()->input('indexes')); + $updateOption = request()->input('update-options'); + + foreach ($contentIds as $contentId) { + $content = $this->contentRepository->find($contentId); + + $content->update(['status' => $updateOption]); + } + + session()->flash('success', trans('velocity::app.admin.contents.mass-update-success')); + + return redirect()->back(); + } } \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Http/admin-routes.php b/packages/Webkul/Velocity/src/Http/admin-routes.php index f6d4acd43..fdfbfb27b 100644 --- a/packages/Webkul/Velocity/src/Http/admin-routes.php +++ b/packages/Webkul/Velocity/src/Http/admin-routes.php @@ -36,6 +36,10 @@ Route::group(['middleware' => ['web', 'admin_locale']], function () { 'redirect' => 'velocity.admin.content.index' ])->name('velocity.admin.content.mass-delete'); + Route::post('/content/masss-update', [ContentController::class, 'massUpdate'])->defaults('_config', [ + 'redirect' => 'velocity.admin.content.index' + ])->name('velocity.admin.content.mass-update'); + Route::get('/meta-data', [ConfigurationController::class, 'renderMetaData'])->defaults('_config', [ 'view' => 'velocity::admin.meta-info.meta-data' ])->name('velocity.admin.meta-data'); diff --git a/packages/Webkul/Velocity/src/Resources/lang/en/app.php b/packages/Webkul/Velocity/src/Resources/lang/en/app.php index 031dc5ef2..f99390bba 100644 --- a/packages/Webkul/Velocity/src/Resources/lang/en/app.php +++ b/packages/Webkul/Velocity/src/Resources/lang/en/app.php @@ -60,6 +60,7 @@ return [ 'no-result-found' => 'No record found.', 'search-hint' => 'Search product here...', 'mass-delete-success' => 'Selected content deleted successfully.', + 'mass-update-success' => 'Selected content updated successfully.', 'tab' => [ 'page' => 'Page Setting', 'content' => 'Content Setting',