diff --git a/app/Http/Controllers/Forms/ContactFormController.php b/app/Http/Controllers/Forms/ContactFormController.php index 5b36fab..64c3769 100644 --- a/app/Http/Controllers/Forms/ContactFormController.php +++ b/app/Http/Controllers/Forms/ContactFormController.php @@ -4,13 +4,13 @@ namespace App\Http\Controllers\Forms; use App\Http\Controllers\Controller; use App\Http\Requests\Forms\ContactRequest; -use App\Models\Contact; +use App\Services\ContactService; use Illuminate\Http\RedirectResponse; -use Illuminate\Http\Request; use Inertia\Inertia; class ContactFormController extends Controller { + public function __construct(protected ContactService $contactService) {} /** * Show the contact form page. */ @@ -26,9 +26,17 @@ class ContactFormController extends Controller public function store(ContactRequest $request): RedirectResponse { $validated = $request->validated(); - $contact = new Contact(); - $contact->fill($validated); - $contact->save(); + try { + $contact = $this->contactService->registerNewContactRequest($validated); + } catch (\Throwable $e) { + \Log::error('Erreur lors de la création d\'un contact', [ + 'error' => $e->getMessage(), + 'trace' => $e->getTraceAsString(), + 'data' => $validated, + ]); + + return to_route('contact')->with('error', __('contacts.responses.error')); + } return to_route('contact')->with('success', __('contacts.responses.success')); } diff --git a/app/Http/Controllers/Forms/MembershipFormController.php b/app/Http/Controllers/Forms/MembershipFormController.php index c25ea88..880d7bd 100644 --- a/app/Http/Controllers/Forms/MembershipFormController.php +++ b/app/Http/Controllers/Forms/MembershipFormController.php @@ -49,7 +49,7 @@ class MembershipFormController extends Controller return redirect() ->route('membership') - ->with('error', __('memberships.subscription.failed')); + ->with('error', __('memberships.subscription.error')); } return redirect() diff --git a/app/Services/ContactService.php b/app/Services/ContactService.php new file mode 100644 index 0000000..4bcb00b --- /dev/null +++ b/app/Services/ContactService.php @@ -0,0 +1,21 @@ +fill($data); + $contact->save(); + + } +} diff --git a/lang/en/membership.php b/lang/en/membership.php index dfcc44e..a1b2cba 100644 --- a/lang/en/membership.php +++ b/lang/en/membership.php @@ -22,6 +22,6 @@ return [ 'updated_at' => 'Updated at', 'subscription' => [ 'success' => 'Your subscription has been successfully sent. We will contact you as soon as possible.', - 'failed' => 'An error occurred while sending your subscription.', + 'error' => 'An error occurred while sending your subscription.', ] ]; diff --git a/lang/fr/membership.php b/lang/fr/membership.php index 1689377..ca8a095 100644 --- a/lang/fr/membership.php +++ b/lang/fr/membership.php @@ -27,7 +27,7 @@ return [ 'updated_at' => 'Mise à jour le', 'subscription' => [ 'success' => 'Votre inscription a bien été envoyée. Nous vous recontacterons dans les plus brefs délais.', - 'failed' => 'Une erreur est survenue lors de l\'envoi de votre inscription.', + 'error' => 'Une erreur est survenue lors de l\'envoi de votre inscription.', ] ], diff --git a/resources/js/layouts/nav-guest-layout.tsx b/resources/js/layouts/nav-guest-layout.tsx index 276d7d4..3a6e8c0 100644 --- a/resources/js/layouts/nav-guest-layout.tsx +++ b/resources/js/layouts/nav-guest-layout.tsx @@ -67,12 +67,12 @@ export default function NavGuestLayout() { - + Se déconnecter ) : ( diff --git a/resources/js/routes/index.ts b/resources/js/routes/index.ts index ce295ec..7a785b6 100644 --- a/resources/js/routes/index.ts +++ b/resources/js/routes/index.ts @@ -137,7 +137,7 @@ logoutForm.post = (options?: RouteQueryOptions): RouteFormDefinition<'post'> => logout.form = logoutForm /** -* @see routes/web.php:7 +* @see routes/web.php:6 * @route '/' */ export const home = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({ @@ -151,7 +151,7 @@ home.definition = { } satisfies RouteDefinition<["get","head"]> /** -* @see routes/web.php:7 +* @see routes/web.php:6 * @route '/' */ home.url = (options?: RouteQueryOptions) => { @@ -159,7 +159,7 @@ home.url = (options?: RouteQueryOptions) => { } /** -* @see routes/web.php:7 +* @see routes/web.php:6 * @route '/' */ home.get = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({ @@ -168,7 +168,7 @@ home.get = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({ }) /** -* @see routes/web.php:7 +* @see routes/web.php:6 * @route '/' */ home.head = (options?: RouteQueryOptions): RouteDefinition<'head'> => ({ @@ -177,7 +177,7 @@ home.head = (options?: RouteQueryOptions): RouteDefinition<'head'> => ({ }) /** -* @see routes/web.php:7 +* @see routes/web.php:6 * @route '/' */ const homeForm = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({ @@ -186,7 +186,7 @@ const homeForm = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({ }) /** -* @see routes/web.php:7 +* @see routes/web.php:6 * @route '/' */ homeForm.get = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({ @@ -195,7 +195,7 @@ homeForm.get = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({ }) /** -* @see routes/web.php:7 +* @see routes/web.php:6 * @route '/' */ homeForm.head = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({ @@ -211,7 +211,7 @@ homeForm.head = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({ home.form = homeForm /** -* @see routes/web.php:12 +* @see routes/web.php:11 * @route '/dashboard' */ export const dashboard = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({ @@ -225,7 +225,7 @@ dashboard.definition = { } satisfies RouteDefinition<["get","head"]> /** -* @see routes/web.php:12 +* @see routes/web.php:11 * @route '/dashboard' */ dashboard.url = (options?: RouteQueryOptions) => { @@ -233,7 +233,7 @@ dashboard.url = (options?: RouteQueryOptions) => { } /** -* @see routes/web.php:12 +* @see routes/web.php:11 * @route '/dashboard' */ dashboard.get = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({ @@ -242,7 +242,7 @@ dashboard.get = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({ }) /** -* @see routes/web.php:12 +* @see routes/web.php:11 * @route '/dashboard' */ dashboard.head = (options?: RouteQueryOptions): RouteDefinition<'head'> => ({ @@ -251,7 +251,7 @@ dashboard.head = (options?: RouteQueryOptions): RouteDefinition<'head'> => ({ }) /** -* @see routes/web.php:12 +* @see routes/web.php:11 * @route '/dashboard' */ const dashboardForm = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({ @@ -260,7 +260,7 @@ const dashboardForm = (options?: RouteQueryOptions): RouteFormDefinition<'get'> }) /** -* @see routes/web.php:12 +* @see routes/web.php:11 * @route '/dashboard' */ dashboardForm.get = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({ @@ -269,7 +269,7 @@ dashboardForm.get = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => }) /** -* @see routes/web.php:12 +* @see routes/web.php:11 * @route '/dashboard' */ dashboardForm.head = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({ diff --git a/routes/forms.php b/routes/forms.php index 97b67d2..fbc4eb8 100644 --- a/routes/forms.php +++ b/routes/forms.php @@ -4,11 +4,8 @@ use App\Http\Controllers\Forms\ContactFormController; use App\Http\Controllers\Forms\MembershipFormController; use Illuminate\Support\Facades\Route; -Route::get('contact', [ContactFormController::class, 'create']) - ->name('contact'); -Route::post('contact', [ContactFormController::class, 'store']) - ->name('contact.store'); - +Route::get('contact', [ContactFormController::class, 'create'])->name('contact'); +Route::post('contact', [ContactFormController::class, 'store'])->name('contact.store'); Route::get('membership', [MembershipFormController::class, 'create'])->name('membership'); Route::post('membership', [MembershipFormController::class, 'store'])->name('membership.store'); diff --git a/routes/web.php b/routes/web.php index 8efe3d4..bd2fcd1 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1,6 +1,5 @@