issue #594
This commit is contained in:
parent
71207b059c
commit
a7f545fcf4
|
|
@ -0,0 +1,88 @@
|
|||
<?php
|
||||
|
||||
namespace Webkul\Shop\DataGrids;
|
||||
|
||||
use Webkul\Ui\DataGrid\DataGrid;
|
||||
use DB;
|
||||
|
||||
/**
|
||||
* OrderDataGrid class
|
||||
*
|
||||
* @author Rahul Shukla <rahulshkla.symfont517@webkul.com>
|
||||
* @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com)
|
||||
*/
|
||||
class OrderDataGrid extends DataGrid
|
||||
{
|
||||
protected $index = 'id'; //the column that needs to be treated as index column
|
||||
|
||||
protected $sortOrder = 'desc'; //asc or desc
|
||||
|
||||
public function prepareQueryBuilder()
|
||||
{
|
||||
$queryBuilder = DB::table('orders as order')
|
||||
->addSelect('order.id', 'order.status', 'order.created_at', 'order.grand_total')
|
||||
->where('customer_id', auth()->guard('customer')->user()->id);
|
||||
|
||||
$this->setQueryBuilder($queryBuilder);
|
||||
}
|
||||
|
||||
public function addColumns()
|
||||
{
|
||||
$this->addColumn([
|
||||
'index' => 'id',
|
||||
'label' => trans('shop::app.customer.account.order.index.order_id'),
|
||||
'type' => 'number',
|
||||
'searchable' => false,
|
||||
'sortable' => true,
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
'index' => 'created_at',
|
||||
'label' => trans('shop::app.customer.account.order.index.date'),
|
||||
'type' => 'datetime',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
'index' => 'grand_total',
|
||||
'label' => trans('shop::app.customer.account.order.index.total'),
|
||||
'type' => 'price',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
'index' => 'status',
|
||||
'label' => trans('shop::app.customer.account.order.index.status'),
|
||||
'type' => 'string',
|
||||
'searchable' => false,
|
||||
'sortable' => true,
|
||||
'closure' => true,
|
||||
'wrapper' => function ($value) {
|
||||
if ($value->status == 'processing')
|
||||
return '<span class="badge badge-md badge-success">Processing</span>';
|
||||
else if ($value->status == 'completed')
|
||||
return '<span class="badge badge-md badge-success">Completed</span>';
|
||||
else if ($value->status == "canceled")
|
||||
return '<span class="badge badge-md badge-danger">Canceled</span>';
|
||||
else if ($value->status == "closed")
|
||||
return '<span class="badge badge-md badge-info">Closed</span>';
|
||||
else if ($value->status == "pending")
|
||||
return '<span class="badge badge-md badge-warning">Pending</span>';
|
||||
else if ($value->status == "pending_payment")
|
||||
return '<span class="badge badge-md badge-warning">Pending Payment</span>';
|
||||
else if ($value->status == "fraud")
|
||||
return '<span class="badge badge-md badge-danger">Fraud</span>';
|
||||
}
|
||||
]);
|
||||
}
|
||||
|
||||
public function prepareActions() {
|
||||
$this->addAction([
|
||||
'type' => 'View',
|
||||
'route' => 'customer.orders.view',
|
||||
'icon' => 'icon eye-icon'
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
|
@ -65,7 +65,8 @@ class OrderController extends Controller
|
|||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index() {
|
||||
public function index()
|
||||
{
|
||||
$orders = $this->order->findWhere([
|
||||
'customer_id' => auth()->guard('customer')->user()->id
|
||||
]);
|
||||
|
|
|
|||
|
|
@ -23,71 +23,10 @@
|
|||
{!! view_render_event('bagisto.shop.customers.account.orders.list.before', ['orders' => $orders]) !!}
|
||||
|
||||
<div class="account-items-list">
|
||||
|
||||
<div class="account-table-content">
|
||||
<div class="table">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th> {{ __('shop::app.customer.account.order.index.order_id') }}</th>
|
||||
<th> {{ __('shop::app.customer.account.order.index.date') }} </th>
|
||||
<th> {{ __('shop::app.customer.account.order.index.total') }} </th>
|
||||
<th> {{ __('shop::app.customer.account.order.index.status')}} </th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
@foreach ($orders as $order)
|
||||
|
||||
<tr>
|
||||
<td data-value="{{ __('shop::app.customer.account.order.index.order_id') }}">
|
||||
<a href="{{ route('customer.orders.view', $order->id) }}">
|
||||
#{{ $order->id }}
|
||||
</a>
|
||||
</td>
|
||||
|
||||
<td data-value="{{ __('shop::app.customer.account.order.index.date') }}">{{ core()->formatDate($order->created_at, 'd M Y') }}</td>
|
||||
|
||||
<td data-value="{{ __('shop::app.customer.account.order.index.total') }}">
|
||||
{{ core()->formatPrice($order->grand_total, $order->order_currency_code) }}
|
||||
</td>
|
||||
|
||||
<td data-value="{{ __('shop::app.customer.account.order.index.status') }}">
|
||||
@if($order->status == 'processing')
|
||||
<span class="badge badge-md badge-success">Processing</span>
|
||||
@elseif ($order->status == 'completed')
|
||||
<span class="badge badge-md badge-success">Completed</span>
|
||||
@elseif ($order->status == "canceled")
|
||||
<span class="badge badge-md badge-danger">Canceled</span>
|
||||
@elseif ($order->status == "closed")
|
||||
<span class="badge badge-md badge-info">Closed</span>
|
||||
@elseif ($order->status == "pending")
|
||||
<span class="badge badge-md badge-warning">Pending</span>
|
||||
@elseif ($order->status == "pending_payment")
|
||||
<span class="badge badge-md badge-warning">Pending Payment</span>
|
||||
@elseif ($order->status == "fraud")
|
||||
<span class="badge badge-md badge-danger">Fraud</span>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@endforeach
|
||||
|
||||
@if (! $orders->count())
|
||||
<tr>
|
||||
<td class="empty" colspan="10" style="text-align: center;">{{ __('admin::app.common.no-result-found') }}</td>
|
||||
<tr>
|
||||
@endif
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@inject('order','Webkul\Shop\DataGrids\OrderDataGrid')
|
||||
{!! $order->render() !!}
|
||||
</div>
|
||||
|
||||
@if (!$orders->count())
|
||||
<div class="responsive-empty">{{ __('admin::app.common.no-result-found') }}</div>
|
||||
@endif
|
||||
|
||||
</div>
|
||||
|
||||
{!! view_render_event('bagisto.shop.customers.account.orders.list.after', ['orders' => $orders]) !!}
|
||||
|
|
|
|||
Loading…
Reference in New Issue