OSDN Git Service

Добавлен контроль доступа по ролям (RBAC). Пользователи хранятся в базе данных. Созда...
[invent/invent.git] / views / status / index.php
1 <?php
2
3 use yii\helpers\Html;
4 use yii\helpers\Url;
5 use yii\grid\GridView;
6 use yii\widgets\Pjax;
7 use app\models\User;
8
9 if (! User::canPermission('createRecord'))
10 {
11     return $this->redirect(['site/index']);
12 }
13 $this->title = Yii::t('status', 'Statuses');
14 $this->params[ 'breadcrumbs' ][] = $this->title;
15
16 $columns = [[ 'class' => 'yii\grid\SerialColumn' ]];
17 $template = '';
18 if (User::canPermission('updateRecord'))
19 {
20     $template .= '{delete}';
21     array_push($columns, [
22         'attribute' => 'name',
23         'value'   => function ($data)
24         {
25             return showUrlUpdate($data->name, $data);
26         },
27         'format'  => 'raw',
28     ]);
29 } else
30 {
31     array_push($columns, 'name');
32 }
33 array_push($columns, [ 'class' => 'yii\grid\ActionColumn', 'template' => $template ]);
34
35 ?>
36 <div class="status-index">
37
38     <h1><?= Html::encode($this->title) ?></h1>
39
40     <p>
41         <?= Html::a(Yii::t('status', 'Create status'), [ 'create' ], [ 'class' => 'btn btn-success' ]) ?>
42     </p>
43
44     <?php Pjax::begin(); ?>
45
46     <?= GridView::widget([
47         'id' => 'StatusTable',
48         'dataProvider' => $dataProvider,
49         'filterModel'  => $searchModel,
50         'columns'      => $columns,
51     ]); ?>
52
53     <?php Pjax::end(); ?>
54
55 </div>