public function actionCreate() { $model = new NetCustomer(); $arrCustomerStatus = MasterValueUtils::getArrData('net_customer_status'); // submit data $postData = Yii::$app->request->post(); $submitMode = isset($postData[MasterValueUtils::SM_MODE_NAME]) ? $postData[MasterValueUtils::SM_MODE_NAME] : false; // populate model attributes with user inputs $model->load($postData); // init value if (empty($model->status)) { $model->status = MasterValueUtils::MV_NET_CUSTOMER_STATUS_ON; } $model->scenario = MasterValueUtils::SCENARIO_CREATE; // render GUI $renderView = 'create'; $renderData = ['model' => $model, 'arrCustomerStatus' => $arrCustomerStatus]; switch ($submitMode) { case MasterValueUtils::SM_MODE_INPUT: $isValid = $model->validate(); if ($isValid) { $renderView = 'confirm'; $renderData['formMode'] = [MasterValueUtils::PG_MODE_NAME => MasterValueUtils::PG_MODE_CREATE]; } break; case MasterValueUtils::SM_MODE_CONFIRM: $isValid = $model->validate(); if ($isValid) { $result = $this->createCustomer($model); if ($result === true) { Yii::$app->session->setFlash(MasterValueUtils::FLASH_SUCCESS, Yii::t('common', '{record} has been saved successfully.', ['record' => Yii::t('net.models', 'Customer')])); return Yii::$app->getResponse()->redirect(Url::to(['index'])); } else { Yii::$app->session->setFlash(MasterValueUtils::FLASH_ERROR, $result); $renderView = 'confirm'; $renderData['formMode'] = [MasterValueUtils::PG_MODE_NAME => MasterValueUtils::PG_MODE_CREATE]; } } break; case MasterValueUtils::SM_MODE_BACK: break; default: break; } return $this->render($renderView, $renderData); }