Created
May 24, 2019 22:01
-
-
Save calcio/74db613fb7f9d845286c694de251e176 to your computer and use it in GitHub Desktop.
UserController
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
namespace app\modules\admin\controllers; | |
use Yii; | |
use app\modules\admin\models\User; | |
use app\modules\admin\models\UserSearch; | |
use yii\web\Controller; | |
use yii\web\NotFoundHttpException; | |
use yii\filters\VerbFilter; | |
/** | |
* UserController implements the CRUD actions for User model. | |
*/ | |
class UserController extends Controller | |
{ | |
/** | |
* @inheritdoc | |
*/ | |
public function behaviors() | |
{ | |
return [ | |
'verbs' => [ | |
'class' => VerbFilter::className(), | |
'actions' => [ | |
'delete' => ['POST'], | |
], | |
], | |
]; | |
} | |
/** | |
* Lists all User models. | |
* @return mixed | |
*/ | |
public function actionIndex() | |
{ | |
$searchModel = new UserSearch(); | |
$dataProvider = $searchModel->search(Yii::$app->request->queryParams); | |
return $this->render('index', [ | |
'searchModel' => $searchModel, | |
'dataProvider' => $dataProvider, | |
]); | |
} | |
/** | |
* Displays a single User model. | |
* @param integer $id | |
* @return mixed | |
*/ | |
public function actionView($id) | |
{ | |
return $this->render('view', [ | |
'model' => $this->findModel($id), | |
]); | |
} | |
/** | |
* Creates a new User model. | |
* If creation is successful, the browser will be redirected to the 'view' page. | |
* @return mixed | |
*/ | |
public function actionCreate() | |
{ | |
$model = new User(); | |
if ($model->load(Yii::$app->request->post()) && $model->save()) { | |
return $this->redirect(['view', 'id' => $model->id]); | |
} | |
return $this->render('create', [ | |
'model' => $model, | |
]); | |
} | |
/** | |
* Updates an existing User model. | |
* If update is successful, the browser will be redirected to the 'view' page. | |
* @param integer $id | |
* @return mixed | |
*/ | |
public function actionUpdate($id) | |
{ | |
$model = $this->findModel($id); | |
if ($model->load(Yii::$app->request->post()) && $model->save()) { | |
return $this->redirect(['view', 'id' => $model->id]); | |
} | |
return $this->render('update', [ | |
'model' => $model, | |
]); | |
} | |
public function actionResetPassword($id) | |
{ | |
$model = $this->findModel($id); | |
$model->scenario = 'resetPassword'; | |
if ($model->load(Yii::$app->request->post()) && $model->save()) { | |
return $this->redirect(['view', 'id' => $model->id]); | |
} | |
return $this->render('resetPassword', [ | |
'model' => $model, | |
]); | |
} | |
/** | |
* Deletes an existing User model. | |
* If deletion is successful, the browser will be redirected to the 'index' page. | |
* @param integer $id | |
* @return mixed | |
*/ | |
public function actionDelete($id) | |
{ | |
$this->findModel($id)->delete(); | |
return $this->redirect(['index']); | |
} | |
/** | |
* Finds the User model based on its primary key value. | |
* If the model is not found, a 404 HTTP exception will be thrown. | |
* @param integer $id | |
* @return User the loaded model | |
* @throws NotFoundHttpException if the model cannot be found | |
*/ | |
protected function findModel($id) | |
{ | |
if (($model = User::findOne($id)) !== null) { | |
return $model; | |
} else { | |
throw new NotFoundHttpException('The requested page does not exist.'); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment