File: /home/aliazzsr/api.crm.vqode.com/models/forms/ForgotPassword.php
<?php
namespace app\models\forms;
use app\components\BaseBodyForm;
use app\components\helpers\MailHelper;
use app\models\core\User;
class ForgotPassword extends BaseBodyForm
{
/** @var string $email user email */
public $email;
/** @var User */
private $_user = null;
/**
* @inheritdoc
*/
public function rules()
{
return [
[['email'], 'required'],
['email', 'email'],
['email', 'validateEmail'],
[['email'], 'safe'],
];
}
public function validateEmail()
{
$this->_user = User::findOne(['email' => $this->email]);
if (!$this->_user) {
$this->addError('email', 'Email does not exist. Please recheck your email.');
}
}
/**
* @inheritdoc
*/
public function process()
{
if(!$this->validate() || !$this->_user->renderToken()) {
return false;
}
return MailHelper::sendForgotPassword($this->_user);
}
}