/**
  * Установка причины отказа от заявки.
  *
  * @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];
     }
 }
示例#2
0
 /**
  * Возвращает отказы от заявки.
  *
  * @return \backend\models\LeadRefuse[]
  */
 public function getLeadRefuses()
 {
     return $this->hasMany(LeadRefuse::className(), ['lead_id' => 'lead_id'])->all();
 }