From b37f2ff96c92d8ba6ab2c1fc25ffd9a4192da84e Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Thu, 9 Feb 2017 21:11:23 +0200 Subject: [PATCH] Don't refresh page when sending 'contact us' message --- app/Http/Controllers/HomeController.php | 7 +-- resources/lang/en/texts.php | 2 +- resources/views/partials/contact_us.blade.php | 60 ++++++++++++++----- 3 files changed, 50 insertions(+), 19 deletions(-) diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index 7970e0fa4b94..da1c53728708 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -138,18 +138,17 @@ class HomeController extends BaseController */ public function contactUs() { - Mail::raw(request()->message, function ($message) { + Mail::raw(request()->contact_us_message, function ($message) { $subject = 'Customer Message'; if (! Utils::isNinja()) { $subject .= ': v' . NINJA_VERSION; } - $message->to(CONTACT_EMAIL) + $message->to(env('CONTACT_EMAIL')) ->from(CONTACT_EMAIL, Auth::user()->present()->fullName) ->replyTo(Auth::user()->email, Auth::user()->present()->fullName) ->subject($subject); }); - return redirect(Request::server('HTTP_REFERER')) - ->with('message', trans('texts.contact_us_response')); + return RESULT_SUCCESS; } } diff --git a/resources/lang/en/texts.php b/resources/lang/en/texts.php index 2c7622884fa6..deb9bfd4ac21 100644 --- a/resources/lang/en/texts.php +++ b/resources/lang/en/texts.php @@ -2275,7 +2275,7 @@ $LANG = array( 'marked_sent_invoices' => 'Successfully marked invoices sent', 'invoice_name' => 'Invoice', 'product_will_create' => 'product will be created', - 'contact_us_response' => 'Your message has been sent', + 'contact_us_response' => 'Thank you for your message! We\'ll try to respond as soon as possible.', 'last_7_days' => 'Last 7 Days', 'last_30_days' => 'Last 30 Days', 'this_month' => 'This Month', diff --git a/resources/views/partials/contact_us.blade.php b/resources/views/partials/contact_us.blade.php index 6488df1cfbcd..d83fead2946c 100644 --- a/resources/views/partials/contact_us.blade.php +++ b/resources/views/partials/contact_us.blade.php @@ -1,7 +1,10 @@ -{!! Former::vertical_open('/contact_us')->rules([ - 'from' => 'required', - 'message' => 'required', -]) !!} +{!! Former::vertical_open() + ->onsubmit('return onContactUsFormSubmit()') + ->addClass('contact-us-form') + ->rules([ + 'contact_us_from' => 'required', + 'contact_us_message' => 'required', + ]) !!} @@ -41,8 +56,25 @@ $(function() { $('#contactUsModal').on('shown.bs.modal', function() { - $("#message").focus(); + $('#contactUsModal .input-div').show(); + $('#contactUsModal .response-div').hide(); + $("#contact_us_message").focus(); }) }) + function onContactUsFormSubmit() { + $('#contactUsModal .modal-footer button').attr('disabled', true); + + $.post("{{ url('/contact_us') }}", $('.contact-us-form').serialize(), function(data) { + $('#contactUsModal .input-div').hide(); + $('#contactUsModal .response-div').show(); + $('#contact_us_message').val(''); + $('#contactUsModal .modal-footer button').attr('disabled', false); + }).fail(function(data) { + $('#contactUsModal .modal-footer button').attr('disabled', false); + }); + + return false; + } +