ok
Direktori : /home2/selectio/www/limpiar.in.net/updates/app/Http/Controllers/ |
Current File : /home2/selectio/www/limpiar.in.net/updates/app/Http/Controllers/ProductQueryController.php |
<?php namespace App\Http\Controllers; use App\Models\Product; use App\Models\ProductQuery; use App\Models\User; use Auth; use Illuminate\Http\Request; class ProductQueryController extends Controller { public function __construct() { // Staff Permission Check $this->middleware(['permission:view_all_product_queries'])->only('admin_index'); } /** * Retrieve queries that belongs to current seller */ public function index() { $admin_id = User::where('user_type','admin')->first()->id; $queries = ProductQuery::where('seller_id', $admin_id)->latest()->paginate(20); return view('backend.support.product_query.index', compact('queries')); } /** * Retrieve specific query using query id. */ public function show($id) { $query = ProductQuery::find(decrypt($id)); return view('backend.support.product_query.show', compact('query')); } /** * store products queries through the ProductQuery model * data comes from product details page * authenticated user can leave queries about the product */ public function store(Request $request) { $this->validate($request, [ 'question' => 'required|string', ]); $product = Product::find($request->product); $query = new ProductQuery(); $query->customer_id = Auth::id(); $query->seller_id = $product->user_id; $query->product_id = $product->id; $query->question = $request->question; $query->save(); flash(translate('Your query has been submittes successfully'))->success(); return redirect()->back(); } /** * Store reply against the question from Admin panel */ public function reply(Request $request, $id) { $this->validate($request, [ 'reply' => 'required', ]); $query = ProductQuery::find($id); $query->reply = $request->reply; $query->save(); flash(translate('Replied successfully!'))->success(); return redirect()->route('product_query.index'); } }