App\Http\Controllers\OrdersController::usersOrders PHP Method

usersOrders() public method

Shows the seller wich orders he/she has pending.
public usersOrders ( Illuminate\Http\Request $request ) : view
$request Illuminate\Http\Request
return view
    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'));
    }