FEATURE #1546: add subject for contact form

This commit is contained in:
Michal Kváček
2016-04-06 17:23:46 +02:00
parent b7c70bab7e
commit 2eeb3227d3
5 changed files with 50 additions and 14 deletions
@@ -46,6 +46,7 @@ class ContactForm extends Handler
'phone' => $request->phone, 'phone' => $request->phone,
'email' => $request->email, 'email' => $request->email,
'contactEmail' => $request->ContactEmail, 'contactEmail' => $request->ContactEmail,
'subject' => $request->subject,
'companyName' => $request->companyName, 'companyName' => $request->companyName,
'address' => $request->address, 'address' => $request->address,
'gpsLat' => $request->gpsLat, 'gpsLat' => $request->gpsLat,
@@ -78,6 +79,7 @@ class ContactForm extends Handler
'address' => 'address', 'address' => 'address',
'gpsLat' => 'gpsLat', 'gpsLat' => 'gpsLat',
'gpsLng' => 'gpsLng', 'gpsLng' => 'gpsLng',
'subject' => 'subject'
]; ];
// get data and try to save them // get data and try to save them
@@ -30,14 +30,22 @@ class CreateNewMessage extends Controller
$template = isset($form->module_settings->emailTemplate) ? $form->module_settings->emailTemplate : 'contactform::emails.default'; $template = isset($form->module_settings->emailTemplate) ? $form->module_settings->emailTemplate : 'contactform::emails.default';
// send email // send email
$status = Mail::send(Template::name($template), ['data' => $request], function (Message $message) use ($request, $form) { // try {
$message->from($request->email, $request->name); $status = Mail::send(Template::name($template), ['data' => $request], function (Message $message) use ($request, $form) {
$message->to($form->module_settings->email) $message->from($request->email, $request->name);
->subject('Nejaky predmet - nastavovat v administraci, nebo nechavat vyplnovat uzivatele?');
}); // 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 // inform user about success or failure
$this->sendResponse($status, $request, $form); return $this->sendResponse($status, $request, $form);
} }
private function sendResponse($status, SendNewEmailRequest $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', ''); 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', '');
}
}
} }
@@ -9,5 +9,7 @@ return [
'phone' => 'Contact phone', 'phone' => 'Contact phone',
'email' => 'E-mail', 'email' => 'E-mail',
'contactEmail' => 'E-mail, where messages from this form will be delivered', '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'
]; ];
@@ -1,11 +1,12 @@
<?php <?php
return [ return [
'columnPhone' => 'Phone', 'columnPhone' => 'Phone',
'columnAddress' => 'Address', 'columnAddress' => 'Address',
'columnEmail' => 'E-mail', 'columnEmail' => 'E-mail',
'columnContactEmail' => 'Contact E-mail', 'columnContactEmail' => 'Contact E-mail',
'columnCompanyName' => 'Company name', 'columnSubject' => 'Subject',
'columnGpsLat' => 'GPS Latitude', 'columnCompanyName' => 'Company name',
'columnGpsLng' => 'Gps Longitude', 'columnGpsLat' => 'GPS Latitude',
'columnGpsLng' => 'Gps Longitude',
]; ];
@@ -100,6 +100,12 @@
<input type="email" name="contactEmail" value="{{$page->module_settings->contactEmail or \Auth::user()->email}}" /> <input type="email" name="contactEmail" value="{{$page->module_settings->contactEmail or \Auth::user()->email}}" />
</label> </label>
<label>
@lang('contactform::admin/content.subject')
<input type="text" name="subject" value="{{$page->module_settings->subject or trans('contactform::admin/content.defaultSubject')}}" />
</label>
<div class="row"> <div class="row">
<div class="column large-6"> <div class="column large-6">
<label> <label>