Hey fellas, I’m trying to show the ‘alumno’ view by an alumno->id only to the simple user.
I’ve been trying this with no success on AlumnoController
'actions' => ['view', 'id' => $alumno->id]
and also this
'actions' => [['view', 'id' => $alumno->id]]
Here’s the code.
public function behaviors()
{
$user = Users::findOne(Yii::$app->user->identity->id);
$alumno = Alumno::find()->where(['apoderado_id' => $user->id_apoderado])->one();
return [
'access' => [
'class' => AccessControl::className(),
//Acciones incluidas
'only' => ['index', 'view', 'create', 'update', 'delete'],
'rules' => [
[
//El super admin tiene permisos sobre las siguientes acciones
'actions' => ['index', 'view', 'create', 'update', 'delete'],
//Esta propiedad establece que tiene permisos
'allow' => true,
//Usuarios autenticados, el signo ? es para invitados
'roles' => ['@'],
//Este método nos permite crear un filtro sobre la identidad del usuario
//y así establecer si tiene permisos o no
'matchCallback' => function ($rule, $action) {
//Llamada al método que comprueba si es un superadministrador
return User::isSuperAdmin(Yii::$app->user->identity->id);
},
],
[
//El administrador tiene permisos sobre las siguientes acciones
'actions' => ['index', 'view', 'update'],
//Esta propiedad establece que tiene permisos
'allow' => true,
//Usuarios autenticados, el signo ? es para invitados
'roles' => ['@'],
//Este método nos permite crear un filtro sobre la identidad del usuario
//y así establecer si tiene permisos o no
'matchCallback' => function ($rule, $action) {
//Llamada al método que comprueba si es un administrador
return User::isUserAdmin(Yii::$app->user->identity->id);
},
],
[
//Los usuarios simples tienen permisos sobre las siguientes acciones
// 'actions' => ['view', 'id' => $alumno->id], no funciona
'actions' => ['view'],
//Esta propiedad establece que tiene permisos
'allow' => true,
//Usuarios autenticados, el signo ? es para invitados
'roles' => ['@'],
//Este método nos permite crear un filtro sobre la identidad del usuario
//y así establecer si tiene permisos o no
'matchCallback' => function ($rule, $action) {
//Llamada al método que comprueba si es un usuario simple
return User::isUserSimple(Yii::$app->user->identity->id);
},
],
[
//Los invitados tienen permisos sobre las siguientes acciones
'actions' => ['index', 'view', 'create', 'update', 'delete'],
//Esta propiedad establece que no tiene permiso
'allow' => false,
//Signo ? para invitados
'roles' => ['?'],
//Este método nos permite crear un filtro sobre la identidad del usuario
//y así establecer si tiene permisos o no
'matchCallback' => function ($rule, $action) {
//Llamada al método que comprueba si es un usuario simple
return Yii::$app->user->isGuest;
}
]
],
],
];
}
Any advice would be appreciated.