diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 92f168778cac..dee90742961b 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -399,7 +399,7 @@ class UserController extends BaseController $referer = Request::server('HTTP_REFERER'); $message = ''; - if (request()->accepted_terms) { + if (request()->accepted_terms && request()->accepted_privacy) { auth()->user()->acceptLatestTerms($ip)->save(); $message = trans('texts.accepted_terms'); } diff --git a/resources/lang/en/texts.php b/resources/lang/en/texts.php index 0d2bd461e8f3..f64e8fb83b10 100644 --- a/resources/lang/en/texts.php +++ b/resources/lang/en/texts.php @@ -260,7 +260,7 @@ $LANG = array( 'cvv' => 'CVV', 'logout' => 'Log Out', 'sign_up_to_save' => 'Sign up to save your work', - 'agree_to_terms' => 'I agree to the Invoice Ninja :terms', + 'agree_to_terms' => 'I agree to the :terms', 'terms_of_service' => 'Terms of Service', 'email_taken' => 'The email address is already registered', 'working' => 'Working', diff --git a/resources/views/partials/accept_terms.blade.php b/resources/views/partials/accept_terms.blade.php index 7dd83c7aa7b0..956ca6656966 100644 --- a/resources/views/partials/accept_terms.blade.php +++ b/resources/views/partials/accept_terms.blade.php @@ -1,5 +1,6 @@ {!! Former::open('/accept_terms')->id('acceptTermsForm')->rules([ 'accepted_terms' => 'required', + 'accepted_privacy' => 'required', ]) !!} diff --git a/resources/views/partials/sign_up.blade.php b/resources/views/partials/sign_up.blade.php index 9ade1620127f..3a0c2d0288a5 100644 --- a/resources/views/partials/sign_up.blade.php +++ b/resources/views/partials/sign_up.blade.php @@ -27,8 +27,8 @@ $(function() { // Ensure terms is checked for sign up form @if (Auth::check()) setSignupEnabled(false); - $("#terms_checkbox").change(function() { - setSignupEnabled(this.checked); + $("#terms_checkbox, #privacy_checkbox").change(function() { + setSignupEnabled($('#terms_checkbox').is(':checked') && $('#privacy_checkbox').is(':checked')); }); @endif @@ -87,7 +87,7 @@ function validateSignUp(showError) { } }); - if (!$('#terms_checkbox').is(':checked')) { + if (! $('#terms_checkbox').is(':checked') || ! $('#privacy_checkbox').is(':checked')) { isFormValid = false; } @@ -194,9 +194,15 @@ function handleSignedUp() { ->value(1) ->text(trans('texts.agree_to_terms', [ 'terms' => link_to(Utils::getTermsLink(), trans('texts.terms_of_service'), ['target' => '_blank']), - 'privacy' => link_to(Utils::getTermsLink(), trans('texts.privacy_policy'), ['target' => '_blank']), ])) ->raw() !!} + {!! Former::checkbox('privacy_checkbox') + ->label(' ') + ->value(1) + ->text(trans('texts.agree_to_terms', [ + 'terms' => link_to(Utils::getTermsLink(), trans('texts.privacy_policy'), ['target' => '_blank']), + ])) + ->raw() !!}