From 2eeb3227d3cd5804f91ff08958818cdf31d25658 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Kv=C3=A1=C4=8Dek?= Date: Wed, 6 Apr 2016 17:23:46 +0200 Subject: [PATCH] FEATURE #1546: add subject for contact form --- modules/ContactForm/Handlers/ContactForm.php | 2 + .../Controllers/Visitor/CreateNewMessage.php | 37 ++++++++++++++++--- .../Resources/lang/en/admin/content.php | 4 +- .../Resources/lang/en/admin/history.php | 15 ++++---- .../views/admin/form/basicInfo.blade.php | 6 +++ 5 files changed, 50 insertions(+), 14 deletions(-) diff --git a/modules/ContactForm/Handlers/ContactForm.php b/modules/ContactForm/Handlers/ContactForm.php index f2316480..132ddf4b 100644 --- a/modules/ContactForm/Handlers/ContactForm.php +++ b/modules/ContactForm/Handlers/ContactForm.php @@ -46,6 +46,7 @@ class ContactForm extends Handler 'phone' => $request->phone, 'email' => $request->email, 'contactEmail' => $request->ContactEmail, + 'subject' => $request->subject, 'companyName' => $request->companyName, 'address' => $request->address, 'gpsLat' => $request->gpsLat, @@ -78,6 +79,7 @@ class ContactForm extends Handler 'address' => 'address', 'gpsLat' => 'gpsLat', 'gpsLng' => 'gpsLng', + 'subject' => 'subject' ]; // get data and try to save them diff --git a/modules/ContactForm/Http/Controllers/Visitor/CreateNewMessage.php b/modules/ContactForm/Http/Controllers/Visitor/CreateNewMessage.php index 0afb95f3..a248d816 100644 --- a/modules/ContactForm/Http/Controllers/Visitor/CreateNewMessage.php +++ b/modules/ContactForm/Http/Controllers/Visitor/CreateNewMessage.php @@ -30,14 +30,22 @@ class CreateNewMessage extends Controller $template = isset($form->module_settings->emailTemplate) ? $form->module_settings->emailTemplate : 'contactform::emails.default'; // send email - $status = Mail::send(Template::name($template), ['data' => $request], function (Message $message) use ($request, $form) { - $message->from($request->email, $request->name); - $message->to($form->module_settings->email) - ->subject('Nejaky predmet - nastavovat v administraci, nebo nechavat vyplnovat uzivatele?'); - }); +// try { + $status = Mail::send(Template::name($template), ['data' => $request], function (Message $message) use ($request, $form) { + $message->from($request->email, $request->name); + + // get message subject + $subject = isset($form->module_settings->subject) ? $form->module_settings->subject : trans('contactform::admin/contents.defaultSubject'); + + $message->to($form->module_settings->email) + ->subject($subject); + }); +// } catch (\Exception $e) { +// return $this->cannotSend($request, $form, $e->getMessage()); +// } // inform user about success or failure - $this->sendResponse($status, $request, $form); + return $this->sendResponse($status, $request, $form); } private function sendResponse($status, SendNewEmailRequest $request, $form) @@ -55,4 +63,21 @@ class CreateNewMessage extends Controller return $status ? $response->with('success', '') : $response->with('error', ''); } } + + private function cannotSend(SendNewEmailRequest $request, $form, $message) + { + // send response for ajax + if ($request->ajax()) { + return response()->json([ + 'status' => 'failed', + 'exception' => $message, + 'redirectUrl' => $form->url + ]); + } else { + // redirect user to previous form + $response = redirect()->route('page.content', ['url' => $form->url]); + + return $response->with('error', ''); + } + } } diff --git a/modules/ContactForm/Resources/lang/en/admin/content.php b/modules/ContactForm/Resources/lang/en/admin/content.php index ec01d7fc..134b9b30 100644 --- a/modules/ContactForm/Resources/lang/en/admin/content.php +++ b/modules/ContactForm/Resources/lang/en/admin/content.php @@ -9,5 +9,7 @@ return [ 'phone' => 'Contact phone', 'email' => 'E-mail', 'contactEmail' => 'E-mail, where messages from this form will be delivered', - 'contactInformation' => 'Contact information' + 'contactInformation' => 'Contact information', + 'subject' => 'Subject', + 'defaultSubject' => 'New message from contact form' ]; \ No newline at end of file diff --git a/modules/ContactForm/Resources/lang/en/admin/history.php b/modules/ContactForm/Resources/lang/en/admin/history.php index 87225107..dab90865 100644 --- a/modules/ContactForm/Resources/lang/en/admin/history.php +++ b/modules/ContactForm/Resources/lang/en/admin/history.php @@ -1,11 +1,12 @@ 'Phone', - 'columnAddress' => 'Address', - 'columnEmail' => 'E-mail', - 'columnContactEmail' => 'Contact E-mail', - 'columnCompanyName' => 'Company name', - 'columnGpsLat' => 'GPS Latitude', - 'columnGpsLng' => 'Gps Longitude', + 'columnPhone' => 'Phone', + 'columnAddress' => 'Address', + 'columnEmail' => 'E-mail', + 'columnContactEmail' => 'Contact E-mail', + 'columnSubject' => 'Subject', + 'columnCompanyName' => 'Company name', + 'columnGpsLat' => 'GPS Latitude', + 'columnGpsLng' => 'Gps Longitude', ]; diff --git a/modules/ContactForm/Resources/views/admin/form/basicInfo.blade.php b/modules/ContactForm/Resources/views/admin/form/basicInfo.blade.php index dc7d4a8f..24f053da 100644 --- a/modules/ContactForm/Resources/views/admin/form/basicInfo.blade.php +++ b/modules/ContactForm/Resources/views/admin/form/basicInfo.blade.php @@ -100,6 +100,12 @@ + +