Remy
(Remy Goujon)
December 11, 2013, 11:11am
1
I’m a beginner in Yii Framework, and I have a problem I can’t fix. I have this in my class controller :
public function actionIndex()
{
$dataProvider=new CActiveDataProvider('Absence');
$this->render('index',array(
'dataProvider'=>$dataProvider,
));
}
That gives me a list of all ‘absence’.
4981
absence.bmp
In my case, ‘erty’ is logged in and sees a list of every absence. But, with his role, stored in my user’s table, I want him to see only a list of absences with his ‘Collaborateur alias’. Can someone helps me with it ?
Keith
(Kburton)
December 11, 2013, 1:11pm
2
Moved from Bug Discussions to General Discussion for Yii 1.1.x .
Remy
(Remy Goujon)
December 13, 2013, 8:33am
3
I solved my problem, now actionIndex is like that:
public function actionIndex()
{
if ( (Yii::app()->user->getState('roles') === 'user') )
{
$criteria=new CDbCriteria;
$criteria->compare('collaborateur_alias', Yii::app()->user->id );
$dataProvider=new CActiveDataProvider('Absence', array( 'criteria'=>$criteria));
$this->render('index',array(
'criteria'=>$criteria,
'dataProvider'=>$dataProvider,
));
}
else
{
$dataProvider=new CActiveDataProvider('Absence');
$this->render('index',array(
'dataProvider'=>$dataProvider,
));
}
}
If the logged in user have a ‘user’ for role, he only sees a list of his absences.