Stasgar
@Stasgar
Обученная макака

Как можно получить объект ячейки в GridView чтобы использовать проверку RBAC?

Есть допустим такой код:
echo GridView::widget([
    'dataProvider' => $dataProvider,
    'columns'=>[
    	['class'=>'yii\grid\SerialColumn'],
		[
			'label'=>'User',
			'attribute'=>'users.userName'
		],
		'title',
		'text',
		'date',
		'time',
		[
			'class' => 'yii\grid\ActionColumn',
			'header'=>'Actions',
			'template'=>'{view} {update} {delete} ',
			'buttons'=>[
				'view'=>function($url)
				{
					return Html::a('Открыть',$url);
				},
				'delete'=>function($url)
				{
					return Yii::$app->user->can('deletePost') ? Html::a('Удалить',$url) :  null ;
				}
			]
		],
    ]
]);


Как можно получить текущую запись?

Мне нужно произвести подобную проверку на право изменения записи пользователем, который ее создал:
Yii::$app->user->can('updatePost',['posts'=>$post]) ? Html::a('Update',$url) :  null ;
  • Вопрос задан
  • 149 просмотров
Решения вопроса 1
mhthnz
@mhthnz
PHP, YII2, Golang, Linux
'buttons' => [
    'view'=>function($url) {
         return Html::a('Открыть', $url);
    },
    'update' => function($url, $model) {
         return Yii::$app->user->can('updatePost', ['posts' => $model->id]) ? Html::a('Изменить', $url) :  null ;
    }
]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы