public function update(AdminAction $adminAction)
{
/**
* @var $model CmsUser
*/
$model = $this->model;
$relatedModel = $model->relatedPropertiesModel;
$passwordChange = new PasswordChangeForm(['user' => $model]);
$passwordChange->scenario = PasswordChangeForm::SCENARION_NOT_REQUIRED;
$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());
$passwordChange->load(\Yii::$app->request->post());
if ($model->save() && $relatedModel->save()) {
\Yii::$app->getSession()->setFlash('success', \Yii::t('skeeks/cms', 'Saved'));
if ($passwordChange->new_password) {
if (!$passwordChange->changePassword()) {
\Yii::$app->getSession()->setFlash('error', "Пароль не изменен");
}
}
if (\Yii::$app->request->post('submit-btn') == 'apply') {
} else {
return $this->redirect($this->indexUrl);
}
$model->refresh();
} else {
$errors = [];
if ($model->getErrors()) {
foreach ($model->getErrors() as $error) {
$errors[] = implode(', ', $error);
}
}
\Yii::$app->getSession()->setFlash('error', \Yii::t('skeeks/cms', 'Could not save') . ". " . implode($errors));
}
}
return $this->render('_form', ['model' => $model, 'relatedModel' => $relatedModel, 'passwordChange' => $passwordChange]);
}