не идет
Код: Выделить всё
public function behaviors()
{
return [
'access' => [
'class' => AccessControl::className(),
'rules' => [
// Разрешаем доступ нужным пользователям.
[
'allow' => true,
'actions' => ['login', 'signup', 'resend', 'activation', 'recovery'],
'roles' => ['?']
],
[
'allow' => true,
'actions' => ['logout', 'request-email-change', 'password', 'update'],
'roles' => ['@']
],
[
'allow' => true,
'actions' => ['step2', 'step3', 'step4'],
'roles' => ['@']
],
/* ..... др код .......*/
public function actionLogin()
{
if (!Yii::$app->user->isGuest) {
$this->goHome();
}
$model = new LoginForm;
if ($model->load(Yii::$app->request->post()) && $model->login()) {
if (Yii::$app->user->can('curator')) {
if($profile=Profile::find()->where(['and', 'user_id=:user_id'],[':user_id'=>Yii::$app->user->identity->id])->one())
{
if(!$profile->checkStep2())
{
Yii::$app->getSession()->setFlash('danger', 'Вы не завершили регистрацию. Не пройден шаг 2.', false);
return $this->redirect(['default/step2']);
}
if(!$profile->checkStep3())
{
Yii::$app->getSession()->setFlash('danger', 'Вы не завершили регистрацию. Не пройден шаг 3.', false);
return $this->redirect(['default/step3']);
}
}
else
{
Yii::$app->getSession()->setFlash('danger', 'Вам необходимо завершить регистрацию, пройдя следующие шаги.', false);
return $this->redirect(Url::to(['default/step2']));
}
}
// В случае успешной авторизации, перенаправляем пользователя на главную страницу.
return $this->goHome();
}
// Рендерим представление.
return $this->render('login', [
'model' => $model
]);
}
не срабатывает здесь, хотя и в д. местах тоже:
Код: Выделить всё
Yii::$app->session->setFlash('danger', 'Вам необходимо завершить регистрацию, пройдя следующие шаги.', false);
return $this->redirect(['default/step2']);
пробовал по разному:
Yii::$app->getSession()->setFlash('danger', 'Вам необходимо завершить регистрацию, пройдя следующие шаги.', false);
Yii::$app->session->setFlash('danger', 'Вам необходимо завершить регистрацию, пройдя следующие шаги.', false);
return $this->redirect(['default/step2']);
return $this->redirect(Url::to(['default/step2']));