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
*
*
* @param SendNewEmailRequest $request
* @param $formId
*
@@ -33,18 +33,26 @@ class CreateNewMessage extends Controller
$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('Your Reminder!');
->subject('Nejaky predmet - nastavovat v administraci, nebo nechavat vyplnovat uzivatele?');
});
// inform user about success or failure
if ($status) {
return redirect()
->route('page.content', ['url' => $form->url])
->with('success', '');
$this->sendResponse($status, $request, $form);
}
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 {
return redirect()
->route('page.content', ['url' => $form->url])
->with('error', '');
// redirect user to previous form
$response = redirect()->route('page.content', ['url' => $form->url]);
return $status ? $response->with('success', '') : $response->with('error', '');
}
}
}