diff --git a/app/Http/Controllers/AccountController.php b/app/Http/Controllers/AccountController.php index 65dfe4886555..7b7e5cdfa6ba 100644 --- a/app/Http/Controllers/AccountController.php +++ b/app/Http/Controllers/AccountController.php @@ -1327,6 +1327,7 @@ class AccountController extends BaseController public function submitSignup() { $user = Auth::user(); + $ip = Request::getClientIp(); $account = $user->account; $rules = [ @@ -1358,6 +1359,7 @@ class AccountController extends BaseController if ($user->registered) { $newAccount = $this->accountRepo->create($firstName, $lastName, $email, $password, $account->company); $newUser = $newAccount->users()->first(); + $newUser->acceptLatestTerms($ip)->save(); $users = $this->accountRepo->associateAccounts($user->id, $newUser->id); Session::flash('message', trans('texts.created_new_company')); @@ -1372,6 +1374,7 @@ class AccountController extends BaseController $user->username = $user->email; $user->password = bcrypt($password); $user->registered = true; + $newUser->acceptLatestTerms($ip); $user->save(); $user->account->startTrial(PLAN_PRO); diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index d1fbe6f4196c..92f168778cac 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -400,7 +400,7 @@ class UserController extends BaseController $message = ''; if (request()->accepted_terms) { - auth()->user()->acceptedLatestTerms($ip); + auth()->user()->acceptLatestTerms($ip)->save(); $message = trans('texts.accepted_terms'); } diff --git a/app/Models/User.php b/app/Models/User.php index 0e085154dfcf..d7504610c876 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -462,12 +462,13 @@ class User extends Authenticatable return $this->accepted_terms_version == NINJA_TERMS_VERSION; } - public function acceptedLatestTerms($ip) + public function acceptLatestTerms($ip) { $this->accepted_terms_version = NINJA_TERMS_VERSION; $this->accepted_terms_timestamp = date('Y-m-d H:i:s'); $this->accepted_terms_ip = $ip; - $this->save(); + + return $this; } } diff --git a/resources/views/partials/sign_up.blade.php b/resources/views/partials/sign_up.blade.php index b36576e08038..0da512d0d48c 100644 --- a/resources/views/partials/sign_up.blade.php +++ b/resources/views/partials/sign_up.blade.php @@ -25,7 +25,7 @@ @endif // Ensure terms is checked for sign up form - @if (Auth::check() && ! Auth::user()->registered) + @if (Auth::check()) setSignupEnabled(false); $("#terms_checkbox").change(function() { setSignupEnabled(this.checked); @@ -78,11 +78,9 @@ } }); - @if (! Auth::user()->registered) - if (!$('#terms_checkbox').is(':checked')) { - isFormValid = false; - } - @endif + if (!$('#terms_checkbox').is(':checked')) { + isFormValid = false; + } $('#saveSignUpButton').prop('disabled', !isFormValid); @@ -182,17 +180,15 @@