public function actionDisclosures($id_application) { $model = AppForm::find()->andWhere(['id_application' => $id_application])->one(); if (!$model) { $model = new AppForm(); } if ($model->load(Yii::$app->request->post())) { $model->id_application = $id_application; if ($model->save(false)) { //active Active::operationLog($id_application, [Yii::$app->user->getIdentity()->first_name, Yii::$app->user->getIdentity()->last_name, DictTask::$taskType[DictTask::TYPE_APPLICATION_FORM], DictActive::$form_type[DictActive::APP_FORM_DISCLOSURES]], DictActive::USER_UPDATE_TASK, Yii::$app->user->getIdentity()->id); //validate data $model->setScenario('disclosures'); $status = $model->validate(true); AppFormStatus::changeStatus($id_application, 4, $status); if (Yii::$app->request->isAjax) { Yii::$app->response->format = Response::FORMAT_JSON; return true; } return $this->redirect([AppFormStatus::Url(3), 'id_application' => $model->id_application]); } } return $this->render('disclosures', ['model' => $model]); }
public function checkAppForm() { $form = $this->appForm; $appModel = $this->primaryAppApplicant; $coAppModel = $this->coAppApplicant; $errorCount = 0; $totalCount = 1; $errorList = []; $tmpModel = new AppForm(['scenario' => 'complate-rate-check', 'id_application' => $this->id_application]); $tmpModel->validate(); $totalCount += count($tmpModel->getErrors()); $tmpModel = new AppApplicant(['scenario' => 'complate-rate-check']); $tmpModel->validate(); $totalCount += count($tmpModel->getErrors()); if ($coAppModel) { $tmpModel = new AppApplicant(['scenario' => 'co-complate-rate-check']); $tmpModel->validate(); $totalCount += count($tmpModel->getErrors()); } $form->setScenario('complate-rate-check'); $form->validate(); $errorCount += count($form->getErrors()); $errorList = array_merge($errorList, $form->getErrors()); $appModel->setScenario('complate-rate-check'); $appModel->validate(); $errorCount += count($appModel->getErrors()); $errorList = array_merge($errorList, $appModel->getErrors()); if ($coAppModel) { $coAppModel->setScenario('co-complate-rate-check'); $coAppModel->validate(); $errorCount += count($coAppModel->getErrors()); $errorList = array_merge($errorList, $coAppModel->getErrors()); } $collateralAccount = AppFormCollateralAccount::find()->andWhere(['id_application' => $this->id_application])->all(); if (!$collateralAccount) { $errorCount += 1; $errorList['collateral_account'] = ['need add one collateral account']; } return ['totalCount' => $totalCount, 'errorCount' => $errorCount, 'errorList' => $errorList]; }