Edit File: OrderController.php
<?php namespace App\Http\Controllers\DelegatesDashboard; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use App\Traits\GeneralTrait; use App\Traits\Uploadable; use App\Traits\ApiTrait; use App\Models\User; use App\Models\Order; use App\Models\Nationality; use App\Models\Region; use App\Models\City; use App\Models\Cartype; use App\Models\DelegateJoinrequest; use App\Models\Country; use App\Models\Product; use App\Models\OrderProduct; use App\Http\Resources\OrderResource; use Session; use Validator; use Auth; class OrderController extends Controller { // use ApiTrait, GeneralTrait, Uploadable; #get active orders public function active_orders() { $orders = Order::join( 'delegate_joinrequests', 'orders.delegate_id', '=', 'delegate_joinrequests.user_id' ) ->where( 'delegate_joinrequests.company_id', Auth::user()->id ) ->select( 'orders.*' ) ->where( 'orders.status', 'inprogress' ) ->distinct() ->orderBy( 'created_at', 'desc' ) ->get(); return view( 'delegates_dashboard.orders.active_orders', compact( 'orders' ) ); } #get finished orders public function finished_orders() { $orders = Order::join( 'delegate_joinrequests', 'orders.delegate_id', '=', 'delegate_joinrequests.user_id' ) ->where( 'delegate_joinrequests.company_id', Auth::user()->id ) ->select( 'orders.*' ) ->where( 'orders.status', 'finished' ) ->distinct() ->orderBy( 'created_at', 'desc' ) ->get(); return view( 'delegates_dashboard.orders.finished_orders', compact( 'orders' ) ); } #get Closed orders public function closed_orders() { $orders = Order::join( 'delegate_joinrequests', 'orders.delegate_id', '=', 'delegate_joinrequests.user_id' ) ->where( 'delegate_joinrequests.company_id', Auth::user()->id ) ->select( 'orders.*' ) ->where( 'orders.status', 'closed' ) ->distinct() ->orderBy( 'created_at', 'desc' ) ->get(); return view( 'delegates_dashboard.orders.closed_orders', compact( 'orders' ) ); } #get order details public function order_details( $id ) { $order = new OrderResource( Order::find( $id ) ); if ( !$order ) { return redirect()->back()->with( [ 'fail' => trans( 'delegates_dashboard.order_not_found' ) ] ); } $products = Product::join( 'order_products', 'products.id', '=', 'order_products.product_id' ) ->where( 'order_products.order_id', $order->id ) ->select( 'products.*', 'order_products.qty', 'order_products.price' ) ->distinct() ->orderBy( 'created_at', 'desc' ) ->get(); return view( 'delegates_dashboard.orders.order_details', compact( 'order', 'products' ) ); } }
Back to File Manager