user creation update from pending_users

This commit is contained in:
ygbanzato 2023-05-05 18:45:07 +01:00
parent a57af0d118
commit ef5536a0d3
10 changed files with 155 additions and 102 deletions

View File

@ -23,20 +23,20 @@ public function create(array $input): User
{
// dd($input);
Validator::make($input, [
'name' => ['required', 'string', 'max:255'],
'email' => [
'required',
'string',
'email',
'max:255',
Rule::unique(User::class),
],
'user_type' => ['required', Rule::in(['Cliente', 'Administrador', 'Super_Administrador','Gestor_Obra','Tecnicos','inspetor'])],
'user_phone' => ['required', 'integer'],
'user_nif' => ['required', 'string', 'max:15'],
'password' => $this->passwordRules(),
])->validate();
// Validator::make($input, [
// 'name' => ['required', 'string', 'max:255'],
// 'email' => [
// 'required',
// 'string',
// 'email',
// 'max:255',
// Rule::unique(User::class),
// ],
// 'user_type' => ['required', Rule::in(['Cliente', 'Administrador', 'Super_Administrador','Gestor_Obra','Tecnicos','inspetor'])],
// 'user_phone' => ['required', 'integer'],
// 'user_nif' => ['required', 'string', 'max:15'],
// 'password' => $this->passwordRules(),
// ])->validate();
return User::create([
'name' => $input['name'],

View File

@ -10,10 +10,15 @@
class Pending_UserController extends Controller
{
public function mostrar()
public function ListPendingUsers()
{
$pend_users = pending_user::all();
return view('email/CreateUsers', compact('pend_users'));
return view('email/pendingUsers', compact('pend_users'));
}
public function ShowFormUser($id){
$pend_users = pending_user::findOrFail($id);
return view ('Admin.CrudUsers.createUser', compact('pend_users'));
}

View File

@ -26,7 +26,7 @@ public function handle(Request $request, Closure $next, string ...$guards): Resp
// }
foreach ($guards as $guard) {
if (Auth::guard($guard)->check()) {
if (Auth::guard($guard)->check() && ! $request->is('register') && ! $request->is('email/verify')) {
$user = Auth::guard($guard)->user();
switch ($user->user_type) {

View File

@ -63,6 +63,7 @@
'home' => RouteServiceProvider::HOME,
/*
|--------------------------------------------------------------------------
| Fortify Routes Prefix / Subdomain

View File

@ -1 +1,56 @@
<h1>CRUD USERS</h1>
@extends('Templates/templateAdmin')
@section('Main-content')
<br><br>
<div class="card">
<div class="card-body">
<form method="POST" action="{{ route('register') }}">
@csrf
<div class="form-group">
<label for="name">Nome:</label>
<input type="text" class="form-control" id="name" name="name" value="{{$pend_users->pending_name}}" readonly>
</div>
<div class="form-group">
<label for="email">E-mail:</label>
<input type="email" class="form-control" id="email" name="email" value="{{$pend_users->pending_email}}" readonly>
</div>
<div class="form-group">
<label for="user_phone">Telemovel:</label>
<input type="number" class="form-control" id="user_phone" name="user_phone" value="{{$pend_users->pending_phone}}" readonly>
</div>
<div class="form-group">
<label for="user_nif">NIF:</label>
<input type="text" class="form-control" id="user_nif" name="user_nif" value="{{$pend_users->pending_nif}}" readonly>
</div>
<div class="form-group">
<label for="user_type">Tipo de usuário:</label>
<select class="form-control" name="user_type" id="user_type">
<option value="Cliente" selected>Cliente</option>
<option value="Administrador">Administrador</option>
<option value="Super_Administrador">Super Administrador</option>
<option value="Gestor_Obra">Gestor Obra</option>
<option value="Tecnicos">Tecnicos</option>
<option value="inspetor">inspetor</option>
</select>
</div>
<div class="form-group">
<label for="password">Senha:</label>
<input type="password" class="form-control" id="password" name="password" value="{{$pend_users->pending_password}}" readonly>
</div>
<button type="submit" class="btn btn-primary btn-block">Registrar</button>
</form>
</div>
</div>
@endsection

View File

@ -86,7 +86,7 @@ class="fas fa-bars"></i></a>
</div>
<div class="info">
@if (Auth::check())
<a href="{{ 'usersProfiles' }}" class="d-block">{{ Auth::user()->user_type }}
<a href="{{ route('usersProfiles')}}" class="d-block">{{ Auth::user()->user_type }}
</a>
@endif
</div>

View File

@ -1,32 +1,29 @@
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{{ config('app.name', 'Laravel') }} - Verificar e-mail</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
@extends('Templates/templateAdmin')
@section('Main-content')
<div class="container mt-5">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">Verificar seu endereço de e-mail</div>
<div class="card-header">Email de Verificacao enviado</div>
<div class="card-body">
@if (session('status') == 'verification-link-sent')
{{-- @if (session('status') == 'verification-link-sent')
<div class="alert alert-success" role="alert">
Um novo link de verificação foi enviado para o endereço de e-mail fornecido durante o registro.
</div>
@endif
<p>Antes de prosseguir, verifique seu e-mail para obter o link de verificação. Se você não recebeu o e-mail, clique no botão abaixo para solicitar outro.</p>
@endif --}}
<p>Um email de verificacao foi enviado para o utilizador de acordo com o email Cadastado.</p>
<form method="POST" action="{{ route('verification.send') }}">
@csrf
<button type="submit" class="btn btn-primary">Reenviar link de verificação</button>
</form>
<a href="{{route('CreateUsers')}}" class="btn btn-primary">Voltar</a>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
@endsection

View File

@ -37,6 +37,7 @@
<table class="table table-bordered table-striped justify-content-center">
<thead class="text-center">
<tr>
<th>Numero</th>
<th>Nome</th>
<th>Email</th>
<th>Verificar</th>
@ -45,9 +46,11 @@
<tbody class="text-center">
@foreach ($pend_users as $pend_user)
<tr>
<td>{{ $pend_user->id }}</td>
<td>{{ $pend_user->pending_name }}</td>
<td>{{ $pend_user->pending_email }}</td>
<td><a href=""><i class="fa-solid fa-eye text-primary"></i></a></td>
<td><a href="{{ route('ShowPendingUser', ['id' => $pend_user->id]) }}"><i
class="fa-solid fa-eye text-primary"></i></a></td>
</tr>
@endforeach
</tbody>

View File

@ -37,16 +37,25 @@
*/
Route::middleware(['auth', 'verified'])->group(function () {
// Rotas protegidas que exigem verificação de e-mail
Route::get('/', function () {
return view('Admin/index');
})->name('home');
// Route::get('/', function () {
// return view('Admin/index');
// })->name('home');
// Route::get('formulario', function () {
// return view('email/formAdmin');
// })->name('formulario');
/*
|--------------------------------------------------------------------------
| Create Users with Super Admin
@ -57,15 +66,15 @@
| be assigned to the "web" middleware group. Make something great!
|
*/
Route::get('/CreateUsers', [Pending_UserController::class, 'mostrar'])->name('CreateUsers');
});
Route::get('formulario', function () {
return view('email/FormAdmin');
})->name('formulario');
// Route::get('formulario', function () {
// return view('email/FormAdmin');
// })->name('formulario');
Route::post('formulario/receive', [Pending_UserController::class, 'store'])->name('criarUser');
// Route::post('formulario/receive', [Pending_UserController::class, 'store'])->name('criarUser');
@ -79,16 +88,16 @@
|
*/
Route::middleware(['auth', 'verified', 'checksuperadmin'])->group(function () {
// Rotas protegidas que exigem verificação de e-mail e user_type Super_Admin
Route::get('/register', [RegisteredUserController::class, 'create'])
->name('register');
Route::post('/register', [RegisteredUserController::class, 'store']);
// Rotas protegidas que exigem verificação de e-mail e user_type Super_Admin
// Route::get('/register', [RegisteredUserController::class, 'create'])
// ->name('register');
// Route::post('/register', [RegisteredUserController::class, 'store']);
Route::get('usersProfiles', [userController::class, 'UserProfile'])->name('usersProfiles');
// Rota responsavel por enviar o formulario
Route::post('enviar-formulario', [FormController::class, 'enviarEmail'])->name('enviar.formulario');
/*
@ -99,17 +108,37 @@
| Definition routes to implement the CRUD model
|
*/
Route::get('users/ListUsers', [userController::class, 'ListUsers'])->name('users.list');
Route::get('users/{id}', [userController::class, 'show'])->name('users.Show');
Route::get('users/{id}/edit', [userController::class, 'edit'])->name('users.edit');
Route::put('users/{user}', [userController::class, 'update'])->name('users.update');
Route::delete('users/{user}', [UserController::class, 'destroy'])->name('users.destroy');
/*
|--------------------------------------------------------------------------
| Create Users with Super Admin
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider and all of them will
| be assigned to the "web" middleware group. Make something great!
|
*/
Route::get('/CreateUsers', [Pending_UserController::class, 'ListPendingUsers'])->name('CreateUsers');
Route::get('/CreateUsers/{id}',[Pending_UserController::class, 'ShowFormUser'])->name('ShowPendingUser');
Route::get('formulario', function () {
return view('email/FormAdmin');
})->name('formulario');
Route::post('formulario/receive', [Pending_UserController::class, 'store'])->name('criarUser');
});
Route::get('users/{id}', [userController::class, 'show'])->name('users.Show');
Route::get('users/{id}/edit',[userController::class, 'edit'])->name('users.edit');
Route::put('users/{user}', [userController::class, 'update'])->name('users.update');
Route::delete('users/{user}', [UserController::class, 'destroy'])->name('users.destroy');
@ -129,40 +158,3 @@
// return 'Failed to send email';
// }
// });
// Route::get('/forgot-password', [ForgotPasswordController::class, 'showLinkRequestForm'])->name('password.request');
// Route::post('/forgot-password', [ForgotPasswordController::class, 'sendResetLinkEmail'])->name('password.email');
// Route::get('/reset-password/{token}', [ResetPasswordController::class, 'showResetForm'])->name('password.reset');
// Route::post('/reset-password', [ResetPasswordController::class, 'reset'])->name('password.update')
// Route::post('/reset-password', [ResetPasswordController::class, 'reset'])->name('password.update');
// Route::get('/forgot-password', [PasswordResetLinkController::class, 'create'])->middleware(['guest'])->name('password.request');
// Route::get('/email/verify/{id}/{hash}', function (EmailVerificationRequest $request) {
// $request->fulfill();
// return redirect('/');
// })->middleware(['auth', 'signed'])->name('verification.verify');
// Route::get('/email/verify', function () {
// return view('auth.verify-email');
// })->middleware('auth')->name('verification.notice');
// Route::get('/email/verify/{id}/{hash}', function (EmailVerificationRequest $request) {
// $request->fulfill();
// return redirect('/');
// })->middleware(['auth', 'signed'])->name('verification.verify');
// Route::post('/email/verification-notification', function (Request $request) {
// $request->user()->sendEmailVerificationNotification();
// return back()->with('status', 'verification-link-sent');
// })->middleware(['auth', 'throttle:6,1'])->name('verification.send');