ldc-boutique-cnc/app/Http/Controllers/Fo/ContactController.php
2022-11-17 17:39:54 +01:00

51 lines
1.4 KiB
PHP

<?php
namespace App\Http\Controllers\Fo;
use App\Enums\GeneralConfigType;
use App\Enums\StaticPageType;
use App\Http\Controllers\Controller;
use App\Http\Requests\Fo\ContactFormRequest;
use App\Mail\SendContactMail;
use App\Models\GeneralConfig;
use App\Models\Shop;
use App\Models\StaticPage;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Mail;
class ContactController extends Controller
{
/**
* Display contact from
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Contracts\View\View
*/
public function contact(Request $request)
{
$status = $request->session()->get('status');
// 1er magasin en base pour le moment
$shop = Shop::first();
$content = StaticPage::getPageOfType(StaticPageType::contact());
return view('contact', compact('status', 'shop', 'content'));
}
/**
* Submit contact form
*
* @param \App\Http\Requests\Fo\ContactFormRequest $request
* @return \Illuminate\Http\Response
*/
public function contactSubmit(ContactFormRequest $request)
{
$toMail = GeneralConfig::query()->where('type', GeneralConfigType::theme())
->firstOrFail()->data->contact_us_destination_email ?? config('mail.from.address');
// * Envoi du mail d'alerte.
Mail::to($toMail)->send(new SendContactMail($request));
return back()->with('status', true);
}
}