From bf761946daf37877cd5071daf206725b4643bc19 Mon Sep 17 00:00:00 2001 From: snipe Date: Mon, 16 Jul 2018 23:48:46 -0700 Subject: [PATCH] Fix activated check for login --- app/Http/Controllers/Auth/LoginController.php | 8 +-- app/Http/Controllers/UsersController.php | 1 + resources/views/users/edit.blade.php | 64 ++++++++++++------- 3 files changed, 45 insertions(+), 28 deletions(-) diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php index 940317a2c6..6f1d0ee427 100644 --- a/app/Http/Controllers/Auth/LoginController.php +++ b/app/Http/Controllers/Auth/LoginController.php @@ -68,9 +68,9 @@ class LoginController extends Controller { $remote_user = $request->server('REMOTE_USER'); if (Setting::getSettings()->login_remote_user_enabled == "1" && isset($remote_user) && !empty($remote_user)) { - LOG::debug("Authenticatiing via REMOTE_USER."); + LOG::debug("Authenticating via REMOTE_USER."); try { - $user = User::where('username', '=', $remote_user)->whereNull('deleted_at')->first(); + $user = User::where('username', '=', $remote_user)->whereNull('deleted_at')->where('active', '=', '1')->first(); LOG::debug("Remote user auth lookup complete"); if(!is_null($user)) Auth::login($user, true); } catch(Exception $e) { @@ -91,7 +91,7 @@ class LoginController extends Controller } // Check if the user already exists in the database and was imported via LDAP - $user = User::where('username', '=', Input::get('username'))->whereNull('deleted_at')->where('ldap_import', '=', 1)->first(); + $user = User::where('username', '=', Input::get('username'))->whereNull('deleted_at')->where('ldap_import', '=', 1)->where('active', '=', '1')->first(); LOG::debug("Local auth lookup complete"); // The user does not exist in the database. Try to get them from LDAP. @@ -171,7 +171,7 @@ class LoginController extends Controller if (!$user) { LOG::debug("Authenticating user against database."); // Try to log the user in - if (!Auth::attempt(Input::only('username', 'password'), Input::get('remember-me', 0))) { + if (!Auth::attempt(['username' => $request->input('username'), 'password' => $request->input('password'), 'activated' => 1], $request->input('remember'))) { if (!$lockedOut) { $this->incrementLoginAttempts($request); diff --git a/app/Http/Controllers/UsersController.php b/app/Http/Controllers/UsersController.php index bd9c662b91..dfd790fdf6 100755 --- a/app/Http/Controllers/UsersController.php +++ b/app/Http/Controllers/UsersController.php @@ -287,6 +287,7 @@ class UsersController extends Controller $user->city = $request->input('city', null); $user->state = $request->input('state', null); $user->country = $request->input('country', null); + $user->activated = $request->input('activated', 0); $user->zip = $request->input('zip', null); diff --git a/resources/views/users/edit.blade.php b/resources/views/users/edit.blade.php index 420ab124ab..523095bf65 100755 --- a/resources/views/users/edit.blade.php +++ b/resources/views/users/edit.blade.php @@ -320,29 +320,38 @@ - -
- -
-
- - {!! $errors->first('activated', ':message') !!} + +
+ +
+
+ {{ Form::label('activated', trans('admin/users/table.activated')) }} +
+
+ @if (config('app.lock_passwords')) +
+ {{ Form::checkbox('activated', '1', old('activated', $user->activated),['class' => 'minimal', 'disabled'=>'disabled']) }} + {{ trans('admin/users/general.activated_help_text') }} +

{{ trans('general.feature_disabled') }}

+
+ @elseif ($user->id === Auth::user()->id) +
+ {{ Form::checkbox('activated', '1', old('activated', $user->activated),['class' => 'minimal', 'disabled'=>'disabled']) }} + {{ trans('admin/users/general.activated_help_text') }} +

{{ trans('admin/users/general.activated_disabled_help_text') }}

+
+ @else +
+ {{ Form::checkbox('activated', '1', old('activated', $user->activated),['class' => 'minimal' ]) }} + {{ trans('admin/users/general.activated_help_text') }} +
+ @endif + + {!! $errors->first('activated', ':message') !!} + +
-
@if ($snipeSettings->two_factor_enabled!='') @if ($snipeSettings->two_factor_enabled=='1') @@ -351,10 +360,17 @@ {{ Form::label('two_factor_optin', trans('admin/settings/general.two_factor')) }}
- {{ Form::checkbox('two_factor_optin', '1', Input::old('two_factor_optin', $user->two_factor_optin),array('class' => 'minimal')) }} - {{ trans('admin/settings/general.two_factor_enabled_text') }} + @if (config('app.lock_passwords')) +
+ {{ Form::checkbox('two_factor_optin', '1', Input::old('two_factor_optin', $user->two_factor_optin),['class' => 'minimal', 'disabled'=>'disabled']) }} {{ trans('admin/settings/general.two_factor_enabled_text') }} +

{{ trans('general.feature_disabled') }}

+
+ @else + {{ Form::checkbox('two_factor_optin', '1', Input::old('two_factor_optin', $user->two_factor_optin),['class' => 'minimal']) }} {{ trans('admin/settings/general.two_factor_enabled_text') }} +

{{ trans('admin/users/general.two_factor_admin_optin_help') }}

+ + @endif -

{{ trans('admin/users/general.two_factor_admin_optin_help') }}

@endif