user creation error handling

This commit is contained in:
Tony Murray
2020-06-09 07:24:05 -05:00
parent adf3afdaca
commit 3415cb5272
2 changed files with 11 additions and 8 deletions

View File

@ -27,6 +27,7 @@ namespace App\Http\Controllers\Install;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Arr;
class MakeUserController extends \App\Http\Controllers\Controller
{
@ -34,10 +35,6 @@ class MakeUserController extends \App\Http\Controllers\Controller
public function __invoke(Request $request)
{
if ($request->method() == 'POST') {
$this->create($request);
}
if (session('install.database')) {
$this->configureDatabase();
$user = User::first();
@ -50,7 +47,9 @@ class MakeUserController extends \App\Http\Controllers\Controller
]);
}
return view('install.make-user');
return view('install.make-user', [
'messages' => Arr::wrap(session('message'))
]);
}
public function create(Request $request)
@ -63,6 +62,7 @@ class MakeUserController extends \App\Http\Controllers\Controller
try {
$this->configureDatabase();
$user = new User($request->only(['username', 'password', 'email']));
$user->level = 10;
$user->setPassword($request->get('password'));
$res = $user->save();
$message = $res ? trans('install.user.success') : trans('install.user.failure');

View File

@ -10,19 +10,22 @@
<div class="form-row pb-3">
<label for="username" class="col-sm-4 col-form-label text-right">@lang('install.user.username')</label>
<div class="col-sm-6">
<input type="text" class="form-control" name="username" id="username" value="{{ old('username') }}">
<input type="text" class="form-control @error('username') is-invalid @enderror" name="username" id="username" value="{{ old('username') }}">
@error('username')<div class="invalid-feedback">{{ $message }}</div>@enderror
</div>
</div>
<div class="form-row pb-3">
<label for="password" class="col-sm-4 col-form-label text-right">@lang('install.user.password')</label>
<div class="col-sm-6">
<input type="password" class="form-control" name="password" id="password" value="{{ old('password') }}">
<input type="password" class="form-control @error('password') is-invalid @enderror" name="password" id="password" value="{{ old('password') }}">
@error('password')<div class="invalid-feedback">{{ $message }}</div>@enderror
</div>
</div>
<div class="form-row pb-3">
<label for="email" class="col-sm-4 col-form-label text-right">@lang('install.user.email')</label>
<div class="col-sm-6">
<input type="email" class="form-control" name="email" id="email" value="{{ old('email') }}">
<input type="email" class="form-control @error('email') is-invalid @enderror" name="email" id="email" value="{{ old('email') }}">
@error('email')<div class="invalid-feedback">{{ $message }}</div>@enderror
</div>
</div>
<button type="submit" class="btn btn-success float-right">@lang('install.user.button')</button>