/**
  * Установка причины отказа от заявки.
  *
  * @todo Добавить вывод нотификаций!
  * @return array
  */
 public function actionSelect()
 {
     if (Yii::$app->getRequest()->getIsAjax() && Yii::$app->getRequest()->post()) {
         Yii::$app->getResponse()->format = Response::FORMAT_JSON;
         $leadId = Yii::$app->getRequest()->post('leadId');
         $refuseTypeId = Yii::$app->getRequest()->post('refuseTypeId');
         /** @var \common\models\User $user */
         $user = Yii::$app->getUser()->getIdentity();
         $lead = Lead::findOne(['lead_id' => $leadId, 'company_id' => $user->getCompanyId(), 'is_deleted' => false]);
         if (!$lead) {
             return ['status' => false];
         }
         // @todo Вынести сохранение причины отказа в компонент.
         $refuseType = Yii::$app->getRequest()->post('refuseType');
         if (!empty($refuseType)) {
             $leadRefuseType = new LeadRefuseType();
             $leadRefuseType->setUserId($user->getId());
             $leadRefuseType->setCompanyId($user->getCompanyId());
             $leadRefuseType->setType($refuseType);
             $leadRefuseType->save();
             $refuseTypeId = $leadRefuseType->getLeadRefuseTypeId();
         }
         $leadRefuse = new LeadRefuse();
         $leadRefuse->setLeadId($leadId);
         $leadRefuse->setLeadRefuseTypeId($refuseTypeId);
         $leadRefuse->setUserId($user->getId());
         $leadRefuse->save();
         return ['status' => true];
     }
 }
Example #2
0
 /**
  * Возвращает тип отказа от заявки.
  *
  * @return \backend\models\LeadRefuseType
  */
 public function getLeadRefuseType()
 {
     return $this->hasOne(LeadRefuseType::className(), ['lead_refuse_type_id' => 'lead_refuse_type_id'])->one();
 }
 /**
  * Вывод модального окна вывода причин отказа от заявки.
  *
  * @return string
  */
 public function run()
 {
     $leadRefuseTypes = LeadRefuseType::findAll(['company_id' => $this->lead->getCompanyId()]);
     return $this->render('modalWindowSelectRefuseTypeOfLead', ['leadRefuseTypes' => $leadRefuseTypes, 'lead' => $this->lead]);
 }