diff --git a/.editorconfig b/.editorconfig index 1492202b4..9cdbc2ed9 100644 --- a/.editorconfig +++ b/.editorconfig @@ -3,7 +3,7 @@ root = true [*] charset = utf-8 end_of_line = lf -insert_final_newline = true +insert_final_newline = false indent_style = space indent_size = 4 trim_trailing_whitespace = true diff --git a/packages/Webkul/Admin/src/DataGrids/AttributeDataGrid.php b/packages/Webkul/Admin/src/DataGrids/AttributeDataGrid.php index 863d9817a..271e963b5 100755 --- a/packages/Webkul/Admin/src/DataGrids/AttributeDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/AttributeDataGrid.php @@ -128,14 +128,14 @@ class AttributeDataGrid extends DataGrid { $this->addAction([ 'type' => 'Edit', - 'method' => 'GET', // use GET request only for redirect purposes + 'method' => 'GET', //use post only for redirects only 'route' => 'admin.catalog.attributes.edit', 'icon' => 'icon pencil-lg-icon' ]); $this->addAction([ 'type' => 'Delete', - 'method' => 'POST', //upper case string + 'method' => 'POST', //use post only for requests other than redirects 'route' => 'admin.catalog.attributes.delete', 'icon' => 'icon trash-icon' ]); diff --git a/packages/Webkul/Admin/src/DataGrids/AttributeFamilyDataGrid.php b/packages/Webkul/Admin/src/DataGrids/AttributeFamilyDataGrid.php index 4ecd6d76b..613b72ff9 100755 --- a/packages/Webkul/Admin/src/DataGrids/AttributeFamilyDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/AttributeFamilyDataGrid.php @@ -57,12 +57,14 @@ class AttributeFamilyDataGrid extends DataGrid public function prepareActions() { $this->addAction([ 'type' => 'Edit', + 'method' => 'GET', // use GET request only for redirect purposes 'route' => 'admin.catalog.families.edit', 'icon' => 'icon pencil-lg-icon' ]); $this->addAction([ 'type' => 'Delete', + 'method' => 'POST', // use GET request only for redirect purposes and POST for rest 'route' => 'admin.catalog.families.delete', // 'confirm_text' => trans('ui::app.datagrid.massaction.delete', ['resource' => 'product']), 'icon' => 'icon trash-icon' diff --git a/packages/Webkul/Admin/src/DataGrids/CategoryDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CategoryDataGrid.php index aacf46bd5..80bcfc648 100755 --- a/packages/Webkul/Admin/src/DataGrids/CategoryDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CategoryDataGrid.php @@ -92,12 +92,14 @@ class CategoryDataGrid extends DataGrid public function prepareActions() { $this->addAction([ 'type' => 'Edit', + 'method' => 'GET', // use GET request only for redirect purposes 'route' => 'admin.catalog.categories.edit', 'icon' => 'icon pencil-lg-icon' ]); $this->addAction([ 'type' => 'Delete', + 'method' => 'POST', // use GET request only for redirect purposes 'route' => 'admin.catalog.categories.delete', 'confirm_text' => trans('ui::app.datagrid.massaction.delete', ['resource' => 'product']), 'icon' => 'icon trash-icon' diff --git a/packages/Webkul/Admin/src/DataGrids/ChannelDataGrid.php b/packages/Webkul/Admin/src/DataGrids/ChannelDataGrid.php index 6d2cf515d..86ed8f246 100755 --- a/packages/Webkul/Admin/src/DataGrids/ChannelDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/ChannelDataGrid.php @@ -66,12 +66,14 @@ class ChannelDataGrid extends DataGrid public function prepareActions() { $this->addAction([ 'type' => 'Edit', + 'method' => 'GET', // use GET request only for redirect purposes 'route' => 'admin.channels.edit', 'icon' => 'icon pencil-lg-icon' ]); $this->addAction([ 'type' => 'Delete', + 'method' => 'POST', // use GET request only for redirect purposes 'route' => 'admin.channels.delete', 'confirm_text' => trans('ui::app.datagrid.massaction.delete', ['resource' => 'product']), 'icon' => 'icon trash-icon' diff --git a/packages/Webkul/Admin/src/DataGrids/CurrencyDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CurrencyDataGrid.php index 38fd625a1..68811fa73 100755 --- a/packages/Webkul/Admin/src/DataGrids/CurrencyDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CurrencyDataGrid.php @@ -57,12 +57,14 @@ class CurrencyDataGrid extends DataGrid public function prepareActions() { $this->addAction([ 'type' => 'Edit', + 'method' => 'GET', // use GET request only for redirect purposes 'route' => 'admin.currencies.edit', 'icon' => 'icon pencil-lg-icon' ]); $this->addAction([ 'type' => 'Delete', + 'method' => 'POST', // use GET request only for redirect purposes 'route' => 'admin.currencies.delete', 'icon' => 'icon trash-icon' ]); diff --git a/packages/Webkul/Admin/src/DataGrids/CustomerDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CustomerDataGrid.php index ed9ccb473..52cbcd608 100755 --- a/packages/Webkul/Admin/src/DataGrids/CustomerDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CustomerDataGrid.php @@ -73,12 +73,14 @@ class CustomerDataGrid extends DataGrid public function prepareActions() { $this->addAction([ 'type' => 'Edit', + 'method' => 'GET', // use GET request only for redirect purposes 'route' => 'admin.customer.edit', 'icon' => 'icon pencil-lg-icon' ]); $this->addAction([ 'type' => 'Delete', + 'method' => 'POST', // use GET request only for redirect purposes 'route' => 'admin.customer.delete', 'icon' => 'icon trash-icon' ]); diff --git a/packages/Webkul/Admin/src/DataGrids/CustomerGroupDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CustomerGroupDataGrid.php index 5d8a3683f..cbdca7b65 100755 --- a/packages/Webkul/Admin/src/DataGrids/CustomerGroupDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CustomerGroupDataGrid.php @@ -48,12 +48,14 @@ class CustomerGroupDataGrid extends DataGrid public function prepareActions() { $this->addAction([ 'type' => 'Edit', + 'method' => 'GET', // use GET request only for redirect purposes 'route' => 'admin.groups.edit', 'icon' => 'icon pencil-lg-icon' ]); $this->addAction([ 'type' => 'Delete', + 'method' => 'POST', // use GET request only for redirect purposes 'route' => 'admin.groups.delete', 'icon' => 'icon trash-icon' ]); diff --git a/packages/Webkul/Admin/src/DataGrids/CustomerReviewDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CustomerReviewDataGrid.php index 399ec2c1f..6f3efa2f9 100755 --- a/packages/Webkul/Admin/src/DataGrids/CustomerReviewDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CustomerReviewDataGrid.php @@ -91,12 +91,14 @@ class CustomerReviewDataGrid extends DataGrid public function prepareActions() { $this->addAction([ 'type' => 'Edit', + 'method' => 'GET', // use GET request only for redirect purposes 'route' => 'admin.customer.review.edit', 'icon' => 'icon pencil-lg-icon' ]); $this->addAction([ 'type' => 'Delete', + 'method' => 'POST', // use GET request only for redirect purposes 'route' => 'admin.customer.review.delete', 'icon' => 'icon trash-icon' ]); diff --git a/packages/Webkul/Admin/src/DataGrids/ExchangeRatesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/ExchangeRatesDataGrid.php index 13df73cb0..2970a6f9b 100755 --- a/packages/Webkul/Admin/src/DataGrids/ExchangeRatesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/ExchangeRatesDataGrid.php @@ -59,12 +59,14 @@ class ExchangeRatesDataGrid extends DataGrid public function prepareActions() { $this->addAction([ 'type' => 'Edit', + 'method' => 'GET', // use GET request only for redirect purposes 'route' => 'admin.exchange_rates.edit', 'icon' => 'icon pencil-lg-icon' ]); $this->addAction([ 'type' => 'Delete', + 'method' => 'POST', // use GET request only for redirect purposes 'route' => 'admin.exchange_rates.delete', 'confirm_text' => trans('ui::app.datagrid.massaction.delete', ['resource' => 'Exchange Rate']), 'icon' => 'icon trash-icon' diff --git a/packages/Webkul/Admin/src/DataGrids/InventorySourcesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/InventorySourcesDataGrid.php index 3c580a790..695d2341a 100755 --- a/packages/Webkul/Admin/src/DataGrids/InventorySourcesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/InventorySourcesDataGrid.php @@ -81,12 +81,14 @@ class InventorySourcesDataGrid extends DataGrid public function prepareActions() { $this->addAction([ 'type' => 'Edit', + 'method' => 'GET', // use GET request only for redirect purposes 'route' => 'admin.inventory_sources.edit', 'icon' => 'icon pencil-lg-icon' ]); $this->addAction([ 'type' => 'Delete', + 'method' => 'POST', // use GET request only for redirect purposes 'route' => 'admin.inventory_sources.delete', 'confirm_text' => trans('ui::app.datagrid.massaction.delete', ['resource' => 'Exchange Rate']), 'icon' => 'icon trash-icon' diff --git a/packages/Webkul/Admin/src/DataGrids/LocalesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/LocalesDataGrid.php index 347f97395..63dc7a54a 100755 --- a/packages/Webkul/Admin/src/DataGrids/LocalesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/LocalesDataGrid.php @@ -57,12 +57,14 @@ class LocalesDataGrid extends DataGrid public function prepareActions() { $this->addAction([ 'type' => 'Edit', + 'method' => 'GET', // use GET request only for redirect purposes 'route' => 'admin.locales.edit', 'icon' => 'icon pencil-lg-icon' ]); $this->addAction([ 'type' => 'Delete', + 'method' => 'POST', // use GET request only for redirect purposes 'route' => 'admin.locales.delete', 'confirm_text' => trans('ui::app.datagrid.massaction.delete', ['resource' => 'Exchange Rate']), 'icon' => 'icon trash-icon' diff --git a/packages/Webkul/Admin/src/DataGrids/NewsLetterDataGrid.php b/packages/Webkul/Admin/src/DataGrids/NewsLetterDataGrid.php index e88bbd07a..1d9501a76 100755 --- a/packages/Webkul/Admin/src/DataGrids/NewsLetterDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/NewsLetterDataGrid.php @@ -63,12 +63,14 @@ class NewsLetterDataGrid extends DataGrid public function prepareActions() { $this->addAction([ 'type' => 'Edit', + 'method' => 'GET', // use GET request only for redirect purposes 'route' => 'admin.customers.subscribers.edit', 'icon' => 'icon pencil-lg-icon' ]); $this->addAction([ 'type' => 'Delete', + 'method' => 'POST', // use GET request only for redirect purposes 'route' => 'admin.customers.subscribers.delete', 'confirm_text' => trans('ui::app.datagrid.massaction.delete', ['resource' => 'Exchange Rate']), 'icon' => 'icon trash-icon' diff --git a/packages/Webkul/Admin/src/DataGrids/OrderDataGrid.php b/packages/Webkul/Admin/src/DataGrids/OrderDataGrid.php index ff15a711a..8578ecf3a 100755 --- a/packages/Webkul/Admin/src/DataGrids/OrderDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/OrderDataGrid.php @@ -135,6 +135,7 @@ class OrderDataGrid extends DataGrid public function prepareActions() { $this->addAction([ 'type' => 'View', + 'method' => 'GET', // use GET request only for redirect purposes 'route' => 'admin.sales.orders.view', 'icon' => 'icon eye-icon' ]); diff --git a/packages/Webkul/Admin/src/DataGrids/OrderInvoicesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/OrderInvoicesDataGrid.php index 8d960d3a8..c0dd8aaa0 100755 --- a/packages/Webkul/Admin/src/DataGrids/OrderInvoicesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/OrderInvoicesDataGrid.php @@ -66,6 +66,7 @@ class OrderInvoicesDataGrid extends DataGrid public function prepareActions() { $this->addAction([ 'type' => 'View', + 'method' => 'GET', // use GET request only for redirect purposes 'route' => 'admin.sales.invoices.view', 'icon' => 'icon eye-icon' ]); diff --git a/packages/Webkul/Admin/src/DataGrids/OrderShipmentsDataGrid.php b/packages/Webkul/Admin/src/DataGrids/OrderShipmentsDataGrid.php index 494cff384..dd3392b70 100755 --- a/packages/Webkul/Admin/src/DataGrids/OrderShipmentsDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/OrderShipmentsDataGrid.php @@ -109,6 +109,7 @@ class OrderShipmentsDataGrid extends DataGrid public function prepareActions() { $this->addAction([ 'type' => 'View', + 'method' => 'GET', // use GET request only for redirect purposes 'route' => 'admin.sales.shipments.view', 'icon' => 'icon eye-icon' ]); diff --git a/packages/Webkul/Admin/src/DataGrids/ProductDataGrid.php b/packages/Webkul/Admin/src/DataGrids/ProductDataGrid.php index 30821ddba..94beb9757 100644 --- a/packages/Webkul/Admin/src/DataGrids/ProductDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/ProductDataGrid.php @@ -121,12 +121,14 @@ class ProductDataGrid extends DataGrid public function prepareActions() { $this->addAction([ 'type' => 'Edit', + 'method' => 'GET', // use GET request only for redirect purposes 'route' => 'admin.catalog.products.edit', 'icon' => 'icon pencil-lg-icon' ]); $this->addAction([ 'type' => 'Delete', + 'method' => 'POST', // use GET request only for redirect purposes 'route' => 'admin.catalog.products.delete', 'confirm_text' => trans('ui::app.datagrid.massaction.delete', ['resource' => 'product']), 'icon' => 'icon trash-icon' diff --git a/packages/Webkul/Admin/src/DataGrids/RolesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/RolesDataGrid.php index cd722a785..e1b4ebdfc 100755 --- a/packages/Webkul/Admin/src/DataGrids/RolesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/RolesDataGrid.php @@ -58,8 +58,16 @@ class RolesDataGrid extends DataGrid public function prepareActions() { $this->addAction([ 'type' => 'Edit', + 'method' => 'GET', // use GET request only for redirect purposes 'route' => 'admin.roles.edit', 'icon' => 'icon pencil-lg-icon' ]); + + $this->addAction([ + 'type' => 'Delete', + 'method' => 'POST', // use GET request only for redirect purposes + 'route' => 'admin.roles.delete', + 'icon' => 'icon trash-icon' + ]); } } \ No newline at end of file diff --git a/packages/Webkul/Admin/src/DataGrids/SliderDataGrid.php b/packages/Webkul/Admin/src/DataGrids/SliderDataGrid.php index 9b8c5d8d9..2a6964640 100755 --- a/packages/Webkul/Admin/src/DataGrids/SliderDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/SliderDataGrid.php @@ -61,12 +61,14 @@ class SliderDataGrid extends DataGrid public function prepareActions() { $this->addAction([ 'type' => 'Edit', + 'method' => 'GET', // use GET request only for redirect purposes 'route' => 'admin.sliders.edit', 'icon' => 'icon pencil-lg-icon' ]); $this->addAction([ 'type' => 'Delete', + 'method' => 'POST', // use GET request only for redirect purposes 'route' => 'admin.sliders.delete', 'icon' => 'icon trash-icon' ]); diff --git a/packages/Webkul/Admin/src/DataGrids/TaxCategoryDataGrid.php b/packages/Webkul/Admin/src/DataGrids/TaxCategoryDataGrid.php index 6aceeea58..8d3d8a266 100755 --- a/packages/Webkul/Admin/src/DataGrids/TaxCategoryDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/TaxCategoryDataGrid.php @@ -57,12 +57,14 @@ class TaxCategoryDataGrid extends DataGrid public function prepareActions() { $this->addAction([ 'type' => 'Edit', + 'method' => 'GET', // use GET request only for redirect purposes 'route' => 'admin.tax-categories.edit', 'icon' => 'icon pencil-lg-icon' ]); $this->addAction([ 'type' => 'Delete', + 'method' => 'POST', // use GET request only for redirect purposes 'route' => 'admin.tax-categories.delete', 'icon' => 'icon trash-icon' ]); diff --git a/packages/Webkul/Admin/src/DataGrids/TaxRateDataGrid.php b/packages/Webkul/Admin/src/DataGrids/TaxRateDataGrid.php index 73246f935..72d3585fb 100755 --- a/packages/Webkul/Admin/src/DataGrids/TaxRateDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/TaxRateDataGrid.php @@ -102,12 +102,14 @@ class TaxRateDataGrid extends DataGrid public function prepareActions() { $this->addAction([ 'type' => 'Edit', + 'method' => 'GET', // use GET request only for redirect purposes 'route' => 'admin.tax-rates.store', 'icon' => 'icon pencil-lg-icon' ]); $this->addAction([ 'type' => 'Delete', + 'method' => 'POST', // use GET request only for redirect purposes 'route' => 'admin.tax-rates.delete', 'icon' => 'icon trash-icon' ]); diff --git a/packages/Webkul/Admin/src/DataGrids/UserDataGrid.php b/packages/Webkul/Admin/src/DataGrids/UserDataGrid.php index 3b3c77861..8bcf6454d 100755 --- a/packages/Webkul/Admin/src/DataGrids/UserDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/UserDataGrid.php @@ -86,12 +86,14 @@ class UserDataGrid extends DataGrid public function prepareActions() { $this->addAction([ 'type' => 'Edit', + 'method' => 'GET', // use GET request only for redirect purposes 'route' => 'admin.users.edit', 'icon' => 'icon pencil-lg-icon' ]); $this->addAction([ 'type' => 'Delete', + 'method' => 'POST', // use GET request only for redirect purposes 'route' => 'admin.users.delete', 'icon' => 'icon trash-icon' ]); diff --git a/packages/Webkul/Admin/src/Http/Controllers/Customer/CustomerController.php b/packages/Webkul/Admin/src/Http/Controllers/Customer/CustomerController.php index 41c799bfb..048f23b63 100755 --- a/packages/Webkul/Admin/src/Http/Controllers/Customer/CustomerController.php +++ b/packages/Webkul/Admin/src/Http/Controllers/Customer/CustomerController.php @@ -172,10 +172,18 @@ class CustomerController extends Controller */ public function destroy($id) { - $this->customer->delete($id); + $customer = $this->customer->findorFail($id); - session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Customer'])); + try { + $customer->delete(); - return redirect()->back(); + session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Customer'])); + + return 'true'; + } catch(\Exception $e) { + session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Customer'])); + } + + return 'false'; } -} +} \ No newline at end of file diff --git a/packages/Webkul/Admin/src/Http/Controllers/Customer/CustomerGroupController.php b/packages/Webkul/Admin/src/Http/Controllers/Customer/CustomerGroupController.php index d26ca0a97..f6b03ca25 100755 --- a/packages/Webkul/Admin/src/Http/Controllers/Customer/CustomerGroupController.php +++ b/packages/Webkul/Admin/src/Http/Controllers/Customer/CustomerGroupController.php @@ -8,7 +8,7 @@ use Webkul\Admin\Http\Controllers\Controller; use Webkul\Customer\Repositories\CustomerGroupRepository as CustomerGroup; /** - * CustomerGroup controlller + * Customer Group controlller * * @author Rahul Shukla * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) @@ -32,7 +32,7 @@ class CustomerGroupController extends Controller /** * Create a new controller instance. * - * @param Webkul\Customer\Repositories\CustomerGroupRepository as customerGroup; + * @param \Webkul\Customer\Repositories\CustomerGroupRepository as customerGroup; * @return void */ public function __construct(CustomerGroup $customerGroup) @@ -127,18 +127,24 @@ class CustomerGroupController extends Controller */ public function destroy($id) { - $group = $this->customerGroup->findOneByField('id', $id); + $customerGroup = $this->customerGroup->findorFail($id); - if ($group->is_user_defined == 0) { + if ($customerGroup->is_user_defined == 0) { session()->flash('warning', trans('admin::app.customers.customers.group-default')); - } else if (count($group->customer) > 0) { + } else if (count($customerGroup->customer) > 0) { session()->flash('warning', trans('admin::app.response.customer-associate', ['name' => 'Customer Group'])); } else { - session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Customer Group'])); + try { + $customerGroup->delete($id); - $this->customerGroup->delete($id); + session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Customer Group'])); + + return 'true'; + } catch(\Exception $e) { + session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Customer Group'])); + } } - return redirect()->back(); + return 'false'; } } \ No newline at end of file diff --git a/packages/Webkul/Admin/src/Http/routes.php b/packages/Webkul/Admin/src/Http/routes.php index 557d36ab2..68a2b2704 100755 --- a/packages/Webkul/Admin/src/Http/routes.php +++ b/packages/Webkul/Admin/src/Http/routes.php @@ -64,7 +64,7 @@ Route::group(['middleware' => ['web']], function () { 'redirect' => 'admin.customer.index' ])->name('admin.customer.update'); - Route::get('customers/delete/{id}', 'Webkul\Admin\Http\Controllers\Customer\CustomerController@destroy')->name('admin.customer.delete'); + Route::post('customers/delete/{id}', 'Webkul\Admin\Http\Controllers\Customer\CustomerController@destroy')->name('admin.customer.delete'); Route::get('reviews', 'Webkul\Product\Http\Controllers\ReviewController@index')->defaults('_config',[ 'view' => 'admin::customers.reviews.index' @@ -92,7 +92,7 @@ Route::group(['middleware' => ['web']], function () { 'redirect' => 'admin.customer.review.index' ])->name('admin.customer.review.update'); - Route::get('reviews/delete/{id}', 'Webkul\Product\Http\Controllers\ReviewController@destroy')->defaults('_config', [ + Route::post('reviews/delete/{id}', 'Webkul\Product\Http\Controllers\ReviewController@destroy')->defaults('_config', [ 'redirect' => 'admin.customer.review.index' ])->name('admin.customer.review.delete'); @@ -127,7 +127,7 @@ Route::group(['middleware' => ['web']], function () { 'redirect' => 'admin.groups.index' ])->name('admin.groups.update'); - Route::get('groups/delete/{id}', 'Webkul\Admin\Http\Controllers\Customer\CustomerGroupController@destroy')->name('admin.groups.delete'); + Route::post('groups/delete/{id}', 'Webkul\Admin\Http\Controllers\Customer\CustomerGroupController@destroy')->name('admin.groups.delete'); // Sales Routes @@ -213,7 +213,7 @@ Route::group(['middleware' => ['web']], function () { ])->name('admin.catalog.products.update'); //product delete - Route::get('/products/delete/{id}', 'Webkul\Product\Http\Controllers\ProductController@destroy')->name('admin.catalog.products.delete'); + Route::post('/products/delete/{id}', 'Webkul\Product\Http\Controllers\ProductController@destroy')->name('admin.catalog.products.delete'); //product massaction Route::post('products/massaction', 'Webkul\Product\Http\Controllers\ProductController@massActionHandler')->name('admin.catalog.products.massaction'); @@ -254,7 +254,7 @@ Route::group(['middleware' => ['web']], function () { 'redirect' => 'admin.catalog.categories.index' ])->name('admin.catalog.categories.update'); - Route::get('/categories/delete/{id}', 'Webkul\Category\Http\Controllers\CategoryController@destroy')->name('admin.catalog.categories.delete'); + Route::post('/categories/delete/{id}', 'Webkul\Category\Http\Controllers\CategoryController@destroy')->name('admin.catalog.categories.delete'); // Catalog Attribute Routes @@ -303,7 +303,7 @@ Route::group(['middleware' => ['web']], function () { 'redirect' => 'admin.catalog.families.index' ])->name('admin.catalog.families.update'); - Route::get('/families/delete/{id}', 'Webkul\Attribute\Http\Controllers\AttributeFamilyController@destroy')->name('admin.catalog.families.delete'); + Route::post('/families/delete/{id}', 'Webkul\Attribute\Http\Controllers\AttributeFamilyController@destroy')->name('admin.catalog.families.delete'); }); // User Routes @@ -333,7 +333,7 @@ Route::group(['middleware' => ['web']], function () { ])->name('admin.users.update'); //delete backend user - Route::get('/users/delete/{id}', 'Webkul\User\Http\Controllers\UserController@destroy')->name('admin.users.delete'); + Route::post('/users/delete/{id}', 'Webkul\User\Http\Controllers\UserController@destroy')->name('admin.users.delete'); Route::post('/confirm/destroy', 'Webkul\User\Http\Controllers\UserController@destroySelf')->defaults('_config', [ 'redirect' => 'admin.users.index' @@ -360,6 +360,8 @@ Route::group(['middleware' => ['web']], function () { 'redirect' => 'admin.roles.index' ])->name('admin.roles.update'); + Route::post('/roles/delete/{id}', 'Webkul\User\Http\Controllers\RoleController@destroy')->name('admin.roles.delete'); + // Locale Routes Route::get('/locales', 'Webkul\Core\Http\Controllers\LocaleController@index')->defaults('_config', [ @@ -382,7 +384,7 @@ Route::group(['middleware' => ['web']], function () { 'redirect' => 'admin.locales.index' ])->name('admin.locales.update'); - Route::get('/locales/delete/{id}', 'Webkul\Core\Http\Controllers\LocaleController@destroy')->name('admin.locales.delete'); + Route::post('/locales/delete/{id}', 'Webkul\Core\Http\Controllers\LocaleController@destroy')->name('admin.locales.delete'); // Currency Routes @@ -406,7 +408,7 @@ Route::group(['middleware' => ['web']], function () { 'redirect' => 'admin.currencies.index' ])->name('admin.currencies.update'); - Route::get('/currencies/delete/{id}', 'Webkul\Core\Http\Controllers\CurrencyController@destroy')->name('admin.currencies.delete'); + Route::post('/currencies/delete/{id}', 'Webkul\Core\Http\Controllers\CurrencyController@destroy')->name('admin.currencies.delete'); Route::post('/currencies/massdelete', 'Webkul\Core\Http\Controllers\CurrencyController@massDestroy')->name('admin.currencies.massdelete'); @@ -432,7 +434,7 @@ Route::group(['middleware' => ['web']], function () { 'redirect' => 'admin.exchange_rates.index' ])->name('admin.exchange_rates.update'); - Route::get('/exchange_rates/delete/{id}', 'Webkul\Core\Http\Controllers\ExchangeRateController@destroy')->name('admin.exchange_rates.delete'); + Route::post('/exchange_rates/delete/{id}', 'Webkul\Core\Http\Controllers\ExchangeRateController@destroy')->name('admin.exchange_rates.delete'); // Inventory Source Routes @@ -456,7 +458,7 @@ Route::group(['middleware' => ['web']], function () { 'redirect' => 'admin.inventory_sources.index' ])->name('admin.inventory_sources.update'); - Route::get('/inventory_sources/delete/{id}', 'Webkul\Inventory\Http\Controllers\InventorySourceController@destroy')->name('admin.inventory_sources.delete'); + Route::post('/inventory_sources/delete/{id}', 'Webkul\Inventory\Http\Controllers\InventorySourceController@destroy')->name('admin.inventory_sources.delete'); // Channel Routes Route::get('/channels', 'Webkul\Core\Http\Controllers\ChannelController@index')->defaults('_config', [ @@ -479,7 +481,7 @@ Route::group(['middleware' => ['web']], function () { 'redirect' => 'admin.channels.index' ])->name('admin.channels.update'); - Route::get('/channels/delete/{id}', 'Webkul\Core\Http\Controllers\ChannelController@destroy')->name('admin.channels.delete'); + Route::post('/channels/delete/{id}', 'Webkul\Core\Http\Controllers\ChannelController@destroy')->name('admin.channels.delete'); // Admin Profile route @@ -511,7 +513,7 @@ Route::group(['middleware' => ['web']], function () { ])->name('admin.customers.subscribers.index'); //destroy a newsletter subscription item - Route::get('subscribers/delete/{id}', 'Webkul\Core\Http\Controllers\SubscriptionController@destroy')->name('admin.customers.subscribers.delete'); + Route::post('subscribers/delete/{id}', 'Webkul\Core\Http\Controllers\SubscriptionController@destroy')->name('admin.customers.subscribers.delete'); Route::get('subscribers/edit/{id}', 'Webkul\Core\Http\Controllers\SubscriptionController@edit')->defaults('_config', [ 'view' => 'admin::customers.subscribers.edit' @@ -547,7 +549,7 @@ Route::group(['middleware' => ['web']], function () { ])->name('admin.sliders.update'); //destroy a slider item - Route::get('slider/delete/{id}', 'Webkul\Core\Http\Controllers\SliderController@destroy')->name('admin.sliders.delete'); + Route::post('slider/delete/{id}', 'Webkul\Core\Http\Controllers\SliderController@destroy')->name('admin.sliders.delete'); //tax routes Route::get('/tax-categories', 'Webkul\Tax\Http\Controllers\TaxController@index')->defaults('_config', [ @@ -572,7 +574,7 @@ Route::group(['middleware' => ['web']], function () { 'redirect' => 'admin.tax-categories.index' ])->name('admin.tax-categories.update'); - Route::get('/tax-categories/delete/{id}', 'Webkul\Tax\Http\Controllers\TaxCategoryController@destroy')->name('admin.tax-categories.delete'); + Route::post('/tax-categories/delete/{id}', 'Webkul\Tax\Http\Controllers\TaxCategoryController@destroy')->name('admin.tax-categories.delete'); //tax category ends @@ -597,7 +599,7 @@ Route::group(['middleware' => ['web']], function () { 'redirect' => 'admin.tax-rates.index' ])->name('admin.tax-rates.update'); - Route::get('/tax-rates/delete/{id}', 'Webkul\Tax\Http\Controllers\TaxRateController@destroy')->name('admin.tax-rates.delete'); + Route::post('/tax-rates/delete/{id}', 'Webkul\Tax\Http\Controllers\TaxRateController@destroy')->name('admin.tax-rates.delete'); Route::post('/tax-rates/import', 'Webkul\Tax\Http\Controllers\TaxRateController@import')->defaults('_config', [ 'redirect' => 'admin.tax-rates.index' diff --git a/packages/Webkul/Admin/src/Providers/AdminServiceProvider.php b/packages/Webkul/Admin/src/Providers/AdminServiceProvider.php index 2ce326f16..baa5d19f1 100755 --- a/packages/Webkul/Admin/src/Providers/AdminServiceProvider.php +++ b/packages/Webkul/Admin/src/Providers/AdminServiceProvider.php @@ -23,7 +23,8 @@ class AdminServiceProvider extends ServiceProvider */ public function boot() { - include __DIR__ . '/../Http/routes.php'; + // include __DIR__ . '/../Http/routes.php'; + $this->loadRoutesFrom(__DIR__ . '/../Http/routes.php'); $this->loadTranslationsFrom(__DIR__ . '/../Resources/lang', 'admin'); diff --git a/packages/Webkul/Admin/src/Resources/assets/js/app.js b/packages/Webkul/Admin/src/Resources/assets/js/app.js index 9235fe478..d47fad2df 100755 --- a/packages/Webkul/Admin/src/Resources/assets/js/app.js +++ b/packages/Webkul/Admin/src/Resources/assets/js/app.js @@ -1,8 +1,7 @@ -window.jQuery = window.$ = $ = require("jquery"); +require("./bootstrap"); + window.Vue = require("vue"); window.VeeValidate = require("vee-validate"); -window.axios = require("axios"); -require("./bootstrap"); Vue.use(VeeValidate); Vue.prototype.$http = axios @@ -42,6 +41,7 @@ window.onload = function () { documentScrollWhenScrolled = $(document).scrollTop(); if (documentScrollWhenScrolled <= differenceInHeight + 70) { $('.navbar-left').css('top', -documentScrollWhenScrolled + 60 + 'px'); + scrollTopValueWhenNavBarFixed = $(document).scrollTop(); } }); @@ -50,6 +50,7 @@ window.onload = function () { documentScrollWhenScrolled = $(document).scrollTop(); if (documentScrollWhenScrolled <= differenceInHeight + 70) { $('.navbar-left').css('top', -documentScrollWhenScrolled + 60 + 'px'); + scrollTopValueWhenNavBarFixed = $(document).scrollTop(); } }); @@ -143,4 +144,4 @@ $(document).ready(function () { } } }); -}); \ No newline at end of file +}); diff --git a/packages/Webkul/Admin/src/Resources/assets/js/bootstrap.js b/packages/Webkul/Admin/src/Resources/assets/js/bootstrap.js index 56227eee7..a3c9974d7 100755 --- a/packages/Webkul/Admin/src/Resources/assets/js/bootstrap.js +++ b/packages/Webkul/Admin/src/Resources/assets/js/bootstrap.js @@ -1,3 +1,7 @@ +window._ = require('lodash'); +window.axios = require("axios"); +window.$ = window.jQuery = require('jquery'); + if (window.axios) { window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; @@ -14,4 +18,4 @@ if (window.axios) { } else { console.error('CSRF token not found: https://laravel.com/docs/csrf#csrf-x-csrf-token'); } -} \ No newline at end of file +} diff --git a/packages/Webkul/Admin/src/Resources/lang/en/app.php b/packages/Webkul/Admin/src/Resources/lang/en/app.php index e05407590..18570d96b 100755 --- a/packages/Webkul/Admin/src/Resources/lang/en/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/en/app.php @@ -798,10 +798,12 @@ return [ ], 'response' => [ + 'being-used' => 'This resource :name is getting used in :source', 'cannot-delete-default' => 'Cannot delete the default channel', 'create-success' => ':name created successfully.', 'update-success' => ':name updated successfully.', 'delete-success' => ':name deleted successfully.', + 'delete-failed' => 'Error encountered while deleting :name.', 'last-delete-error' => 'At least one :name is required.', 'user-define-error' => 'Can not delete system :name', 'attribute-error' => ':name is used in configurable products.', diff --git a/packages/Webkul/Admin/src/Resources/views/catalog/attributes/create.blade.php b/packages/Webkul/Admin/src/Resources/views/catalog/attributes/create.blade.php index 5017d1f6a..30bf27afe 100755 --- a/packages/Webkul/Admin/src/Resources/views/catalog/attributes/create.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/catalog/attributes/create.blade.php @@ -378,4 +378,4 @@ } }) -@endpush \ No newline at end of file +@endpush diff --git a/packages/Webkul/Attribute/src/Http/Controllers/AttributeController.php b/packages/Webkul/Attribute/src/Http/Controllers/AttributeController.php index 9b835d5b4..729707200 100755 --- a/packages/Webkul/Attribute/src/Http/Controllers/AttributeController.php +++ b/packages/Webkul/Attribute/src/Http/Controllers/AttributeController.php @@ -129,8 +129,6 @@ class AttributeController extends Controller */ public function destroy($id) { - return request()->all(); - $attribute = $this->attribute->findOrFail($id); if(!$attribute->is_user_defined) { @@ -141,12 +139,13 @@ class AttributeController extends Controller session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Attribute'])); + return 'true'; } catch(\Exception $e) { - session()->flash('error', trans('admin::app.response.attribute-error', ['name' => 'Attribute'])); + session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Attribute'])); } } - return redirect()->back(); + return 'false'; } /** @@ -162,7 +161,7 @@ class AttributeController extends Controller $indexes = explode(',', request()->input('indexes')); foreach ($indexes as $key => $value) { - $attribute = $this->attribute->findOrFail($value); + $attribute = $this->attribute->find($value); try { if (! $attribute->is_user_defined) { diff --git a/packages/Webkul/Attribute/src/Http/Controllers/AttributeFamilyController.php b/packages/Webkul/Attribute/src/Http/Controllers/AttributeFamilyController.php index eeacce85f..c6687f0e1 100755 --- a/packages/Webkul/Attribute/src/Http/Controllers/AttributeFamilyController.php +++ b/packages/Webkul/Attribute/src/Http/Controllers/AttributeFamilyController.php @@ -132,19 +132,26 @@ class AttributeFamilyController extends Controller */ public function destroy($id) { - $attributeFamily = $this->attributeFamily->find($id); + $attributeFamily = $this->attributeFamily->findOrFail($id); if ($this->attributeFamily->count() == 1) { session()->flash('error', trans('admin::app.response.last-delete-error', ['name' => 'Family'])); + } else if ($attributeFamily->products()->count()) { session()->flash('error', trans('admin::app.response.attribute-product-error', ['name' => 'Attribute family'])); } else { - $this->attributeFamily->delete($id); + try { + $attributeFamily->delete($id); - session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Family'])); + session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Family'])); + + return 'true'; + } catch (\Exception $e) { + session()->flash('error', trans( 'admin::app.response.delete-failed', ['name' => 'Family'])); + } } - return redirect()->back(); + return 'false'; } /** diff --git a/packages/Webkul/Category/src/Http/Controllers/CategoryController.php b/packages/Webkul/Category/src/Http/Controllers/CategoryController.php index 4c33db524..9e3bc63f0 100755 --- a/packages/Webkul/Category/src/Http/Controllers/CategoryController.php +++ b/packages/Webkul/Category/src/Http/Controllers/CategoryController.php @@ -149,19 +149,27 @@ class CategoryController extends Controller */ public function destroy($id) { - Event::fire('catalog.category.delete.before', $id); + $category = $this->category->findOrFail($id); - if(strtolower($this->category->find($id)->name) == "root") { + if(strtolower($category->name) == "root") { session()->flash('warning', trans('admin::app.response.delete-category-root', ['name' => 'Category'])); } else { - session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Category'])); + try { + Event:: fire('catalog.category.delete.before', $id); - $this->category->delete($id); + $category->delete($id); - Event::fire('catalog.category.delete.after', $id); + Event::fire('catalog.category.delete.after', $id); + + session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Category'])); + + return 'true'; + } catch(\Exception $e) { + session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Category'])); + } } - return redirect()->back(); + return 'false'; } /** diff --git a/packages/Webkul/Core/src/Http/Controllers/ChannelController.php b/packages/Webkul/Core/src/Http/Controllers/ChannelController.php index b6d72dd66..2c293de28 100755 --- a/packages/Webkul/Core/src/Http/Controllers/ChannelController.php +++ b/packages/Webkul/Core/src/Http/Controllers/ChannelController.php @@ -10,7 +10,7 @@ use Webkul\Core\Repositories\ChannelRepository as Channel; /** * Channel controller * - * @author Jitendra Singh + * @author Jitendra Singh * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ class ChannelController extends Controller @@ -32,7 +32,7 @@ class ChannelController extends Controller /** * Create a new controller instance. * - * @param Webkul\Core\Repositories\ChannelRepository $channel + * @param \Webkul\Core\Repositories\ChannelRepository $channel * @return void */ public function __construct(Channel $channel) @@ -146,24 +146,27 @@ class ChannelController extends Controller */ public function destroy($id) { - $channel = $this->channel->find($id); + $channel = $this->channel->findOrFail($id); if ($channel->code == config('app.channel')) { session()->flash('error', trans('admin::app.response.cannot-delete-default', ['name' => 'Channel'])); } else { - Event::fire('core.channel.delete.before', $id); - try { - $this->channel->delete($id); + Event::fire('core.channel.delete.before', $id); + + $channel->delete($id); + + Event::fire('core.channel.delete.after', $id); + + session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Channel'])); + + return 'true'; } catch(\Exception $e) { - session()->flash('warning', trans($e->getMessage())); + // session()->flash('warning', trans($e->getMessage())); + session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Channel'])); } - - Event::fire('core.channel.delete.after', $id); - - session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Channel'])); } - return redirect()->back(); + return 'false'; } } \ No newline at end of file diff --git a/packages/Webkul/Core/src/Http/Controllers/CurrencyController.php b/packages/Webkul/Core/src/Http/Controllers/CurrencyController.php index 7ebcfc304..d85811bbf 100755 --- a/packages/Webkul/Core/src/Http/Controllers/CurrencyController.php +++ b/packages/Webkul/Core/src/Http/Controllers/CurrencyController.php @@ -132,24 +132,27 @@ class CurrencyController extends Controller */ public function destroy($id) { - try { - Event::fire('core.currency.delete.before', $id); + $currency = $this->currency->findOrFail($id); - $result = $this->currency->delete($id); + if ($this->currency()->count == 1) { + sesssion()->flash('warning', trans( 'admin::app.response.last-delete-error', ['name' => 'Currency'])); + } else { + try { + Event::fire('core.currency.delete.before', $id); - Event::fire('core.currency.delete.after', $id); + $currency->delete(); + + Event::fire('core.currency.delete.after', $id); - if($result) session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Currency'])); - else - session()->flash('error', trans('admin::app.response.last-delete-error', ['name' => 'Currency'])); - } catch (\Exception $e) { - session()->flash('error', $e->getMessage()); - session()->flash('error', trans('admin::app.response.currency-delete-error', ['name' => 'Currency'])); + return 'true'; + } catch (\Exception $e) { + session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Currency'])); + } } - return redirect()->back(); + return 'false'; } /** diff --git a/packages/Webkul/Core/src/Http/Controllers/ExchangeRateController.php b/packages/Webkul/Core/src/Http/Controllers/ExchangeRateController.php index e19ce60ac..4085f8f0a 100755 --- a/packages/Webkul/Core/src/Http/Controllers/ExchangeRateController.php +++ b/packages/Webkul/Core/src/Http/Controllers/ExchangeRateController.php @@ -11,7 +11,7 @@ use Webkul\Core\Repositories\CurrencyRepository as Currency; /** * ExchangeRate controller * - * @author Jitendra Singh + * @author Jitendra Singh * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ class ExchangeRateController extends Controller @@ -147,18 +147,26 @@ class ExchangeRateController extends Controller */ public function destroy($id) { + $exchangeRate = $this->exchangeRate->findOrFail($id); + if($this->exchangeRate->count() == 1) { session()->flash('error', trans('admin::app.response.last-delete-error', ['name' => 'Exchange rate'])); } else { - Event::fire('core.exchange_rate.delete.before', $id); + try { + Event::fire('core.exchange_rate.delete.before', $id); - $this->exchangeRate->delete($id); + $exchangeRate->delete(); - Event::fire('core.exchange_rate.delete.after', $id); + session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Exchange rate'])); - session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Exchange rate'])); + Event::fire('core.exchange_rate.delete.after', $id); + + return 'true'; + } catch (\Exception $e) { + session()->flash('error', trans('admin::app.response.delete-error', ['name' => 'Exchange rate'])); + } } - return redirect()->back(); + return 'false'; } } \ No newline at end of file diff --git a/packages/Webkul/Core/src/Http/Controllers/LocaleController.php b/packages/Webkul/Core/src/Http/Controllers/LocaleController.php index 40f8bef93..c32355456 100755 --- a/packages/Webkul/Core/src/Http/Controllers/LocaleController.php +++ b/packages/Webkul/Core/src/Http/Controllers/LocaleController.php @@ -132,18 +132,26 @@ class LocaleController extends Controller */ public function destroy($id) { + $locale = $this->locale->findOrFail($id); + if($this->locale->count() == 1) { session()->flash('error', trans('admin::app.response.last-delete-error', ['name' => 'Locale'])); } else { - Event::fire('core.locale.delete.before', $id); + try { + Event::fire('core.locale.delete.before', $id); - $this->locale->delete($id); + $locale->delete(); - Event::fire('core.locale.delete.after', $id); + Event::fire('core.locale.delete.after', $id); - session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Locale'])); + session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Locale'])); + + return 'true'; + } catch(\Exception $e) { + session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Locale'])); + } } - return redirect()->back(); + return 'false'; } } \ No newline at end of file diff --git a/packages/Webkul/Core/src/Http/Controllers/SliderController.php b/packages/Webkul/Core/src/Http/Controllers/SliderController.php index 19c98e734..c70cbfd6c 100755 --- a/packages/Webkul/Core/src/Http/Controllers/SliderController.php +++ b/packages/Webkul/Core/src/Http/Controllers/SliderController.php @@ -133,14 +133,22 @@ class SliderController extends Controller */ public function destroy($id) { + $slider = $this->slider->findOrFail($id); + if ($this->slider->findWhere(['channel_id' => core()->getCurrentChannel()->id])->count() == 1) { session()->flash('warning', trans('admin::app.settings.sliders.delete-success')); } else { - $this->slider->destroy($id); + try { + $slider->delete(); - session()->flash('success', trans('admin::app.settings.sliders.delete-fail')); + session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Slider'])); + + return 'true'; + } catch(\Exception $e) { + session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Slider'])); + } } - return redirect()->back(); + return 'false'; } } \ No newline at end of file diff --git a/packages/Webkul/Core/src/Http/Controllers/SubscriptionController.php b/packages/Webkul/Core/src/Http/Controllers/SubscriptionController.php index c88388cb3..c031ec2ee 100755 --- a/packages/Webkul/Core/src/Http/Controllers/SubscriptionController.php +++ b/packages/Webkul/Core/src/Http/Controllers/SubscriptionController.php @@ -88,11 +88,18 @@ class SubscriptionController extends Controller */ public function destroy($id) { - if ($this->subscribers->delete($id)) - session()->flash('success', trans('admin::app.customers.subscribers.delete')); - else - session()->flash('error', trans('admin::app.customers.subscribers.delete-failed')); + $subscriber = $this->subscribers->findOrFail($id); - return redirect()->back(); + try { + $subscriber->delete(); + + session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Subscriber'])); + + return 'true'; + } catch (\Exception $e) { + session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Subscriber'])); + } + + return 'false'; } } \ No newline at end of file diff --git a/packages/Webkul/Inventory/src/Http/Controllers/InventorySourceController.php b/packages/Webkul/Inventory/src/Http/Controllers/InventorySourceController.php index 56bc7ee91..0394719a4 100755 --- a/packages/Webkul/Inventory/src/Http/Controllers/InventorySourceController.php +++ b/packages/Webkul/Inventory/src/Http/Controllers/InventorySourceController.php @@ -155,18 +155,26 @@ class InventorySourceController extends Controller */ public function destroy($id) { + $inventorySource = $this->inventorySource->findOrFail($id); + if($this->inventorySource->count() == 1) { session()->flash('error', trans('admin::app.response.last-delete-error', ['name' => 'Inventory source'])); } else { - Event::fire('inventory.inventory_source.delete.before', $id); + try { + Event::fire('inventory.inventory_source.delete.before', $id); - $this->inventorySource->delete($id); + $inventorySource->delete(); - Event::fire('inventory.inventory_source.delete.after', $id); + Event::fire('inventory.inventory_source.delete.after', $id); - session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Inventory source'])); + session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Inventory source'])); + + return 'true'; + } catch (\Exception $e) { + session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Inventory source'])); + } } - return redirect()->back(); + return 'false'; } } \ No newline at end of file diff --git a/packages/Webkul/Product/src/Http/Controllers/ProductController.php b/packages/Webkul/Product/src/Http/Controllers/ProductController.php index 858f3243a..f67acf00f 100755 --- a/packages/Webkul/Product/src/Http/Controllers/ProductController.php +++ b/packages/Webkul/Product/src/Http/Controllers/ProductController.php @@ -202,11 +202,19 @@ class ProductController extends Controller */ public function destroy($id) { - $this->product->delete($id); + $product = $this->product->findOrFail($id); - session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Product'])); + try { + $product->delete(); - return redirect()->back(); + session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Product'])); + + return 'true'; + } catch (\Exception $e) { + session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Product'])); + } + + return 'false'; } /** diff --git a/packages/Webkul/Product/src/Http/Controllers/ReviewController.php b/packages/Webkul/Product/src/Http/Controllers/ReviewController.php index 683574cc9..669cda5f3 100755 --- a/packages/Webkul/Product/src/Http/Controllers/ReviewController.php +++ b/packages/Webkul/Product/src/Http/Controllers/ReviewController.php @@ -105,15 +105,23 @@ class ReviewController extends Controller */ public function destroy($id) { - Event::fire('customer.review.delete.before', $id); + $productReview = $this->productReview->findOrFail($id); - $this->productReview->delete($id); + try { + Event::fire('customer.review.delete.before', $id); - Event::fire('customer.review.delete.after', $id); + $productReview->delete(); - session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Review'])); + Event::fire('customer.review.delete.after', $id); - return redirect()->back(); + session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Review'])); + + return 'true'; + } catch (\Exception $e) { + session()->flash('success', trans('admin::app.response.delete-failed', ['name' => 'Review'])); + } + + return 'false'; } /** diff --git a/packages/Webkul/Tax/src/Http/Controllers/TaxCategoryController.php b/packages/Webkul/Tax/src/Http/Controllers/TaxCategoryController.php index 6a9ad3a5e..55fdc0f44 100755 --- a/packages/Webkul/Tax/src/Http/Controllers/TaxCategoryController.php +++ b/packages/Webkul/Tax/src/Http/Controllers/TaxCategoryController.php @@ -173,16 +173,22 @@ class TaxCategoryController extends Controller */ public function destroy($id) { + $taxCategory = $this->taxCategory->findOrFail($id); + try { Event::fire('tax.tax_category.delete.before', $id); - $this->taxCategory->delete($id); + $taxCategory->delete($id); Event::fire('tax.tax_category.delete.after', $id); + + session()->flash('success', trans('admin::app.response.delete-failed', ['name' => 'Tax Category'])); + + return 'true'; } catch(Exception $e) { - return redirect()->back(); + session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Tax Category'])); } - return redirect()->back(); + return 'false'; } } diff --git a/packages/Webkul/Tax/src/Http/Controllers/TaxRateController.php b/packages/Webkul/Tax/src/Http/Controllers/TaxRateController.php index 3476bd4fe..f2e360802 100755 --- a/packages/Webkul/Tax/src/Http/Controllers/TaxRateController.php +++ b/packages/Webkul/Tax/src/Http/Controllers/TaxRateController.php @@ -156,20 +156,23 @@ class TaxRateController extends Controller */ public function destroy($id) { - // if ($this->taxRate->count() == 1) { - // session()->flash('error', trans('admin::app.settings.tax-rates.atleast-one')); - // } else { + $taxRate = $this->taxRate->findOrFail($id); + try { + Event::fire('tax.tax_rate.delete.before', $id); - // session()->flash('success', trans('admin::app.settings.tax-rates.delete')); - // } - Event::fire('tax.tax_rate.delete.before', $id); + $taxRate->delete($id); - $this->taxRate->delete($id); + Event::fire('tax.tax_rate.delete.after', $id); - Event::fire('tax.tax_rate.delete.after', $id); + session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Tax Rate'])); - return redirect()->back(); + return 'true'; + } catch(\Exception $e) { + session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Tax Rate'])); + } + + return 'false'; } /** diff --git a/packages/Webkul/Ui/src/Resources/views/datagrid/body.blade.php b/packages/Webkul/Ui/src/Resources/views/datagrid/body.blade.php index a5c76aabf..ba5d14a84 100644 --- a/packages/Webkul/Ui/src/Resources/views/datagrid/body.blade.php +++ b/packages/Webkul/Ui/src/Resources/views/datagrid/body.blade.php @@ -41,7 +41,7 @@ @if ($enableActions)
- {{-- @foreach ($actions as $action) + @foreach ($actions as $action) - @endforeach --}} + @endforeach
@endif @@ -67,4 +67,4 @@ {{ $norecords }} @endif - \ No newline at end of file + diff --git a/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php b/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php index a3109da6e..c322fa8fd 100644 --- a/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php +++ b/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php @@ -704,12 +704,12 @@ var element = e.currentTarget; axios.post(element.getAttribute('data-action'), { - // _token : element.getAttribute('data-token'), - // method : element.getAttribute('data-method') + _token : element.getAttribute('data-token'), + _method : element.getAttribute('data-method') }).then(function(response) { this.result = response; - console.log(this.result); - // location.reload(true); + // console.log(this.result); + location.reload(); }); e.preventDefault(); diff --git a/packages/Webkul/User/src/Http/Controllers/RoleController.php b/packages/Webkul/User/src/Http/Controllers/RoleController.php index b92d62960..111b3b04b 100755 --- a/packages/Webkul/User/src/Http/Controllers/RoleController.php +++ b/packages/Webkul/User/src/Http/Controllers/RoleController.php @@ -134,18 +134,28 @@ class RoleController extends Controller */ public function destroy($id) { - if ($this->role->count() == 1) { - session()->flash('error', 'At least one role is required.'); + $role = $this->role->findOrFail($id); + + if ($role->admins->count() >= 1) { + session()->flash('error', trans('admin::app.response.being-used', ['name' => 'Role', 'source' => 'Admin'])); + } else if($this->role->count() == 1) { + session()->flash('error', trans('admin::app.response.last-delete-error', ['name' => 'Role'])); } else { - Event::fire('user.role.delete.before', $id); + try { + Event::fire('user.role.delete.before', $id); - $this->role->delete($id); + $role->delete($id); - Event::fire('user.role.delete.after', $id); + Event::fire('user.role.delete.after', $id); - session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Role'])); + session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Role'])); + + return 'true'; + } catch(\Exception $e) { + session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Role'])); + } } - return redirect()->back(); + return 'false'; } } \ No newline at end of file diff --git a/packages/Webkul/User/src/Http/Controllers/UserController.php b/packages/Webkul/User/src/Http/Controllers/UserController.php index 73b531547..8c9b49be9 100755 --- a/packages/Webkul/User/src/Http/Controllers/UserController.php +++ b/packages/Webkul/User/src/Http/Controllers/UserController.php @@ -159,6 +159,8 @@ class UserController extends Controller */ public function destroy($id) { + $user = $this->admin->findOrFail($id); + if ($this->admin->count() == 1) { session()->flash('error', trans('admin::app.response.last-delete-error', ['name' => 'Admin'])); } else { @@ -168,14 +170,20 @@ class UserController extends Controller return view('admin::customers.confirm-password'); } - $this->admin->delete($id); + try { + $user->delete(); - Event::fire('user.admin.delete.after', $id); + session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Admin'])); - session()->flash('success', trans('admin::app.response.update-success', ['name' => 'Admin source'])); + Event::fire('user.admin.delete.after', $id); + + return 'true'; + } catch (\Exception $e) { + session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Admin'])); + } } - return redirect()->back(); + return 'false'; } /**