/**
  * Добавление дофолтных причин отказа от заявки для конкретной компании.
  *
  * @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]);
 }