FEATURE: add ajax response to contact form

This commit is contained in:
Michal Kváček
2016-04-04 20:26:25 +02:00
parent 90b6979237
commit 0f18b6361e
@@ -12,7 +12,7 @@ class CreateNewMessage extends Controller
{ {
/** /**
* Method for sending emails via contact form * Method for sending emails via contact form
* *
* @param SendNewEmailRequest $request * @param SendNewEmailRequest $request
* @param $formId * @param $formId
* *
@@ -33,18 +33,26 @@ class CreateNewMessage extends Controller
$status = Mail::send(Template::name($template), ['data' => $request], function (Message $message) use ($request, $form) { $status = Mail::send(Template::name($template), ['data' => $request], function (Message $message) use ($request, $form) {
$message->from($request->email, $request->name); $message->from($request->email, $request->name);
$message->to($form->module_settings->email) $message->to($form->module_settings->email)
->subject('Your Reminder!'); ->subject('Nejaky predmet - nastavovat v administraci, nebo nechavat vyplnovat uzivatele?');
}); });
// inform user about success or failure // inform user about success or failure
if ($status) { $this->sendResponse($status, $request, $form);
return redirect() }
->route('page.content', ['url' => $form->url])
->with('success', ''); private function sendResponse($status, SendNewEmailRequest $request, $form)
{
// send response for ajax
if ($request->ajax()) {
return response()->json([
'status' => $status ? 'success' : 'failed',
'redirectUrl' => $form->url
]);
} else { } else {
return redirect() // redirect user to previous form
->route('page.content', ['url' => $form->url]) $response = redirect()->route('page.content', ['url' => $form->url]);
->with('error', '');
return $status ? $response->with('success', '') : $response->with('error', '');
} }
} }
} }