ldc-doux/app/Http/Controllers/ContactController.php
Jérémy Munsch ad20ab9ae1
phpcs fix
2024-01-23 09:37:51 +01:00

53 lines
1.6 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Enums\Country;
use App\Enums\Department;
use App\Http\Requests\ContactFormRequest;
use App\Mail\SendContactMail;
use Illuminate\Support\Facades\Mail;
use Illuminate\Support\Facades\Cache;
class ContactController extends Controller
{
/**
* Show the contact view.
*
* @return \Illuminate\Contracts\View\View
*/
public function contact()
{
$listCountries = Cache::remember('listCountries', 86400, function () {
return Country::toArray();
});
$listDeps = Cache::remember('listDeps', 86400, function () {
return Department::toArray();
});
return view('front.contact', compact('listCountries', 'listDeps'));
}
/**
* Send mail when submit the form.
*
* @param ContactFormRequest $request
* @return \Illuminate\Http\RedirectResponse
*/
public function contactSubmit(ContactFormRequest $request)
{
$data = \collect($request->validated());
$data->put('country', Country::make(intval($request->post('country')))->label);
if ($request->post('department')) {
$data->put('departement', Department::make(intval($request->post('departement')))->label);
}
Mail::to(config('mail.contactsList.contactform'))->send(new SendContactMail($data->all()));
$lang = session()->get('lang', config('app.locale'));
return redirect()->route(session()->get('lang', config('app.locale')) === 'fr' ? 'contact' : $lang . ".contact")
->with('status', true);
}
}