Viewing file: FaqController.php (3.02 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Models\Faq;
use Illuminate\Http\Request;
class FaqController extends Controller
{
public function index(){
return view('admin.faq.index');
}
public function getAll()
{
$faq = auth()->user()->faqs()->select(['id', 'question', 'status', 'created_at','answer']);
return datatables()->of($faq)
->addColumn('created_at', function ($q) {
return $q->created_at->format('d-m-Y');
})
->addColumn('answer', function ($q) {
return "<div class='show-more' style='max-width: 500px;white-space: pre-wrap'> $q->answer </div>";
})
->addColumn('status',function ($q){
return $q->status;
})
->addColumn('action', function ($q) {
return "<a class='btn btn-sm btn-info' href='" . route('admin.faq.edit', [$q]) . "'>Edit</a> " .
'<button class="btn btn-sm btn-danger" data-message="Are you sure you want to delete this faq"
data-action=' . route('admin.faq.destroy', [$q]) . '
data-input={"_method":"delete"}
data-toggle="modal" data-target="#modal-confirm">Delete</button>';
})
->rawColumns(['action','status','answer'])
->toJson();
}
public function show(){}
public function create(){
return view('admin.faq.create');
}
public function edit(Faq $faq){
$data['faq'] = $faq;
return view('admin.faq.edit',$data);
}
public function store(Request $request){
if (config("app.demo")){
return redirect()->back()->withErrors(['message' => trans('admin.app_demo_message')]);
}
$request->validate([
'question'=>'required',
'answer'=>'required',
'status'=>'required|in:active,inactive',
]);
auth()->user()->faqs()->create($request->all());
return redirect()->back()->with('success', trans('admin.message.faq_created'));
}
public function update(Request $request, Faq $faq){
if (config("app.demo")){
return redirect()->back()->withErrors(['message' => trans('admin.app_demo_message')]);
}
$request->validate([
'question'=>'required',
'answer'=>'required',
'status'=>'required|in:active,inactive',
]);
$faq->update($request->all());
return redirect()->back()->with('success', trans('admin.message.faq_updated'));
}
public function destroy(Faq $faq)
{
if (config("app.demo")){
return redirect()->back()->withErrors(['message' => trans('admin.app_demo_message')]);
}
$faq->delete();
return redirect()->back()->with('success', trans('admin.message.faq_deleted'));
}
}
|