You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
2.6 KiB
65 lines
2.6 KiB
<?php |
|
|
|
namespace App\Http\Controllers\Auth; |
|
|
|
use App\Models\User; |
|
use Illuminate\Http\Request; |
|
use App\Http\Controllers\Controller; |
|
use Illuminate\Support\Facades\Hash; |
|
use App\Models\ExpirarContrasena; |
|
use DB; |
|
|
|
class ExpirarContrasenaController extends Controller |
|
{ |
|
public function showPasswordExpirationForm(Request $request){ |
|
//dd/trewq 0($request->password_expired_id); |
|
$password_expired_id = $request->password_expired_id; |
|
if(!isset($password_expired_id)){ |
|
return redirect('/login'); |
|
} |
|
return view('auth.passwordExpiration', ['password_expired_id' => $password_expired_id]); |
|
} |
|
public function postPasswordExpiration(Request $request){ |
|
|
|
$password_expired_id = $request->password_expired_id; |
|
if(!isset($password_expired_id)){ |
|
return redirect('/login'); |
|
} |
|
$user = User::find($password_expired_id); |
|
|
|
if (!(Hash::check($request->get('current-password'), $user->password))) { |
|
|
|
// The passwords matches |
|
return redirect()->back()->with('message', ['type'=> 'error', 'text' => 'Su contraseña actual no coincide, favor de intentarlo de nuevo.', 'title' => '¡Error!']); |
|
} |
|
if(strcmp($request->get('current-password'), $request->get('new-password')) == 0){ |
|
//Current password and new password are same |
|
|
|
return redirect()->back()->with('message', ['type'=> 'error', 'text' => 'Su nueva contraseña no debe ser igual a su contraseña actual, favor de intentarlo de nuevo.', 'title' => '¡Error!']); |
|
} |
|
if(strcmp($request->get('repeat-password'), $request->get('new-password')) != 0){ |
|
//Current password and new password are same |
|
|
|
return redirect()->back()->with('message', ['type'=> 'error', 'text' => 'Favor de repetir la contraseña correctamente, intentalo de nuevo.', 'title' => '¡Error!']); |
|
} |
|
|
|
|
|
// $validatedData = $request->validate([ |
|
// 'current-password' => 'required', |
|
// 'new-password' => 'required|string|min:6', |
|
// 'repeat-password' => 'required|string|min:6', |
|
// ]); |
|
|
|
// dd($validatedData); |
|
|
|
//Change Password |
|
$user->password = Hash::make($request->get('new-password')); |
|
$user->save(); |
|
//Update password updation timestamp |
|
ExpirarContrasena::where('fk_id_users',$user->id)->update([ |
|
'ultima_actualizacion' => now(), |
|
'dias_expiracion' =>365 |
|
]); |
|
return redirect('/')->with('message', ['type'=> 'success', 'text' => 'Su contraseña ah sido actualizada correctamente.', 'title' => '¡Éxito!']); |
|
} |
|
}
|
|
|