public function save() { $this->trigger('beforeInsert'); try { Contact::perform('AttachDocument', $this->getAttributes()); } catch (ErrorResponseException $e) { $this->addError('title', $e->getMessage()); return false; } return true; }
public function actionChangeContact($contactId = null, $contactType = null, $domainId = null, $domainName = null) { if (!Yii::$app->request->isPost) { $model = $this->findModel($contactId); $model->scenario = 'change-contact'; return $this->render('changeContact', ['countries' => $this->getRefs('country_code', 'hipanel'), 'askPincode' => Client::perform('HasPincode'), 'model' => $model, 'domainId' => $domainId, 'domainName' => $domainName, 'contactType' => $contactType]); } else { $model = new Contact(['scenario' => 'create']); if ($model->load(Yii::$app->request->post())) { $domainContactInfo = Domain::perform('GetContactsInfo', ['id' => $model->domainId]); $setContactOptions = ['domain' => $model->domainName, 'id' => $model->domainId]; if ($model->save()) { foreach (Domain::$contactOptions as $contact) { $setContactOptions[$contact] = $contact === $model->contactType ? $model->id : $domainContactInfo[$contact]['id']; } Domain::perform('SetContacts', $setContactOptions); $this->redirect(['@domain/view', 'id' => $model->domainId]); } } } }
/** * @throws \HttpInvalidParamException * * @return string */ public function actionModalContactsBody() { $ids = ArrayHelper::csplit(Yii::$app->request->post('ids')); $domainContactModels = []; if ($ids) { $domainContacts = Domain::perform('GetContacts', ArrayHelper::make_sub($ids, 'id'), true); foreach ($domainContacts as $item) { $domainContactModels[] = Domain::find()->populate([$item]); } $modelContactInfo = Contact::perform('GetList', ['domain_ids' => $ids, 'limit' => 1000], true); return $this->renderAjax('_modalContactsBody', ['domainContacts' => $domainContacts, 'modelContactInfo' => $modelContactInfo]); } else { return Yii::t('hipanel', 'No items selected'); } }
public static function type() { return Contact::type(); }