/** * Update user. * * @param integer $id User ID */ public function actionUpdate($id) { $user = $this->findModel($id); $user->setScenario('admin-update'); $profile = $user->profile; $statusArray = User::getStatusArray(); $roleArray = User::getRoleArray(); if ($user->load(Yii::$app->request->post()) && $profile->load(Yii::$app->request->post())) { if ($user->validate() && $profile->validate()) { $user->populateRelation('profile', $profile); if (!$user->save(false)) { Yii::$app->session->setFlash('danger', Yii::t('users', 'BACKEND_FLASH_FAIL_ADMIN_CREATE')); } return $this->refresh(); } elseif (Yii::$app->request->isAjax) { Yii::$app->response->format = Response::FORMAT_JSON; return array_merge(ActiveForm::validate($user), ActiveForm::validate($profile)); } } return $this->render('update', ['user' => $user, 'profile' => $profile, 'roleArray' => $roleArray, 'statusArray' => $statusArray]); }
/** * @inheritdoc */ public function rules() { return [[['name', 'surname', 'username', 'email'], 'string'], ['role', 'in', 'range' => array_keys(User::getRoleArray())], ['status_id', 'in', 'range' => array_keys(User::getStatusArray())]]; }