Skip to content

Commit

Permalink
fix user form
Browse files Browse the repository at this point in the history
  • Loading branch information
dbarzin committed Jul 29, 2023
1 parent 62cd5ef commit dcabf75
Show file tree
Hide file tree
Showing 3 changed files with 58 additions and 14 deletions.
52 changes: 38 additions & 14 deletions app/Http/Controllers/UserController.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

namespace App\Http\Controllers;

use Config;
use App\Models\Control;
use App\Models\User;
use Illuminate\Http\Request;
Expand Down Expand Up @@ -53,17 +54,28 @@ public function store(Request $request)
'login' => 'required|min:1|max:30',
'name' => 'required|min:1|max:90',
'title' => 'required|min:1|max:30',
'email' => 'required|unique:users|email:rfc',
'password1' => 'required|min:8',
'email' => 'required|email:rfc',
'role' => 'required',
]
);

if (request('password1') !== request('password2')) {
return redirect('/users/create')
->withErrors(['password1' => 'Les mots de passe ne correspondent pas'])
->withInput();
}
if (Config::get('app.ldap_domain') === null) {
if (request('password1')==null) {
return redirect('/users/create')
->withErrors(['password1' => 'No password'])
->withInput();
}
elseif (strlen(request('password1'))<8) {
return redirect('/users/create')
->withErrors(['password1' => 'Password too short'])
->withInput();
}
elseif (request('password1') !== request('password2')) {
return redirect('/users/create')
->withErrors(['password1' => 'Passwords does not match'])
->withInput();
}
}

$user = new User();
$user->login = request('login');
Expand All @@ -72,7 +84,8 @@ public function store(Request $request)
$user->title = request('title');
$user->role = request('role');
$user->language = request('language');
$user->password = bcrypt(request('password1'));
if (Config::get('app.ldap_domain') === null)
$user->password = bcrypt(request('password1'));
$user->save();

return redirect('/users');
Expand Down Expand Up @@ -135,10 +148,19 @@ public function update(Request $request, User $user)
]
);

if ((request('password1') !== null) && (request('password1') !== request('password2'))) {
return redirect('/users/' . $user->id . '/edit')
->withErrors(['password1' => 'Les mots de passe ne correspondent pas'])
->withInput();
if (Config::get('app.ldap_domain') === null) {
if (request('password1') !== null) {
if (strlen(request('password1'))<8) {
return redirect('/users/create')
->withErrors(['password1' => 'Password too short'])
->withInput();
}
elseif ((request('password1') !== null) && (request('password1') !== request('password2'))) {
return redirect('/users/' . $user->id . '/edit')
->withErrors(['password1' => 'Passwords does not match'])
->withInput();
}
}
}

$user->name = request('name');
Expand All @@ -148,8 +170,10 @@ public function update(Request $request, User $user)
}
$user->title = request('title');
$user->language = request('language');
if (request('password1') !== null) {
$user->password = bcrypt(request('password1'));
if (Config::get('app.ldap_domain') === null) {
if (request('password1') !== null) {
$user->password = bcrypt(request('password1'));
}
}

// Update controls not already made
Expand Down
15 changes: 15 additions & 0 deletions resources/views/users/create.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,17 @@
<input type="text" class="input {{ $errors->has('title') ? 'is-danger' : ''}}" name="title" value="{{ old('title') }}" size='80'>
</div>
</div>
<div class="row">
<div class="cell-1">
<label>{{ trans('cruds.user.fields.language') }}</label>
</div>
<div class="cell-3">
<select name='language' value='language'>
<option {{ old('language')=='en' ? 'selected' : ''}} >en</option>
<option {{ old('language')=='fr' ? 'selected' : ''}} >fr</option>
</select>
</div>
</div>
<div class="row">
<div class="cell-1">
<label>{{ trans('cruds.user.fields.role') }}</label>
Expand All @@ -65,6 +76,8 @@
<input type="text" name="email" class="input {{ $errors->has('email') ? 'is-danger' : ''}}" value="{{ old('email') }}" size="120">
</div>
</div>

@if (Config::get('app.ldap_domain') === null)
<div class="row">
<div class="cell-1">
<label class="label" for="description">{{ trans('cruds.user.fields.password') }}</label>
Expand All @@ -74,6 +87,8 @@
<input type="password" name="password2"/>
</div>
</div>
@endif

</div>
<div class="row">
<div class="cell-4">
Expand Down
5 changes: 5 additions & 0 deletions resources/views/users/edit.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,8 @@
</div>
</div>

@if (Config::get('app.ldap_domain') === null)

<div class="row">
<div class="cell-1">
<label class="label" for="description">{{ trans('cruds.user.fields.password') }}</label>
Expand All @@ -96,6 +98,9 @@
<input type="password" name="password2"/>
</div>
</div>

@endif

</div>

<div class="row">
Expand Down

0 comments on commit dcabf75

Please sign in to comment.