/** * Finds user by [[username]] * * @return User|null */ public function getUser() { if ($this->_user === false) { $this->_user = UserDb::find()->where(['email' => $this->email])->one(); } return $this->_user; }
public function validateEmail($attribute, $params) { if (!$this->hasErrors()) { if (empty($this->id)) { $user = UserDb::find()->where(['email' => $this->email])->one(); if ($user != null) { $this->addError($attribute, 'Пользователь с таким email уже существует!'); } } } }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = UserDb::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider; } $query->andFilterWhere(['id' => $this->id, 'birthday' => $this->birthday, 'paul' => $this->paul, 'data_added' => $this->data_added, 'department_id' => $this->department_id]); $query->andFilterWhere(['like', 'first_name', $this->first_name])->andFilterWhere(['like', 'last_name', $this->last_name])->andFilterWhere(['like', 'email', $this->email])->andFilterWhere(['like', 'password', $this->password])->andFilterWhere(['like', 'phone', $this->phone])->andFilterWhere(['like', 'middle_name', $this->middle_name]); return $dataProvider; }
public function actionPassword_change() { $model = new ChangePasswordModel(); if (Yii::$app->request->isPost) { if ($model->load(Yii::$app->request->post()) && $model->validate()) { $user = UserDb::find()->where(['id' => Yii::$app->user->getId()])->one(); $user->setPassword($model->newPassword); if ($user->save()) { Yii::$app->getSession()->setFlash('success', 'New password was saved.'); return $this->render('success_change_password'); } else { \yii\helpers\VarDumper::dump($user->getErrors()); exit; } } } return $this->render('form_change_password', ['model' => $model]); }