Skip to content

Commit 954ffbf

Browse files
committed
Merge remote-tracking branch 'origin/develop'
2 parents 7f5ea30 + 327491c commit 954ffbf

File tree

7 files changed

+37
-19
lines changed

7 files changed

+37
-19
lines changed

app/Http/Controllers/Auth/ResetPasswordController.php

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -103,22 +103,24 @@ public function reset(Request $request)
103103
], $messages);
104104
}
105105

106-
107-
// set the response
108-
$response = $broker->reset(
109-
$this->credentials($request), function ($user, $password) {
110-
$this->resetPassword($user, $password);
111-
});
112-
113-
// Check if the password reset above actually worked
114-
if ($response == \Password::PASSWORD_RESET) {
115-
Log::debug('Password reset for '.$user->username.' worked');
116-
return redirect()->guest('login')->with('success', trans('passwords.reset'));
106+
if ($user->ldap_import != '1') {
107+
108+
// set the response
109+
$response = $broker->reset(
110+
$this->credentials($request), function ($user, $password) {
111+
$this->resetPassword($user, $password);
112+
});
113+
114+
// Check if the password reset above actually worked
115+
if ($response == \Password::PASSWORD_RESET) {
116+
Log::debug('Password reset for ' . $user->username . ' worked');
117+
return redirect()->guest('login')->with('success', trans('passwords.reset'));
118+
}
119+
120+
Log::debug('Password reset for ' . $user->username . ' FAILED - this user exists but the token is not valid');
121+
return redirect()->back()->withInput($request->only('email'))->with('success', trans('passwords.reset'));
117122
}
118123

119-
Log::debug('Password reset for '.$user->username.' FAILED - this user exists but the token is not valid');
120-
return redirect()->back()->withInput($request->only('email'))->with('success', trans('passwords.reset'));
121-
122124
}
123125

124126

app/Http/Controllers/ProfileController.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,9 +99,13 @@ public function api(): View
9999
* User change email page.
100100
*
101101
*/
102-
public function password() : View
102+
public function password() : View | RedirectResponse
103103
{
104+
104105
$user = auth()->user();
106+
if ($user->ldap_import=='1') {
107+
return redirect()->route('account')->with('error', trans('admin/users/message.error.password_ldap'));
108+
}
105109
return view('account/change-password', compact('user'));
106110
}
107111

@@ -116,7 +120,7 @@ public function passwordSave(Request $request) : RedirectResponse
116120

117121
$user = auth()->user();
118122
if ($user->ldap_import == '1') {
119-
return redirect()->route('account.password.index')->with('error', trans('admin/users/message.error.password_ldap'));
123+
return redirect()->route('account')->with('error', trans('admin/users/message.error.password_ldap'));
120124
}
121125

122126
$rules = [

app/Http/Controllers/Users/BulkUsersController.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ public function edit(Request $request)
7070
// bulk password reset, just do the thing
7171
} elseif ($request->input('bulk_actions') == 'bulkpasswordreset') {
7272
foreach ($users as $user) {
73-
if (($user->activated == '1') && ($user->email != '')) {
73+
if (($user->activated == '1') && ($user->email != '') && ($user->ldap_import != '1')) {
7474
$credentials = ['email' => $user->email];
7575
Password::sendResetLink($credentials/* , function (Message $message) {
7676
$message->subject($this->getEmailSubject()); // TODO - I'm not sure if we still need this, but this second parameter is no longer accepted in later Laravel versions.

resources/lang/en-US/general.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -573,5 +573,8 @@
573573
'import_asset_tag_exists' => 'An asset with the asset tag :asset_tag already exists and an update was not requested. No change was made.',
574574
'countries_manually_entered_help' => 'Values with an asterisk (*) were manually entered and do not match existing ISO 3166 dropdown values',
575575
'accessories_assigned' => 'Assigned Accessories',
576+
'user_managed_passwords' => 'Password Management',
577+
'user_managed_passwords_disallow' => 'Disallow users from managing their own passwords',
578+
'user_managed_passwords_allow' => 'Allow users to manage their own passwords',
576579

577580
];

resources/views/account/view-assets.blade.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,12 +109,15 @@
109109
</a>
110110
</div>
111111
@endcan
112+
113+
@if ($user->ldap_import!='1')
112114
<div class="col-md-12" style="padding-top: 5px;">
113115
<a href="{{ route('account.password.index') }}" style="width: 100%;" class="btn btn-sm btn-primary btn-social btn-block hidden-print" target="_blank" rel="noopener">
114116
<x-icon type="password" class="fa-fw" />
115117
{{ trans('general.changepassword') }}
116118
</a>
117119
</div>
120+
@endif
118121

119122
@can('self.api')
120123
<div class="col-md-12" style="padding-top: 5px;">

resources/views/layouts/default.blade.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -373,12 +373,14 @@
373373
</li>
374374
@endcan
375375

376+
@if (Auth::user()->ldap_import!='1')
376377
<li>
377378
<a href="{{ route('account.password.index') }}">
378379
<x-icon type="password" class="fa-fw" />
379380
{{ trans('general.changepassword') }}
380381
</a>
381382
</li>
383+
@endif
382384

383385

384386
@can('self.api')

resources/views/users/bulk-edit.blade.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@
144144
<!-- ldap_sync -->
145145
<div class="form-group">
146146
<div class="col-sm-3 control-label">
147-
{{ trans('general.ldap_sync') }}
147+
{{ trans('general.user_managed_passwords') }}
148148
</div>
149149
<div class="col-sm-9">
150150
<label for="no_change" class="form-control">
@@ -153,7 +153,11 @@
153153
</label>
154154
<label for="ldap_import" class="form-control">
155155
{{ Form::radio('ldap_import', '0', old('ldap_import'), ['id' => 'ldap_import', 'aria-label'=>'ldap_import']) }}
156-
{{ trans('general.ldap_import') }}
156+
{{ trans('general.user_managed_passwords_allow') }}
157+
</label>
158+
<label for="ldap_import" class="form-control">
159+
{{ Form::radio('ldap_import', '1', old('ldap_import'), ['id' => 'ldap_import', 'aria-label'=>'ldap_import']) }}
160+
{{ trans('general.user_managed_passwords_disallow') }}
157161
</label>
158162
</div>
159163
</div> <!--/form-group-->

0 commit comments

Comments
 (0)