From c387eae375dade6a7cd1488f6e7baf57c6f3e458 Mon Sep 17 00:00:00 2001 From: ygbanzato Date: Tue, 2 May 2023 12:27:53 +0100 Subject: [PATCH] creation and implementation of the crud model for users and start of the pending_users DB --- app/Http/Controllers/userController.php | 92 ++++++++++- app/Http/Middleware/CheckSuperAdmin.php | 2 +- app/Models/pending_user.php | 11 ++ .../Admin/CrudUsers/createUser.blade.php | 1 + .../views/Admin/CrudUsers/editUsers.blade.php | 116 ++++++++++++++ .../views/Admin/CrudUsers/listUsers.blade.php | 146 ++++++++++++++++++ .../views/Admin/CrudUsers/showUsers.blade.php | 61 ++++++++ resources/views/Admin/index.blade.php | 2 +- resources/views/Admin/profile.blade.php | 100 ++++++++++++ .../views/Templates/templateAdmin.blade.php | 104 +++++-------- routes/web.php | 102 ++++++++---- 11 files changed, 632 insertions(+), 105 deletions(-) create mode 100644 app/Models/pending_user.php create mode 100644 resources/views/Admin/CrudUsers/createUser.blade.php create mode 100644 resources/views/Admin/CrudUsers/editUsers.blade.php create mode 100644 resources/views/Admin/CrudUsers/listUsers.blade.php create mode 100644 resources/views/Admin/CrudUsers/showUsers.blade.php create mode 100644 resources/views/Admin/profile.blade.php diff --git a/app/Http/Controllers/userController.php b/app/Http/Controllers/userController.php index 4b6f7f42..65e2b0c3 100644 --- a/app/Http/Controllers/userController.php +++ b/app/Http/Controllers/userController.php @@ -17,6 +17,12 @@ class userController extends Controller { + public function UserProfile (){ + + } + + + public function authenticate(Request $request) { @@ -24,14 +30,92 @@ public function authenticate(Request $request) Fortify::username() => 'required|string', 'password' => 'required|string', ]); - + $user = User::where('email', $request->email)->first(); - + if ($user && Hash::check($request->password, $user->password)) { return $user; } - + return null; } - + + + public function ListUsers() + { + $users = User::all(); + return view('Admin.CrudUsers.listUsers', compact('users')); + } + + public function show($id) + { + $user = User::findOrFail($id); + return view('Admin.CrudUsers.showUsers', compact('user')); + } + + public function edit($id) + { + $user = User::findOrFail($id); + return view('Admin.CrudUsers.editUsers', compact('user')); + } + + public function update(Request $request, User $user) + { + $request->validate([ + 'name' => 'required', + 'email' => 'required|email|unique:users,email,' . $user->id, + 'password' => 'nullable|min:8|confirmed', + 'user_type' => 'required', + 'user_phone' => 'required', + 'user_nif' => 'required', + ]); + + $user->update([ + 'name' => $request->get('name'), + 'email' => $request->get('email'), + 'password' => $request->filled('password') ? Hash::make($request->get('password')) : $user->password, + 'user_type' => $request->get('user_type'), + 'user_phone' => $request->get('user_phone'), + 'user_nif' => $request->get('user_nif'), + ]); + + return redirect('/users/ListUsers')->with('success', 'Usuario atualizado com Sucesso!!'); + } + + + + public function create() + { + return view('users.create'); + } + + public function store(Request $request) + { + $request->validate([ + 'name' => 'required', + 'email' => 'required|email|unique:users', + 'password' => 'required|min:8|confirmed', + 'user_type' => 'required', + 'user_phone' => 'required', + 'user_nif' => 'required', + ]); + + $user = new User([ + 'name' => $request->get('name'), + 'email' => $request->get('email'), + 'password' => Hash::make($request->get('password')), + 'user_type' => $request->get('user_type'), + 'user_phone' => $request->get('user_phone'), + 'user_nif' => $request->get('user_nif'), + ]); + + $user->save(); + return redirect('/users')->with('success', 'User created successfully!'); + } + + public function destroy(User $user) + { + $user->delete(); + return redirect('/users/ListUsers')->with('success', 'User deleted successfully!'); + } } diff --git a/app/Http/Middleware/CheckSuperAdmin.php b/app/Http/Middleware/CheckSuperAdmin.php index febe6663..f4ca6c6f 100644 --- a/app/Http/Middleware/CheckSuperAdmin.php +++ b/app/Http/Middleware/CheckSuperAdmin.php @@ -15,7 +15,7 @@ class CheckSuperAdmin */ public function handle(Request $request, Closure $next): Response { - if (auth()->user() && auth()->user()->user_type == 'Super_Admin') { + if (auth()->user() && auth()->user()->user_type == 'Super_Administrador') { return $next($request); } diff --git a/app/Models/pending_user.php b/app/Models/pending_user.php new file mode 100644 index 00000000..510f465e --- /dev/null +++ b/app/Models/pending_user.php @@ -0,0 +1,11 @@ +CRUD USERS \ No newline at end of file diff --git a/resources/views/Admin/CrudUsers/editUsers.blade.php b/resources/views/Admin/CrudUsers/editUsers.blade.php new file mode 100644 index 00000000..5a2dc7a9 --- /dev/null +++ b/resources/views/Admin/CrudUsers/editUsers.blade.php @@ -0,0 +1,116 @@ +@extends('Templates/templateAdmin') + +@section('content-wrapper') + +
+ + +
+
+ {{--

Editar dados do {{$user->name }}

+
+
+ Detalhes do usuário :: {{ $user->name }}
+
+
+
+ +
+ +
+ + +
+
+ + +
+
+
+
+
+ +
+
+ +
--}} + + +
+
+
+
+
Editar Usuário
+
+
+ @csrf + @method('PUT') + +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ + + Cancelar +
+
+
+
+
+
+ + + + + + + + + + + +
+ {{-- ./container-fluid --}} +
+ {{-- /.content --}} + +
+{{-- ./content-wrapper --}} + + +@endsection diff --git a/resources/views/Admin/CrudUsers/listUsers.blade.php b/resources/views/Admin/CrudUsers/listUsers.blade.php new file mode 100644 index 00000000..828139aa --- /dev/null +++ b/resources/views/Admin/CrudUsers/listUsers.blade.php @@ -0,0 +1,146 @@ +@extends('Templates/templateAdmin') + +@section('content-wrapper') +
+ +
+ +
+

Algum Titulo

+ @if (session('success')) +
+ {{ session('success') }} +
+ @endif +
+
+

Tabela Utilizadores

+ +
+
+ + +
+ +
+
+
+
+ +
+ + + + + + + + + + + + @foreach ($users as $user) + + + + + + + + @endforeach + +
IDNomeEmailTipo de UsuárioAções
{{ $user->id }}{{ $user->name }}{{ $user->email }}{{ $user->user_type }} + + + + + + + {{-- + + --}} +
+ @csrf + @method('DELETE') + +
+
+
+ +
+ +
+
+

Pendentes Utilizadores

+ +
+
+ + +
+ +
+
+
+
+ +
+ + + + + + + + + + @foreach ($users as $user) + + + + + + @endforeach + +
NomeEmailAções
{{ $user->name }}{{ $user->email }} + + + + + + + {{-- + + --}} +
+ @csrf + @method('DELETE') + +
+
+
+ +
+ + +
+ {{-- /.container-fluid" --}} + + +
+
+@endsection diff --git a/resources/views/Admin/CrudUsers/showUsers.blade.php b/resources/views/Admin/CrudUsers/showUsers.blade.php new file mode 100644 index 00000000..a0d24143 --- /dev/null +++ b/resources/views/Admin/CrudUsers/showUsers.blade.php @@ -0,0 +1,61 @@ +@extends('Templates/templateAdmin') + +@section('content-wrapper') + +
+ +
+ +
+

Detalhes de User

+
+
+ Detalhes do usuário :: {{ $user->name }}
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
ID{{ $user->id }}
Nome{{ $user->name }}
Email{{ $user->email }}
Tipo de usuário{{ $user->user_type }}
Criado em : {{ $user->created_at }}
Atualizado em : {{ $user->updated_at }}
+
+
+
+
+
+ +
+ +
+
+ {{-- /.container-fluid --}} + +
+ {{-- /.content --}} +
+ {{-- /.content-wrapper --}} +@endsection diff --git a/resources/views/Admin/index.blade.php b/resources/views/Admin/index.blade.php index b70726e8..d33383e1 100644 --- a/resources/views/Admin/index.blade.php +++ b/resources/views/Admin/index.blade.php @@ -1,4 +1,3 @@ - @extends('Templates/templateAdmin') @section('content-wrapper') @@ -248,6 +247,7 @@ + {{-- /.container-fluid --}} diff --git a/resources/views/Admin/profile.blade.php b/resources/views/Admin/profile.blade.php new file mode 100644 index 00000000..72cea828 --- /dev/null +++ b/resources/views/Admin/profile.blade.php @@ -0,0 +1,100 @@ +@extends('Templates/templateAdmin') + +@section('content-wrapper') +
+ +
+ +
+
+
+ +
+ +
+
+
+
+ +
+ + {{-- --}} +
+ + +
+
+ {{--

{{ $tipo_usuario }}

--}} +
+
+
+
+
+

Nome:

+
+ +
+

Email:

+
+
+ +
+
+

Telemovel:

+
+ +
+

NIF:

+
+
+ +
+
+ {{--

Nova Senha:

--}} +
+ + +
+ +
+
+
+ + + +
+ + + +
+
+ + + +
+ {{-- ./container-fluid" --}} +
+ {{-- ./content --}} +
+ {{-- ./content-wrapper --}} +@endsection diff --git a/resources/views/Templates/templateAdmin.blade.php b/resources/views/Templates/templateAdmin.blade.php index 26cb1dbb..3ef07504 100644 --- a/resources/views/Templates/templateAdmin.blade.php +++ b/resources/views/Templates/templateAdmin.blade.php @@ -69,12 +69,13 @@ class="fas fa-bars">