diff --git a/packages/Webkul/Admin/src/DataGrids/CartRuleDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CartRuleDataGrid.php index ad7e167bb..71ecf723c 100644 --- a/packages/Webkul/Admin/src/DataGrids/CartRuleDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CartRuleDataGrid.php @@ -11,18 +11,51 @@ class CartRuleDataGrid extends DataGrid protected $sortOrder = 'desc'; + protected $customer_group = 'all'; + + protected $channel = 'all'; + + public function __construct() + { + parent::__construct(); + + $this->customer_group = request()->get('customer_group') ?? 'all'; + + $this->channel = request()->get('channel') ?? 'all'; + } + public function prepareQueryBuilder() { $queryBuilder = DB::table('cart_rules') - ->leftJoin('cart_rule_coupons', function($leftJoin) { + ->leftJoin('cart_rule_coupons', function ($leftJoin) { $leftJoin->on('cart_rule_coupons.cart_rule_id', '=', 'cart_rules.id') - ->where('cart_rule_coupons.is_primary', 1); + ->where('cart_rule_coupons.is_primary', 1); }) - ->addSelect('cart_rules.id', 'name', 'cart_rule_coupons.code as coupon_code', 'status', 'starts_from', 'ends_till', 'sort_order'); + ->addSelect('cart_rules.id', 'name', 'cart_rule_coupons.code as coupon_code', + 'status', 'starts_from', 'ends_till', 'sort_order'); $this->addFilter('id', 'cart_rules.id'); $this->addFilter('coupon_code', 'cart_rule_coupons.code'); + if ($this->customer_group !== 'all') { + $queryBuilder->leftJoin( + 'cart_rule_customer_groups', + 'cart_rule_customer_groups.cart_rule_id', + '=', + 'cart_rules.id' + ); + $queryBuilder->where('cart_rule_customer_groups.customer_group_id', $this->customer_group); + } + + if ($this->channel !== 'all') { + $queryBuilder->leftJoin( + 'cart_rule_channels', + 'cart_rule_channels.cart_rule_id', + '=', + 'cart_rules.id'); + $queryBuilder->where('cart_rule_channels.channel_id', $this->channel); + } + $this->setQueryBuilder($queryBuilder); } @@ -80,7 +113,7 @@ class CartRuleDataGrid extends DataGrid 'searchable' => true, 'sortable' => true, 'filterable' => true, - 'wrapper' => function($value) { + 'wrapper' => function ($value) { if ($value->status == 1) { return trans('admin::app.datagrid.active'); } else { diff --git a/packages/Webkul/Admin/src/DataGrids/ProductDataGrid.php b/packages/Webkul/Admin/src/DataGrids/ProductDataGrid.php index 3a35601e9..8f3664cf9 100644 --- a/packages/Webkul/Admin/src/DataGrids/ProductDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/ProductDataGrid.php @@ -22,7 +22,7 @@ class ProductDataGrid extends DataGrid parent::__construct(); $this->locale = request()->get('locale') ?? 'all'; - + $this->channel = request()->get('channel') ?? 'all'; } @@ -119,7 +119,7 @@ class ProductDataGrid extends DataGrid 'sortable' => true, 'searchable' => false, 'filterable' => true, - 'wrapper' => function($value) { + 'wrapper' => function ($value) { if ($value->status == 1) { return trans('admin::app.datagrid.active'); } else { @@ -144,7 +144,7 @@ class ProductDataGrid extends DataGrid 'sortable' => true, 'searchable' => false, 'filterable' => false, - 'wrapper' => function($value) { + 'wrapper' => function ($value) { if (is_null($value->quantity)) { return 0; } else { @@ -161,7 +161,7 @@ class ProductDataGrid extends DataGrid 'method' => 'GET', 'route' => 'admin.catalog.products.edit', 'icon' => 'icon pencil-lg-icon', - 'condition' => function() { + 'condition' => function () { return true; }, ]); diff --git a/packages/Webkul/Admin/src/Resources/lang/en/app.php b/packages/Webkul/Admin/src/Resources/lang/en/app.php index db4d43661..92072943d 100755 --- a/packages/Webkul/Admin/src/Resources/lang/en/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/en/app.php @@ -1306,8 +1306,9 @@ return [ 'order-number-suffix' => 'Order Number Suffix', 'default' => 'Default', 'sandbox' => 'Sandbox', - 'all-channels' => 'All', - 'all-locales' => 'All', + 'all-channels' => 'All Channels', + 'all-locales' => 'All Locales', + 'all-customer-groups' => 'All Customer groups', 'invoice-slip-design' => 'Invoice Slip Design', 'logo' => 'logo' ] diff --git a/packages/Webkul/Admin/src/Resources/views/catalog/products/index.blade.php b/packages/Webkul/Admin/src/Resources/views/catalog/products/index.blade.php index f01b54c2b..7832be207 100755 --- a/packages/Webkul/Admin/src/Resources/views/catalog/products/index.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/catalog/products/index.blade.php @@ -19,7 +19,6 @@ @foreach (core()->getAllChannels() as $channelModel) -