Edit File: GeneralController.php
<?php namespace App\Http\Controllers\DelegatesDashboard; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use App\Http\Requests\DelegatesDashboard\ContactUsRequest; use App\Traits\GeneralTrait; use App\Traits\ApiTrait; use App\Traits\Uploadable; use App\Models\Contact; use App\Models\Order; use App\Models\Setting; use App\Models\Notification; use App\Models\User; use App\Models\DelegateJoinrequest; use App\Models\DelegateCompany; use Session; use Validator; use Auth; use App; class GeneralController extends Controller { use GeneralTrait, Uploadable,ApiTrait; public function index(){ $user=Auth::user(); $delegates=User::where('type','delegate') ->where('company_id',$user->id) ->where('status','active') ->get('id') ->toArray(); $inprogress=Order::join('users','orders.delegate_id', '=', 'users.id' ) ->where('users.company_id',$user->id) ->select('orders.*') ->where('orders.status','inprogress') ->distinct() ->count(); $finished=Order::join('users','orders.delegate_id', '=', 'users.id' ) ->where('users.company_id',$user->id) ->select('orders.*') ->where('orders.status','finished') ->distinct() ->count(); $closed=Order::join('users','orders.delegate_id', '=', 'users.id' ) ->where('users.company_id',$user->id) ->select('orders.*') ->where('orders.status','closed') ->distinct() ->count(); $pending_requests=DelegateJoinrequest:: where('company_id',$user->id) ->where('status','pending') ->count(); $approved_requests=DelegateJoinrequest:: where('company_id',$user->id) ->where('status','approved') ->count(); $rejected_requests=DelegateJoinrequest:: where('company_id',$user->id) ->where('status','rejected') ->count(); $active_delegates=User::where('type','delegates') ->where('company_id',$user->id) ->where('status','active') ->count(); $pending_delegates=User::where('type','delegates') ->where('company_id',$user->id) ->where('status','pending') ->count(); $blocked_delegates=User::where('type','delegates') ->where('company_id',$user->id) ->where('status','block') ->count(); $recent_added=DelegateJoinrequest:: where('company_id',$user->id) ->with('user') ->orderBy('created_at','desc') ->take(20)->get(); return view('delegates_dashboard.index',compact('inprogress', 'finished','closed','pending_requests','approved_requests', 'rejected_requests','active_delegates','pending_delegates', 'blocked_delegates','recent_added')); } public function contactUs(){ return view('delegates_dashboard.generals.contactUs'); } public function postContactUs(ContactUsRequest $request){ $user = Auth::user(); $data = $request->validated(); $data['phone'] = $user->phone; $data['user_id'] = $user->id; $message = Contact::create($data); $msg = route('delegates_dashboard.index'); $title =__('dashboard.alerts.message_sent_successfully'); return response()->json([ 'key' => 'success', 'msg' => $msg, 'title'=>$title ]); } public function terms(){ $terms = Setting::where('key','terms_'.app()->getLocale())->first()->value; return view('delegates_dashboard.generals.terms',compact('terms')); } public function notifications(){ $user = Auth::user(); $user->unreadNotifications->markAsRead(); $user->refresh(); $notifications = $user->notifications()->orderBy('created_at','desc')->get(); return view('delegates_dashboard.notifications',compact('user','notifications')); } }
Back to File Manager