2020-09-25 16:03:01 +02:00
|
|
|
<?php
|
|
|
|
|
|
2021-03-20 14:38:15 +01:00
|
|
|
namespace App\Http\Controllers\Bo;
|
2020-09-25 16:03:01 +02:00
|
|
|
|
|
|
|
|
use App\Http\Controllers\Controller;
|
|
|
|
|
use Illuminate\Http\Request;
|
|
|
|
|
use App\Models\FaqThemes;
|
|
|
|
|
use App\Models\FaqQuestions;
|
2021-04-28 13:57:12 +02:00
|
|
|
use App\Traits\UpdateModelStatus;
|
2020-09-25 16:03:01 +02:00
|
|
|
|
|
|
|
|
class FaqQuestionsController extends Controller
|
|
|
|
|
{
|
2021-04-28 13:57:12 +02:00
|
|
|
use UpdateModelStatus;
|
|
|
|
|
|
2020-09-25 16:03:01 +02:00
|
|
|
public function index()
|
|
|
|
|
{
|
2021-04-12 10:01:48 +02:00
|
|
|
$q = FaqQuestions::paginate();
|
2020-09-25 16:03:01 +02:00
|
|
|
return view('bo.faq-questions.index', compact('q'));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function create()
|
|
|
|
|
{
|
|
|
|
|
$f = FaqThemes::orderBy('order', 'asc')->get();
|
2021-03-20 14:38:15 +01:00
|
|
|
return view('bo.faq-questions.create', compact('f'));
|
2020-09-25 16:03:01 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function store(Request $request)
|
|
|
|
|
{
|
|
|
|
|
$question = $request->question;
|
|
|
|
|
$answer = $request->answer;
|
|
|
|
|
$positiveVote = $request->positive_vote;
|
|
|
|
|
$negativeVote = $request->negative_vote;
|
2020-09-28 09:52:22 +02:00
|
|
|
$themeId = $request->theme;
|
2020-09-25 16:03:01 +02:00
|
|
|
$status = 0;
|
|
|
|
|
|
|
|
|
|
$request->validate([
|
|
|
|
|
'question' => 'required|max:255',
|
|
|
|
|
'answer' => 'required|max:255',
|
|
|
|
|
'positive_vote' => 'required|min:0',
|
|
|
|
|
'negative_vote' => 'required|min:0',
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
$q = new FaqQuestions();
|
|
|
|
|
$q->question = $question;
|
|
|
|
|
$q->answer = $answer;
|
2021-04-28 13:57:12 +02:00
|
|
|
$q->positive_vote = intval($positiveVote);
|
|
|
|
|
$q->negative_vote = intval($negativeVote);
|
|
|
|
|
$q->faq_themes_id = $themeId;
|
2020-09-25 16:03:01 +02:00
|
|
|
$q->status = $status;
|
|
|
|
|
$q->save();
|
|
|
|
|
|
|
|
|
|
return redirect()->route('bo.faq-questions.index');
|
|
|
|
|
}
|
|
|
|
|
|
2021-04-28 13:57:12 +02:00
|
|
|
public function edit(FaqQuestions $q)
|
2020-09-25 16:03:01 +02:00
|
|
|
{
|
|
|
|
|
$f = FaqThemes::orderBy('order', 'asc')->get();
|
|
|
|
|
return view('bo.faq-questions.edit')
|
|
|
|
|
->with('q', $q)
|
2021-03-20 14:38:15 +01:00
|
|
|
->with('f', $f);
|
2020-09-25 16:03:01 +02:00
|
|
|
}
|
|
|
|
|
|
2021-04-28 13:57:12 +02:00
|
|
|
public function update(Request $request, FaqQuestions $q)
|
2020-09-25 16:03:01 +02:00
|
|
|
{
|
|
|
|
|
$question = $request->question;
|
|
|
|
|
$answer = $request->answer;
|
2021-04-28 13:57:12 +02:00
|
|
|
$positiveVote = intval($request->positive_vote);
|
|
|
|
|
$negativeVote = intval($request->negative_vote);
|
2020-09-28 09:52:22 +02:00
|
|
|
$themeId = $request->theme;
|
2020-09-25 16:03:01 +02:00
|
|
|
$status = $request->status === null ? 0 : 1;
|
|
|
|
|
|
|
|
|
|
$request->validate([
|
|
|
|
|
'question' => 'required|max:255',
|
|
|
|
|
'answer' => 'required|max:255',
|
|
|
|
|
'positive_vote' => 'required|min:0',
|
|
|
|
|
'negative_vote' => 'required|min:0',
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
$q->question = $question;
|
|
|
|
|
$q->answer = $answer;
|
|
|
|
|
$q->positive_vote = $positiveVote;
|
|
|
|
|
$q->negative_vote = $negativeVote;
|
2021-04-28 13:57:12 +02:00
|
|
|
$q->faq_themes_id = $themeId;
|
2020-09-25 16:03:01 +02:00
|
|
|
$q->status = $status;
|
|
|
|
|
$q->save();
|
|
|
|
|
|
|
|
|
|
return redirect()->route('bo.faq-questions.edit', $q->id)->with('success', 'Enregistré !');
|
|
|
|
|
}
|
|
|
|
|
|
2021-04-28 13:57:12 +02:00
|
|
|
public function destroy(FaqQuestions $q)
|
2020-09-25 16:03:01 +02:00
|
|
|
{
|
|
|
|
|
$q->delete();
|
|
|
|
|
|
|
|
|
|
return redirect()->route('bo.faq-questions.index');
|
|
|
|
|
}
|
|
|
|
|
}
|