|
@@ -4,6 +4,7 @@ namespace Longyi\Gift\DataGrids\GiftCards;
|
|
|
|
|
|
|
|
use Illuminate\Support\Facades\DB;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
use Webkul\DataGrid\DataGrid;
|
|
use Webkul\DataGrid\DataGrid;
|
|
|
|
|
+use Longyi\Gift\Models\GiftCardUsageLog;
|
|
|
|
|
|
|
|
class GiftCardsDataGrid extends DataGrid
|
|
class GiftCardsDataGrid extends DataGrid
|
|
|
{
|
|
{
|
|
@@ -16,6 +17,10 @@ class GiftCardsDataGrid extends DataGrid
|
|
|
{
|
|
{
|
|
|
$queryBuilder = DB::table('gift_cards')
|
|
$queryBuilder = DB::table('gift_cards')
|
|
|
->leftJoin('customers', 'gift_cards.customer_id', '=', 'customers.id')
|
|
->leftJoin('customers', 'gift_cards.customer_id', '=', 'customers.id')
|
|
|
|
|
+ ->leftJoin('gift_card_usage_logs as gift_log', function ($leftJoin) {
|
|
|
|
|
+ $leftJoin->on('gift_log.customer_id', '=', 'gift_cards.customer_id')
|
|
|
|
|
+ ->where('gift_log.action_type', GiftCardUsageLog::ACTION_ADD);
|
|
|
|
|
+ })
|
|
|
->select(
|
|
->select(
|
|
|
'gift_cards.id',
|
|
'gift_cards.id',
|
|
|
'gift_cards.giftcard_number',
|
|
'gift_cards.giftcard_number',
|
|
@@ -28,6 +33,7 @@ class GiftCardsDataGrid extends DataGrid
|
|
|
'customers.last_name',
|
|
'customers.last_name',
|
|
|
'gift_cards.expirationdate',
|
|
'gift_cards.expirationdate',
|
|
|
'gift_cards.giftcard_status',
|
|
'gift_cards.giftcard_status',
|
|
|
|
|
+ 'gift_log.notes',
|
|
|
'gift_cards.created_at',
|
|
'gift_cards.created_at',
|
|
|
'gift_cards.updated_at'
|
|
'gift_cards.updated_at'
|
|
|
);
|
|
);
|
|
@@ -37,6 +43,7 @@ class GiftCardsDataGrid extends DataGrid
|
|
|
$this->addFilter('giftcard_amount', 'gift_cards.giftcard_amount');
|
|
$this->addFilter('giftcard_amount', 'gift_cards.giftcard_amount');
|
|
|
$this->addFilter('giftcard_status', 'gift_cards.giftcard_status');
|
|
$this->addFilter('giftcard_status', 'gift_cards.giftcard_status');
|
|
|
$this->addFilter('created_at', 'gift_cards.created_at');
|
|
$this->addFilter('created_at', 'gift_cards.created_at');
|
|
|
|
|
+ $this->addFilter('notes', 'gift_log.notes');
|
|
|
$this->addFilter('customer_email', 'customers.email');
|
|
$this->addFilter('customer_email', 'customers.email');
|
|
|
|
|
|
|
|
return $queryBuilder;
|
|
return $queryBuilder;
|
|
@@ -146,7 +153,13 @@ class GiftCardsDataGrid extends DataGrid
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
]);
|
|
]);
|
|
|
-
|
|
|
|
|
|
|
+ $this->addColumn([
|
|
|
|
|
+ 'index' => 'notes',
|
|
|
|
|
+ 'label' => 'notes',
|
|
|
|
|
+ 'type' => 'string',
|
|
|
|
|
+ 'filterable' => true,
|
|
|
|
|
+ 'sortable' => true,
|
|
|
|
|
+ ]);
|
|
|
$this->addColumn([
|
|
$this->addColumn([
|
|
|
'index' => 'created_at',
|
|
'index' => 'created_at',
|
|
|
'label' => trans('gift::app.admin.datagrid.created-at'),
|
|
'label' => trans('gift::app.admin.datagrid.created-at'),
|