use yii_app\records\Admin;
use yii_app\records\AdminGroup;
use yii_app\records\MatrixType;
-use yii\data\ActiveDataProvider;
use yii\web\Controller;
use yii\web\NotFoundHttpException;
use yii\filters\VerbFilter;
*/
public function actionIndex()
{
- if (!in_array(Admin::findOne([Yii::$app->user->id])->group_id, [AdminGroup::GROUP_IT, AdminGroup::GROUP_BUSH_CHEF_FLORIST, AdminGroup::GROUP_BUSH_DIRECTOR])) {
- return $this->render('/site/index');
+ if (($resp = $this->checkAccess()) !== null) {
+ return $resp;
}
$searchModel = new MatrixTypeSearch();
$dataProvider = $searchModel->search(\Yii::$app->request->queryParams);
*/
public function actionView($id)
{
- if (!in_array(Admin::findOne([Yii::$app->user->id])->group_id, [AdminGroup::GROUP_IT, AdminGroup::GROUP_BUSH_CHEF_FLORIST, AdminGroup::GROUP_BUSH_DIRECTOR])) {
- return $this->render('/site/index');
+ if (($resp = $this->checkAccess()) !== null) {
+ return $resp;
}
return $this->render('view', [
'model' => $this->findModel($id),
*/
public function actionCreate()
{
- if (!in_array(Admin::findOne([Yii::$app->user->id])->group_id, [AdminGroup::GROUP_IT, AdminGroup::GROUP_BUSH_CHEF_FLORIST, AdminGroup::GROUP_BUSH_DIRECTOR])) {
- return $this->render('/site/index');
+ if (($resp = $this->checkAccess()) !== null) {
+ return $resp;
}
$model = new MatrixType();
*/
public function actionUpdate($id)
{
- if (!in_array(Admin::findOne([Yii::$app->user->id])->group_id, [AdminGroup::GROUP_IT, AdminGroup::GROUP_BUSH_CHEF_FLORIST, AdminGroup::GROUP_BUSH_DIRECTOR])) {
- return $this->render('/site/index');
+ if (($resp = $this->checkAccess()) !== null) {
+ return $resp;
}
$model = $this->findModel($id);
*/
public function actionDelete($id)
{
+ if (($resp = $this->checkAccess()) !== null) {
+ return $resp;
+ }
$model = $this->findModel($id);
$this->deleteWithChildren($model);
throw new NotFoundHttpException('The requested page does not exist.');
}
+
+ private function checkAccess() {
+ $groupId = Yii::$app->user->identity->group_id;
+
+ if (!in_array($groupId, [
+ AdminGroup::GROUP_IT,
+ AdminGroup::GROUP_BUSH_CHEF_FLORIST,
+ AdminGroup::GROUP_BUSH_DIRECTOR,
+ AdminGroup::GROUP_RS_DIRECTOR,
+ ], true)) {
+ return $this->render('/site/index');
+ }
+
+ return null;
+ }
+
}