skeeks\cms\controllers\AdminUserController::create PHP Method

create() public method

public create ( skeeks\cms\modules\admin\actions\AdminAction $adminAction )
$adminAction skeeks\cms\modules\admin\actions\AdminAction
    public function create(AdminAction $adminAction)
    {
        $modelClassName = $this->modelClassName;
        $model = new $modelClassName();
        $model->loadDefaultValues();
        $relatedModel = $model->relatedPropertiesModel;
        $relatedModel->loadDefaultValues();
        $passwordChange = new PasswordChangeForm(['user' => $model]);
        $rr = new RequestResponse();
        if (\Yii::$app->request->isAjax && !\Yii::$app->request->isPjax) {
            $model->load(\Yii::$app->request->post());
            $relatedModel->load(\Yii::$app->request->post());
            $passwordChange->load(\Yii::$app->request->post());
            return \yii\widgets\ActiveForm::validateMultiple([$model, $relatedModel, $passwordChange]);
        }
        if ($rr->isRequestPjaxPost()) {
            $model->load(\Yii::$app->request->post());
            $relatedModel->load(\Yii::$app->request->post());
            if ($model->save() && $relatedModel->save()) {
                if ($passwordChange->new_password) {
                    if (!$passwordChange->changePassword()) {
                        \Yii::$app->getSession()->setFlash('error', "Пароль не изменен");
                    }
                }
                \Yii::$app->getSession()->setFlash('success', \Yii::t('skeeks/cms', 'Saved'));
                if (\Yii::$app->request->post('submit-btn') == 'apply') {
                    return $this->redirect(UrlHelper::constructCurrent()->setCurrentRef()->enableAdmin()->setRoute($this->modelDefaultAction)->normalizeCurrentRoute()->addData([$this->requestPkParamName => $model->{$this->modelPkAttribute}])->toString());
                } else {
                    return $this->redirect($this->indexUrl);
                }
            } else {
                \Yii::$app->getSession()->setFlash('error', \Yii::t('skeeks/cms', 'Could not save'));
            }
        }
        return $this->render('_form', ['model' => $model, 'relatedModel' => $relatedModel, 'passwordChange' => $passwordChange]);
    }