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 @@
- + @@ -140,6 +140,14 @@ @{{ errors.first('per_customer') }}
+
+ + + + + @{{ errors.first('limit') }} +
+
@@ -232,10 +240,10 @@ @{{ errors.first('action_type') }}
-
+
- + @{{ errors.first('disc_amount') }}
@@ -248,60 +256,63 @@ @{{ errors.first('disc_threshold') }}
-
- +
+
+ - + -
- + @{{ errors.first('free_shipping') }} +
- + + + @{{ errors.first('apply_to_shipping') }} +
-
- - +
+
+ - @{{ errors.first('code') }} + + + @{{ errors.first('prefix') }} +
+ +
+ + + + + @{{ errors.first('suffix') }} +
-
- +
+
+ - + - @{{ errors.first('prefix') }} -
- -
- - - - - @{{ errors.first('suffix') }} -
- -
- - - - - @{{ errors.first('code') }} + @{{ errors.first('code') }} +
@@ -371,7 +382,7 @@ disc_quantity: 0, end_other_rules: null, coupon_type: null, - free_shipping: false, + free_shipping: null, auto_generated: null, all_conditions: null, @@ -380,6 +391,7 @@ suffix: null, prefix: null, dedicated_label: true, + limit: null, global_label: null, label: { @@ -435,7 +447,6 @@ }, checkAutogen() { - console.log(this.auto_generation); }, detectApply() { @@ -461,7 +472,7 @@ useCoupon() { if (this.use_coupon == 1) { - this.auto_generation = 0; + this.auto_generation = 1; } }, @@ -474,7 +485,6 @@ }, onSubmit: function (e) { - debugger this.$validator.validateAll().then(result => { if (result) { e.target.submit(); diff --git a/packages/Webkul/Admin/src/Resources/views/promotions/cart-rule/edit.blade.php b/packages/Webkul/Admin/src/Resources/views/promotions/cart-rule/edit.blade.php index 7425c0490..634a782ee 100644 --- a/packages/Webkul/Admin/src/Resources/views/promotions/cart-rule/edit.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/promotions/cart-rule/edit.blade.php @@ -5,279 +5,349 @@ @stop @section('content') +
-
- @csrf - - - -
-
- -
-
-
+
@push('scripts')