Viewing File: /home/ubuntu/vedadeals-backend-base/app/Http/Controllers/Auth/ForgotPasswordController.php
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\SendsPasswordResetEmails;
use Illuminate\Http\Request;
use App\Models\{ User, PasswordReset };
use DB, Hash, Setting, Validator, Exception;
use App\Services\{ EmailService };
use App\Http\Requests\Admin\Auth\{ ResetPasswordRequest };
class ForgotPasswordController extends Controller
{
/*
|--------------------------------------------------------------------------
| Password Reset Controller
|--------------------------------------------------------------------------
|
| This controller is responsible for handling password reset emails and
| includes a trait which assists in sending these notifications from
| your application to your users. Feel free to explore this trait.
|
*/
use SendsPasswordResetEmails;
/**
* @method reset_password
*
* @uses to show reset password page
*
* @created
*
* @updated
*
* @param object
*
* @return response return view page
*
**/
public function reset_password() {
return view('users.auth.reset_password');
}
/**
* @method reset_password_update()
*
* @uses to reset the password
*
* @created
*
* @updated
*
* @param object $request - reset_token
*
* @return to login page
*/
public function reset_password_update(ResetPasswordRequest $request) {
try {
DB::beginTransaction();
$password_reset = PasswordReset::where('token', $request->reset_token)->first();
$user = User::firstWhere('email', $password_reset->email);
$user->password = Hash::make($request->password);
$user->save();
PasswordReset::where('email', $user->email)->delete();
DB::commit();
EmailService::send_reset_password_email($user);
return view('users.pages.success')->with('message', tr('hello_user', $user->name));
} catch(Exception $e) {
DB::rollback();
return redirect()->back()->withInput()->with('flash_error', $e->getMessage());
}
}
}
Back to Directory
File Manager