Edit File: HomeController.php
<?php namespace App\Http\Controllers\StoresDashboard; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use App\Traits\GeneralTrait; use App\Traits\Uploadable; use App\Models\Contact; use App\Models\Notification; use App\Http\Requests\ContactUsRequest; use App\Models\Store; use App\Models\Order; use App\Models\Product; use App\Models\Review; use App\Models\StoreCommission; use Session; use Validator; use Auth; class HomeController extends Controller { use GeneralTrait, Uploadable; public function index(){ $user = Auth::user(); $i=1; $store = Store::where('user_id',$user->id) ->orderBy('created_at','desc') ->first(); $new_orders = Order::where('store_id',$store->id) ->where('status','open') ->where('store_status','pending') ->orderBy('created_at','desc') ->get(); $active_orders = Order::where('store_id',$store->id) ->whereIn('store_status',['accepted','prepared']) ->orderBy('created_at','desc') ->get(); $finish_orders = Order::where('store_id',$store->id) ->where('status','finished') ->orderBy('created_at','desc') ->get(); $products = Product::where('store_id',$store->id) ->orderBy('created_at','desc') ->get(); $reviews =Review::where('store_id',$store->id) ->orderBy('created_at','desc') ->get(); return view('stores_dashboard.index',compact('i','user','store','new_orders','active_orders','finish_orders','products','reviews')); } public function get_contact_us(){ return view('stores_dashboard.contact_us'); } public function post_contact_us(ContactUsRequest $request){ $data = $request->validated(); $user = Auth::user(); $message = new Contact; $message->name = $data['name']; $message->email = $data['email']; $message->message = $data['message']; $message->user_id = $user->id; $message->save(); $msg = trans('stores_dashboard.success_msg'); $url = route('stores_dashboard.get_contact_us'); return response()->json([ 'key' => 'success', 'url' => $url, 'msg' => $msg ]); } public function get_reviews(){ $user = Auth::user(); $store = Store::where('user_id',$user->id) ->first(); $reviews =Review::where('store_id',$store->id)->get(); return view('stores_dashboard.reviews',compact('user','store','reviews')); } public function get_notifications(){ $user = Auth::user(); $user->unreadNotifications->markAsRead(); $user->refresh(); $notifications = $user->notifications()->orderBy('created_at','desc')->get(); return view('stores_dashboard.notifications',compact('user','notifications')); } public function get_finance(){ $commissions=StoreCommission::where('user_id',Auth::user()->id) ->orderBy('created_at','desc')->get(); return view('stores_dashboard.commissions.finance',compact('commissions')); } }
Back to File Manager