From 3ac05e3d4dcf434f130c517d148c7d95ae530ae0 Mon Sep 17 00:00:00 2001 From: Leonard Smith Date: Thu, 8 Apr 2021 19:38:25 -0500 Subject: [PATCH] Setup a controller and route to handle contact form submissions --- app/Http/Controllers/ContactController.php | 27 ++++++++++++++++++++ config/gwt.php | 5 ++++ resources/views/email/contact-form.blade.php | 9 +++++++ routes/api.php | 4 +++ routes/web.php | 6 ++--- 5 files changed, 48 insertions(+), 3 deletions(-) create mode 100644 app/Http/Controllers/ContactController.php create mode 100644 config/gwt.php create mode 100644 resources/views/email/contact-form.blade.php diff --git a/app/Http/Controllers/ContactController.php b/app/Http/Controllers/ContactController.php new file mode 100644 index 0000000..27b623c --- /dev/null +++ b/app/Http/Controllers/ContactController.php @@ -0,0 +1,27 @@ + $request->input('firstname'), + 'lastname' => $request->input('lastname'), + 'email-address' => $request->input('email-address'), + 'company-name' => $request->input('company-name'), + 'address' => $request->input('address'), + 'phone' => $request->input('phone'), + 'message' => $request->input('message') + ]; + + Mail::send('email.contact-form', ['data' => $data], function ($mail) { + $mail->to(config('gwt.contact_target_email'))->subject('Contact Form Submission!'); + }); + + return respons()->json(['message' => 'Email sent successfully']); + } +} diff --git a/config/gwt.php b/config/gwt.php new file mode 100644 index 0000000..96e5276 --- /dev/null +++ b/config/gwt.php @@ -0,0 +1,5 @@ + env('CONTACT_TARGET_EMAIL') +]; diff --git a/resources/views/email/contact-form.blade.php b/resources/views/email/contact-form.blade.php new file mode 100644 index 0000000..99f281e --- /dev/null +++ b/resources/views/email/contact-form.blade.php @@ -0,0 +1,9 @@ +
+ First name: {{ $data['firstname'] }}
+ Last name: {{ $data['lastname'] }}
+ Email: {{$data['email-address']}}
+ Company name: {{$data['company-name']}}
+ Address: {{$data['address']}}
+ Phone: {{$data['phone']}}
+ Message: {{$data['message']}}
+
diff --git a/routes/api.php b/routes/api.php index 0a8823e..54ae8a0 100644 --- a/routes/api.php +++ b/routes/api.php @@ -18,6 +18,10 @@ Route::middleware('auth:api')->get('/user', function (Request $request) { return $request->user(); }); +Route::prefix('api')->group(function () { + Route::post('contact/send', 'ContactController@send'); +}); + JsonApi::register('default')->routes(function ($api) { $api->resource('books')->readOnly()->relationships(function ($relations) { $relations->hasMany('chapters')->readOnly(); diff --git a/routes/web.php b/routes/web.php index b130397..edd263d 100644 --- a/routes/web.php +++ b/routes/web.php @@ -13,6 +13,6 @@ use Illuminate\Support\Facades\Route; | */ -Route::get('/', function () { - return view('welcome'); -}); +//Route::get('/', function () { +// return view('welcome'); +//});