D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
var
/
www
/
html
/
epaji.com
/
public_html
/
hindiusa
/
controllers
/
Filename :
UsersController.php
back
Copy
<?php namespace app\controllers; use Yii; use yii\filters\AccessControl; use app\models\Users; use app\models\UsersSearch; use yii\web\Controller; use yii\web\NotFoundHttpException; use yii\filters\VerbFilter; /** * UsersController implements the CRUD actions for Users model. */ class UsersController extends Controller { /** * @inheritDoc */ public function behaviors() { return[ 'access' => [ 'class' => AccessControl::className(), 'only' => ['index','create','view','update','delete'], 'rules' => [ [ 'actions' => ['index','create','view','update','delete'], 'allow' => true, 'roles' => ['@'], 'matchCallback' => function ($rule, $action) { return \app\models\Users::isUserSuperAdmin(\Yii::$app->user->id); } ], [ 'actions' => ['index','create','view','update'], 'allow' => true, 'roles' => ['@'], 'matchCallback' => function ($rule, $action) { return \app\models\Users::isUserSchoolManager(\Yii::$app->user->id); } ], ], ], 'verbs' => [ 'class' => VerbFilter::className(), 'actions' => [ 'delete' => ['POST'], ], ], ]; } /** * Lists all Users models. * @return mixed */ public function actionIndex() { $searchModel = new UsersSearch(); $dataProvider = $searchModel->search($this->request->queryParams); if(\app\models\Users::isUserSchoolManager(\Yii::$app->user->id)){ $school_id = \app\components\AppHelper::getSchoolId(\Yii::$app->user->id); $dataProvider->query->andWhere('users.school_id ='.$school_id); } return $this->render('index', [ 'searchModel' => $searchModel, 'dataProvider' => $dataProvider, ]); } /** * Displays a single Users model. * @param int $id ID * @return mixed * @throws NotFoundHttpException if the model cannot be found */ public function actionView($id) { return $this->render('view', [ 'model' => $this->findModel($id), ]); } /** * Creates a new Users model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate() { $model = new Users(); if ($this->request->isPost) { $model->created = date('Y-m-d H:i:s'); if(\app\models\Users::isUserSchoolManager(\Yii::$app->user->id)){ $school_id = \app\components\AppHelper::getSchoolId(\Yii::$app->user->id); $model->school_id = $school_id; $model->role = 3; } if ($model->load($this->request->post()) && $model->save()) { Yii::$app->session->setFlash('success', "User Created successlly."); return $this->redirect(['index']); } } else { $model->loadDefaultValues(); } return $this->render('create', [ 'model' => $model, ]); } /** * Updates an existing Users model. * If update is successful, the browser will be redirected to the 'view' page. * @param int $id ID * @return mixed * @throws NotFoundHttpException if the model cannot be found */ public function actionUpdate($id) { $model = $this->findModel($id); if(\app\models\Users::isUserSchoolManager(\Yii::$app->user->id)){ $school_id = \app\components\AppHelper::getSchoolId(\Yii::$app->user->id); if($model->school_id != $school_id ) { Yii::$app->session->setFlash('error', "You have no permission to edit it."); return $this->redirect(['index']); } } if ($this->request->isPost && $model->load($this->request->post()) && $model->save()) { Yii::$app->session->setFlash('success', "User Updated successlly."); return $this->redirect(['index']); } return $this->render('update', [ 'model' => $model, ]); } /** * Deletes an existing Users model. * If deletion is successful, the browser will be redirected to the 'index' page. * @param int $id ID * @return mixed * @throws NotFoundHttpException if the model cannot be found */ public function actionDelete($id) { $this->findModel($id)->delete(); return $this->redirect(['index']); } /** * Finds the Users model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param int $id ID * @return Users the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = Users::findOne($id)) !== null) { return $model; } throw new NotFoundHttpException(Yii::t('app', 'The requested page does not exist.')); } }