/** * Добавление дофолтных причин отказа от заявки для конкретной компании. * * @param \backend\events\DefaultRefuseTypesLeadInstallEvent $event */ public function install(DefaultRefuseTypesLeadInstallEvent $event) { $command = \Yii::$app->getDb()->createCommand('INSERT INTO `lead_refuse_type` (`default_id`, `company_id`, `type`) VALUES (:default_id, :company_id, :type)'); foreach ($this->defaultRefuseTypes as $refuseTypeId => $refuseType) { $command->bindValue(':default_id', $refuseTypeId); $command->bindValue(':company_id', $event->getCompanyId()); $command->bindValue(':type', $refuseType); $command->query(); } }
/** * Регистрация пользователя. * * @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]); }