/** * Регистрация пользователя. * * @return string */ public function actionSignup() { $this->layout = 'single'; if (!\Yii::$app->user->isGuest) { $this->goHome(); } $model = new SignupForm(); if ($model->load(Yii::$app->request->post()) && $model->validate()) { $company = new Company(); if (!$company->save()) { // Невозможно создать компанию. $this->redirect('/signup'); } // Установка дефолтных типов отказов от заявки. $defaultRefuseTypesLead = new DefaultRefuseTypesLeadInstallEvent(); $defaultRefuseTypesLead->setCompanyId($company->getCompanyId()); $this->trigger(self::EVENT_SIGNUP, $defaultRefuseTypesLead); $user = $model->signup($company->getCompanyId()); if (Yii::$app->getUser()->login($user)) { return \Yii::$app->getResponse()->redirect('/'); } } return $this->render('signup', ['model' => $model]); }