Edit File: AdController.php
<?php namespace App\Http\Controllers\Admin; use App\Models\Ads; use App\Traits\Report; use Illuminate\Http\Request; use App\Http\Controllers\Controller; use App\Http\Requests\Admin\Ad\Store; use Session; use App\Jobs\AdminReplayAdRequestNotifyJob; class AdController extends Controller { /*************************** get all **************************/ public function index() { $status = request()->segment(3) ; $rows = Ads::where('status' , $status)->latest()->get(); return view('admin.ads.index', compact('rows')); } /*************************** store **************************/ public function create() { return view('admin.ads.create'); } public function refuseAd(Request $request){ $row = Ads::findOrFail($request->id); $row->status = 'refused'; $row->save(); Report::addToLog(' رفض اعلان') ; dispatch( new AdminReplayAdRequestNotifyJob($row->store->user , 'refused')); Session::flash('success', awtTrans('تم رفض الطلب بنجاح')); return redirect()->route('admin.ads.index'); } public function acceptAd(Request $request){ $row = Ads::findOrFail($request->id); $row->status = 'accepted'; $row->save(); Report::addToLog(' قبول اعلان') ; dispatch(new AdminReplayAdRequestNotifyJob($row->store->user , 'accepted')); Session::flash('success', awtTrans('تم قبول الطلب بنجاح')); return redirect()->route('admin.ads.index'); } /*************************** store **************************/ public function store(Store $request) { Ads::create($request->validated() +( [ 'title' => ['ar' => $request->title_ar , 'en' => $request->title_en] , 'content' => ['ar' => $request->content_ar , 'en' => $request->content_en] , ])); Report::addToLog(' اضافه اعلان') ; return response()->json(['url' => route('admin.ads.index')]); } /*************************** edit page **************************/ public function edit($id) { $row = Ads::findOrFail($id); return view('admin.ads.edit' , ['row' => $row]); } /*************************** update **************************/ public function update(Store $request, $id) { $row = Ads::findOrFail($id)->update($request->validated() +( [ 'title' => ['ar' => $request->title_ar , 'en' => $request->title_en] , 'content' => ['ar' => $request->content_ar , 'en' => $request->content_en] , ])); Report::addToLog(' تعديل اعلان') ; return response()->json(['url' => route('admin.ads.index')]); } /*************** show *************************************/ public function show($id) { $row = Ads::findOrFail($id); return view('admin.ads.show' , ['row' => $row]); } /*************************** delete **************************/ public function destroy($id) { Ads::findOrFail($id)->delete(); Report::addToLog(' حذف اعلان') ; return response()->json(['id' =>$id]); } public function destroyAll(Request $request) { $requestIds = json_decode($request->data); foreach ($requestIds as $id) { $ids[] = $id->id; } if (Ads::WhereIn('id',$ids)->delete()) { Report::addToLog(' حذف العديد من الاعلانات') ; return response()->json('success'); } else { return response()->json('failed'); } } }
Back to File Manager