diff --git a/packages/Webkul/Admin/src/DataGrids/CartRuleDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CartRuleDataGrid.php index ed235fe07..232e3f88b 100644 --- a/packages/Webkul/Admin/src/DataGrids/CartRuleDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CartRuleDataGrid.php @@ -21,7 +21,7 @@ class CartRuleDataGrid extends DataGrid { $queryBuilder = DB::table('cart_rules') ->select('id') - ->addSelect('id', 'name', 'description', 'status', 'end_other_rules', 'action_type'); + ->addSelect('id', 'name', 'starts_from', 'ends_till', 'usage_throttle', 'per_customer', 'status', 'end_other_rules', 'action_type'); $this->setQueryBuilder($queryBuilder); } @@ -47,8 +47,17 @@ class CartRuleDataGrid extends DataGrid ]); $this->addColumn([ - 'index' => 'description', - 'label' => trans('admin::app.datagrid.desc'), + 'index' => 'per_customer', + 'label' => trans('admin::app.datagrid.per-cust'), + 'type' => 'string', + 'searchable' => false, + 'sortable' => true, + 'filterable' => true + ]); + + $this->addColumn([ + 'index' => 'usage_throttle', + 'label' => trans('admin::app.datagrid.usage-throttle'), 'type' => 'string', 'searchable' => false, 'sortable' => true, @@ -61,7 +70,13 @@ class CartRuleDataGrid extends DataGrid 'type' => 'boolean', 'searchable' => false, 'sortable' => true, - 'filterable' => true + 'filterable' => true, + 'wrapper' => function($value) { + if ($value->end_other_rules == 1) + return 'true'; + else + return 'false'; + } ]); $this->addColumn([ @@ -70,7 +85,13 @@ class CartRuleDataGrid extends DataGrid 'type' => 'boolean', 'searchable' => false, 'sortable' => true, - 'filterable' => true + 'filterable' => true, + 'wrapper' => function($value) { + if ($value->end_other_rules == 1) + return 'true'; + else + return 'false'; + } ]); $this->addColumn([ @@ -85,28 +106,28 @@ class CartRuleDataGrid extends DataGrid public function prepareActions() { - // $this->addAction([ - // 'type' => 'Edit', - // 'method' => 'GET', //use post only for redirects only - // 'route' => 'admin.catalog.attributes.edit', - // 'icon' => 'icon pencil-lg-icon' - // ]); + $this->addAction([ + 'type' => 'Edit', + 'method' => 'GET', //use post only for redirects only + 'route' => 'admin.cart-rule.edit', + 'icon' => 'icon pencil-lg-icon' + ]); - // $this->addAction([ - // 'type' => 'Delete', - // 'method' => 'POST', //use post only for requests other than redirects - // 'route' => 'admin.catalog.attributes.delete', - // 'icon' => 'icon trash-icon' - // ]); + $this->addAction([ + 'type' => 'Delete', + 'method' => 'POST', //use post only for requests other than redirects + 'route' => 'admin.cart-rule.delete', + 'icon' => 'icon trash-icon' + ]); } public function prepareMassActions() { - $this->addMassAction([ - 'type' => 'delete', - 'action' => route('admin.catalog.attributes.massdelete'), - 'label' => 'Delete', - 'method' => 'DELETE' - ]); + // $this->addMassAction([ + // 'type' => 'delete', + // 'action' => route('admin.catalog.attributes.massdelete'), + // 'label' => 'Delete', + // 'method' => 'DELETE' + // ]); } } diff --git a/packages/Webkul/Admin/src/DataGrids/CouponsDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CouponsDataGrid.php new file mode 100644 index 000000000..e69de29bb diff --git a/packages/Webkul/Admin/src/Http/routes.php b/packages/Webkul/Admin/src/Http/routes.php index 58525dbf0..56c980db9 100755 --- a/packages/Webkul/Admin/src/Http/routes.php +++ b/packages/Webkul/Admin/src/Http/routes.php @@ -643,7 +643,7 @@ Route::group(['middleware' => ['web']], function () { // Route::post('/catalog-rule/delete/{id}', 'Webkul\Discount\Http\Controllers\CatalogRuleController@destroy')->name('admin.catalog-rule.delete'); - Route::post('fetch/options', 'Webkul\Discount\Http\Controllers\CatalogRuleController@fetchAttributeOptions')->name('admin.catalog-rule.options'); + // Route::post('fetch/options', 'Webkul\Discount\Http\Controllers\CatalogRuleController@fetchAttributeOptions')->name('admin.catalog-rule.options'); Route::get('/cart-rule', 'Webkul\Discount\Http\Controllers\CartRuleController@index')->defaults('_config', [ 'view' => 'admin::promotions.cart-rule.index' @@ -654,8 +654,18 @@ Route::group(['middleware' => ['web']], function () { ])->name('admin.cart-rule.create'); Route::post('/cart-rule/store', 'Webkul\Discount\Http\Controllers\CartRuleController@store')->defaults('_config', [ - 'view' => 'admin.cart-rule.index' + 'route' => 'admin.cart-rule.index' ])->name('admin.cart-rule.store'); + + Route::get('/cart-rule/edit/{$id}', 'Webkul\Discount\Http\Controllers\CartRuleController@edit')->defaults('_config', [ + 'view' => 'admin::promotions.cart-rule.edit' + ])->name('admin.cart-rule.edit'); + + Route::post('/cart-rule/update/{$id}', 'Webkul\Discount\Http\Controllers\CartRuleController@update')->defaults('_config', [ + 'redirect' => 'admin.cart-rule.index' + ])->name('admin.cart-rule.update'); + + Route::post('/cart-rule/delete/{id}', 'Webkul\Discount\Http\Controllers\CartRuleController@destroy')->name('admin.cart-rule.delete'); }); }); }); diff --git a/packages/Webkul/Admin/src/Resources/assets/sass/app.scss b/packages/Webkul/Admin/src/Resources/assets/sass/app.scss index 194e3e6b8..292f65ed6 100755 --- a/packages/Webkul/Admin/src/Resources/assets/sass/app.scss +++ b/packages/Webkul/Admin/src/Resources/assets/sass/app.scss @@ -298,6 +298,17 @@ body { } } +.boolean-control-container { + display: flex; + flex-direction: row; + justify-content: flex-start; + width: 750px; + + .control-group { + width: 200px; + } +} + .control-group { label { width: 70%; diff --git a/packages/Webkul/Admin/src/Resources/lang/en/app.php b/packages/Webkul/Admin/src/Resources/lang/en/app.php index 651651e93..9da997ad4 100755 --- a/packages/Webkul/Admin/src/Resources/lang/en/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/en/app.php @@ -156,6 +156,8 @@ return [ 'attribute-family' => 'Attribute Family', 'starts-from' => 'Starts From', 'ends-till' => 'Ends Till', + 'per-cust' => 'Per Customer', + 'usage-throttle' => 'Usage Times' ], 'account' => [ @@ -808,13 +810,18 @@ return [ 'conditions' => 'Conditions', 'are' => 'are', 'true' => 'true', - 'false' => 'false' + 'false' => 'false', + 'limit' => 'Usage Limit', + 'specific-coupon' => 'Specific Coupon(Check) / Auto Generated(Unheck)', + 'free-shipping' => 'Free Shipping' ], 'status' => [ 'success' => 'Success! rule created', + 'success-coupon' => 'Success! rule created along with coupon', 'failed' => 'Error! failed to create rule', 'update-success' => 'Success! rule updated', + 'update-coupon-success' => 'Success! rule updated along with coupon', 'update-failed' => 'Error! cannot update', 'delete-success' => 'Sucess! rule deleted', 'delete-failed' => 'Error! cannot delete' diff --git a/packages/Webkul/Admin/src/Resources/views/promotions/cart-rule/create.blade.php b/packages/Webkul/Admin/src/Resources/views/promotions/cart-rule/create.blade.php index 59e37cf0f..ffede8220 100644 --- a/packages/Webkul/Admin/src/Resources/views/promotions/cart-rule/create.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/promotions/cart-rule/create.blade.php @@ -125,7 +125,7 @@