limit(10)->get(); // TODO : Return la view } public function show($id) { $forum = Forum::find($id); // TODO : Return la view } public function create(Request $request) { $request->validate([ 'title' => 'required|string|max:255', 'content' => 'required' ]); $customerId = Auth::guard('customer')->user()->id; $themeId = filter_var($request->theme_id, FILTER_SANITIZE_NUMBER_INT); if (!ForumThemes::find($themeId)) return back()->withErrors("Les données envoyées sont incorrects, merci de réessayer."); $title = filter_var($request->title, FILTER_SANITIZE_STRING); $content = filter_var($request->content, FILTER_SANITIZE_STRING); $forum = new Forum(); $forum->customer_id = $customerId; $forum->theme_id = $themeId; $forum->title = $title; $forum->content = $content; $forum->save(); return back()->with('success', 'Votre post a bien été créer, il est désormais visible.'); } public function answer(Request $request) { $request->validate([ 'content' => 'required', ]); $customerId = Auth::guard('customer')->user()->id; $forumId = filter_var($request->forum_id, FILTER_SANITIZE_NUMBER_INT); if (!Forum::find($forumId)) return back()->withErrors("Les données envoyées sont incorrects, merci de réessayer."); $content = filter_var($request->content, FILTER_SANITIZE_STRING); $answer = new ForumAnswers(); $answer->customer_id = $customerId; $answer->forum_id = $forumId; $answer->content = $content; $answer->save(); return back()->with('success', 'Votre réponse a bien été envoyée, elle est désormais visible.'); } // Supprimer un forum et toutes ses réponses public function delete($forumId) { // Sécurité admin if (!Auth::check()) return back(); $forum = Forum::findOrFail($forumId); $forum->answers()->delete(); $forum->delete(); return back()->with('success', 'Le forum a bien été supprimer'); } public function shareAddress($customerId) { $sender = Customers::findOrFail(Auth::guard('customer')->user()->id); $receiver = Customers::findOrFail($customerId); /** @var \App\Lib\LDCCRM\ApiV1 */ $crm = app('crmApi'); $crmCustomer = $crm->getCustomer($sender->crm_id); if ($crmCustomer->status === "OK") { if ($crmCustomer->address === null || $crmCustomer->postcode === null || $crmCustomer->city === null) { // TODO : Renvoyer vers le profil pour compléter les infos manquantes avec un message (complété vos infos) } } else { switch ($crmCustomer->code) { case 101: return back()->withErrors("Une erreur est survenue, veuillez réessayer."); default: return back()->withErrors("Une erreur est survenue, veuillez réessayer."); } } $shareAddress = new ShareAddress(); $shareAddress->sender_id = $sender->id; $shareAddress->receiver_id = $receiver->id; $shareAddress->save(); return back()->with('success', "Votre adresse a bien été partagé."); } }