/** * Finds the Family model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return Family the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = Family::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
public function actionUpdate() { $id = Yii::$app->user->identity->family_id; $model = Family::findOne($id); if ($model->login_user_id) { $user = User::findOne($model->login_user_id); } else { $user = new User(); } if ($model->load(Yii::$app->request->post())) { $transaction = Yii::$app->db->beginTransaction(); if ($model->login_status == \app\enum\UserStatus::Ativo && $model->user_name) { //Cria novo utilizador $user = new \app\models\User(); $user->username = $model->user_name; $user->email = $model->user_name; $user->status = \app\enum\UserStatus::Ativo; $user->family_id = 0; //sem familia atribuida $user->family_login_user = $model->id; //Utilizador familiar if ($user->validate() && $user->save()) { $model->login_user_id = $user->id; Yii::$app->getSession()->setFlash('success', 'Foi criado com sucesso o utilizador familiar.<br>' . 'A partir deste momento poderá usar este utilizador para ver eventos e tarefas da família,' . ' mesmo que não sejam membros do MemoBoard Familiar.'); } else { $err = '<br>'; foreach ($user->errors as $field => $error) { $err .= '<br> <li> ' . $error[0] . '</li>'; } //$err = implode('<br>',$user->errors); Yii::$app->getSession()->setFlash('danger', 'O utilizador não pode ser criado porque não passou na validação: ' . $err); $this->layout = 'main_user'; return $this->render('update', ['model' => $model, 'user' => $user]); } } if ($model->save()) { $transaction->commit(); return $this->redirect('/user/index'); } else { var_dump($model->errors); die; $transaction->rollBack(); } } $this->layout = 'main_user'; return $this->render('update', ['model' => $model, 'user' => $user]); }