public function usersOrders(Request $request)
{
$user = \Auth::user();
$where_field = $user->role == 'person' ? 'user_id' : 'seller_id';
$filter = $request->get('filter') ? explode('*', $request->get('filter')) : [];
$dateFrom = $request->get('dateFrom') ? $request->get('dateFrom') : '';
$dateTo = $request->get('dateTo') ? $request->get('dateTo') : '';
if ($dateFrom == '' && isset($filter[0])) {
$dateFrom = $filter[0];
}
if ($dateTo == '' && isset($filter[1])) {
$dateTo = $filter[1];
}
$openOrders = Order::where($where_field, $user->id)->with('user.profile')->ofType('order')->whereIn('status', ['open', 'pending', 'sent'])->orderBy('created_at', 'desc')->ofDates($dateFrom, $dateTo)->paginate(20);
$closedOrders = Order::where($where_field, $user->id)->with('user.profile')->ofType('order')->ofStatus('closed')->ofDates($dateFrom, $dateTo)->paginate(20);
$cancelledOrders = Order::where($where_field, $user->id)->with('user.profile')->ofType('order')->ofStatus('cancelled')->ofDates($dateFrom, $dateTo)->paginate(20);
$unRate = Order::where($where_field, $user->id)->with('details')->with('user.profile')->ofType('order')->whereIn('status', ['received', 'closed'])->whereNull('rate')->ofDates($dateFrom, $dateTo)->paginate(20);
$panel = ['left' => ['width' => '2', 'class' => 'user-panel'], 'center' => ['width' => '10']];
$select = $request->get('show') ? $request->get('show') : '';
return view('orders.sales', compact('panel', 'openOrders', 'closedOrders', 'cancelledOrders', 'select', 'unRate', 'dateFrom', 'dateTo'));
}