ispt4.0_laravel/app/Http/Controllers/Pending_UserController.php

66 lines
1.9 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use App\Mail\NewUserNotification;
use Illuminate\Support\Facades\Mail;
use App\Models\pending_user;
use App\Models\User;
use App\Models\TypeUser;
class Pending_UserController extends Controller
{
public function ListPendingUsers()
{
$pend_users = pending_user::all();
return view('email/pendingUsers', compact('pend_users'));
}
public function ShowFormUser($id){
$pend_users = pending_user::findOrFail($id);
$types = TypeUser::all();
return view ('Admin.CrudUsers.createUser', compact('pend_users','types'));
}
public function store(Request $request){
$request->validate([
'name' => 'required',
'lastName' => 'required',
'pending_email' => 'required|email|unique:pending_users,pending_email|unique:users,email',
'pending_phone' => 'required',
'pending_nif' => 'required',
'pending_password' => 'required|min:8|confirmed',
]);
$joinName = $request->get('name') . ' ' . $request->get('lastName');
$pendingUser = new pending_user([
'pending_name' => $joinName,
'pending_email' => $request->get('pending_email'),
'pending_phone' => $request->get('pending_phone'),
'pending_nif' => $request->get('pending_nif'),
'pending_password' => Hash::make($request->get('pending_password')),
]);
$pendingUser->save();
// Enviar email de notificação para todos os Super_Administrador
$superAdmins = User::where('user_type', 'Super_Administrador')->get();
$newUserNotification = new NewUserNotification();
foreach ($superAdmins as $superAdmin) {
Mail::to($superAdmin->email)->send($newUserNotification);
}
return redirect('/formulario')->with('success', 'O seu registro foi enviado e aguarda aprovação.');
}
}