ldc-boutique-cnc/app/Http/Controllers/Fo/ContactController.php

47 lines
1.2 KiB
PHP
Raw Normal View History

2022-10-03 17:13:44 +02:00
<?php
namespace App\Http\Controllers\Fo;
use App\Enums\StaticPageType;
use App\Http\Controllers\Controller;
use App\Http\Requests\Fo\ContactFormRequest;
2022-12-06 12:59:34 +01:00
use App\Models\Contact;
2022-10-03 17:13:44 +02:00
use App\Models\StaticPage;
2023-02-14 15:49:02 +01:00
use Illuminate\Support\Facades\DB;
2022-10-03 17:13:44 +02:00
class ContactController extends Controller
{
/**
* Display contact from
*
* @return \Illuminate\Contracts\View\View
*/
2023-02-27 17:20:27 +01:00
public function contact()
2022-10-03 17:13:44 +02:00
{
$content = StaticPage::getPageOfType(StaticPageType::contact());
2023-02-27 17:20:27 +01:00
return view('theme::pages.contact', compact('content'));
2022-10-03 17:13:44 +02:00
}
/**
* Submit contact form
*
* @param \App\Http\Requests\Fo\ContactFormRequest $request
* @return \Illuminate\Http\Response
*/
public function contactSubmit(ContactFormRequest $request)
{
2023-02-14 15:49:02 +01:00
return DB::transaction(function () use ($request) {
$contact = new Contact();
$contact->fill($request->validated());
if ($contact->saveOrFail()) {
2023-02-27 17:20:27 +01:00
return redirect()->back()
2023-02-14 15:49:02 +01:00
->with('success', trans('Votre message à été envoyé'));
}
2023-02-27 17:20:27 +01:00
return redirect()->back()
2023-02-14 15:49:02 +01:00
->with('error', trans('Votre message n\'a pas pu être envoyé'));
});
2022-10-03 17:13:44 +02:00
}
}