|
|
@@ -8,6 +8,7 @@ use dektrium\user\models\Token;
|
|
|
use Exception;
|
|
|
use RuntimeException;
|
|
|
use Yii;
|
|
|
+use yii\helpers\ArrayHelper;
|
|
|
use yii\helpers\Html;
|
|
|
use yii\helpers\Url;
|
|
|
|
|
|
@@ -42,6 +43,14 @@ class User extends BaseUser
|
|
|
];
|
|
|
}
|
|
|
|
|
|
+ public function scenarios()
|
|
|
+ {
|
|
|
+ $scenarios = parent::scenarios();
|
|
|
+ return ArrayHelper::merge($scenarios, [
|
|
|
+ 'api' => ['username', 'password'],
|
|
|
+ ]);
|
|
|
+ }
|
|
|
+
|
|
|
/** @inheritdoc */
|
|
|
public function rules()
|
|
|
{
|
|
|
@@ -68,10 +77,16 @@ class User extends BaseUser
|
|
|
|
|
|
|
|
|
// email rules
|
|
|
+ 'emailIsEmpty' => ['email', 'default', 'value' => function($model){return empty($model->email) ? $model->username . '@example.com': $model->email;}],
|
|
|
'emailTrim' => ['email', 'trim'],
|
|
|
'emailRequired' => ['email', 'required', 'on' => ['register', 'connect', 'create', 'update']],
|
|
|
'emailPattern' => ['email', 'email'],
|
|
|
'emailLength' => ['email', 'string', 'max' => 255],
|
|
|
+ 'emailUnique2' => [
|
|
|
+ 'email',
|
|
|
+ 'unique',
|
|
|
+ 'except' => ['api']
|
|
|
+ ],
|
|
|
'emailUnique' => [
|
|
|
'email',
|
|
|
'unique',
|