Initial commit,修正
This commit is contained in:
+52
@@ -0,0 +1,52 @@
|
||||
<?php
|
||||
|
||||
use yii\helpers\Html;
|
||||
use yii\widgets\ActiveForm;
|
||||
use mdm\admin\components\RouteRule;
|
||||
use mdm\admin\AutocompleteAsset;
|
||||
use yii\helpers\Json;
|
||||
|
||||
/* @var $this yii\web\View */
|
||||
/* @var $model mdm\admin\models\AuthItem */
|
||||
/* @var $form yii\widgets\ActiveForm */
|
||||
/* @var $context mdm\admin\components\ItemController */
|
||||
|
||||
$context = $this->context;
|
||||
$labels = $context->labels();
|
||||
$rules = Yii::$app->getAuthManager()->getRules();
|
||||
unset($rules[RouteRule::RULE_NAME]);
|
||||
$source = Json::htmlEncode(array_keys($rules));
|
||||
|
||||
$js = <<<JS
|
||||
$('#rule_name').autocomplete({
|
||||
source: $source,
|
||||
});
|
||||
JS;
|
||||
AutocompleteAsset::register($this);
|
||||
$this->registerJs($js);
|
||||
?>
|
||||
|
||||
<div class="auth-item-form">
|
||||
<?php $form = ActiveForm::begin(['id' => 'item-form']); ?>
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
<?= $form->field($model, 'name')->textInput(['maxlength' => 64]) ?>
|
||||
|
||||
<?= $form->field($model, 'description')->textarea(['rows' => 2]) ?>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<?= $form->field($model, 'ruleName')->textInput(['id' => 'rule_name']) ?>
|
||||
|
||||
<?= $form->field($model, 'data')->textarea(['rows' => 6]) ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<?php
|
||||
echo Html::submitButton($model->isNewRecord ? Yii::t('rbac-admin', 'Create') : Yii::t('rbac-admin', 'Update'), [
|
||||
'class' => $model->isNewRecord ? 'btn btn-sm btn-success' : 'btn btn-sm btn-primary',
|
||||
'name' => 'submit-button'])
|
||||
?>
|
||||
</div>
|
||||
|
||||
<?php ActiveForm::end(); ?>
|
||||
</div>
|
||||
+54
@@ -0,0 +1,54 @@
|
||||
$('i.glyphicon-refresh-animate').hide();
|
||||
function updateItems(r) {
|
||||
_opts.items.avaliable = r.avaliable;
|
||||
_opts.items.assigned = r.assigned;
|
||||
search('avaliable');
|
||||
search('assigned');
|
||||
}
|
||||
|
||||
$('.btn-assign').click(function () {
|
||||
var $this = $(this);
|
||||
var target = $this.data('target');
|
||||
var items = $('select.list[data-target="' + target + '"]').val();
|
||||
|
||||
if (items && items.length) {
|
||||
$this.children('i.glyphicon-refresh-animate').show();
|
||||
$.post($this.attr('href'), {items: items}, function (r) {
|
||||
updateItems(r);
|
||||
}).always(function () {
|
||||
$this.children('i.glyphicon-refresh-animate').hide();
|
||||
});
|
||||
}
|
||||
return false;
|
||||
});
|
||||
|
||||
$('.search[data-target]').keyup(function () {
|
||||
search($(this).data('target'));
|
||||
});
|
||||
|
||||
function search(target) {
|
||||
var $list = $('select.list[data-target="' + target + '"]');
|
||||
$list.html('');
|
||||
var q = $('.search[data-target="' + target + '"]').val();
|
||||
|
||||
var groups = {
|
||||
role: [$('<optgroup label="Roles">'), false],
|
||||
permission: [$('<optgroup label="Permission">'), false],
|
||||
route: [$('<optgroup label="Routes">'), false],
|
||||
};
|
||||
$.each(_opts.items[target], function (name, group) {
|
||||
if (name.indexOf(q) >= 0) {
|
||||
$('<option>').text(name).val(name).appendTo(groups[group][0]);
|
||||
groups[group][1] = true;
|
||||
}
|
||||
});
|
||||
$.each(groups, function () {
|
||||
if (this[1]) {
|
||||
$list.append(this[0]);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// initial
|
||||
search('avaliable');
|
||||
search('assigned');
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
use yii\helpers\Html;
|
||||
|
||||
/* @var $this yii\web\View */
|
||||
/* @var $model mdm\admin\models\AuthItem */
|
||||
/* @var $context mdm\admin\components\ItemController */
|
||||
|
||||
$context = $this->context;
|
||||
$labels = $context->labels();
|
||||
$this->title = Yii::t('rbac-admin', 'Create ' . $labels['Item']);
|
||||
$this->params['breadcrumbs'][] = ['label' => Yii::t('rbac-admin', $labels['Items']), 'url' => ['index']];
|
||||
$this->params['breadcrumbs'][] = $this->title;
|
||||
?>
|
||||
<div class="wrapper wrapper-content">
|
||||
|
||||
<div class="ibox-content">
|
||||
<div class="auth-item-create">
|
||||
<h1><?= Html::encode($this->title) ?></h1>
|
||||
<?=
|
||||
$this->render('_form', [
|
||||
'model' => $model,
|
||||
]);
|
||||
?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
+85
@@ -0,0 +1,85 @@
|
||||
<?php
|
||||
|
||||
use yii\helpers\Html;
|
||||
use yii\grid\GridView;
|
||||
use mdm\admin\components\RouteRule;
|
||||
|
||||
/* @var $this yii\web\View */
|
||||
/* @var $dataProvider yii\data\ActiveDataProvider */
|
||||
/* @var $searchModel mdm\admin\models\searchs\AuthItem */
|
||||
/* @var $context mdm\admin\components\ItemController */
|
||||
|
||||
$context = $this->context;
|
||||
$labels = $context->labels();
|
||||
$this->title = Yii::t('rbac-admin', $labels['Items']);
|
||||
$this->params['breadcrumbs'][] = $this->title;
|
||||
|
||||
$rules = array_keys(Yii::$app->getAuthManager()->getRules());
|
||||
$rules = array_combine($rules, $rules);
|
||||
unset($rules[RouteRule::RULE_NAME]);
|
||||
?>
|
||||
<div class="wrapper wrapper-content">
|
||||
|
||||
<div class="ibox-content">
|
||||
|
||||
<div class="role-index">
|
||||
<h1><?= Html::encode($this->title) ?></h1>
|
||||
<p>
|
||||
<?= Html::a(Yii::t('rbac-admin', 'Create ' . $labels['Item']), ['create'], ['class' => 'btn btn-sm btn-info']) ?>
|
||||
</p>
|
||||
<?=
|
||||
GridView::widget([
|
||||
'dataProvider' => $dataProvider,
|
||||
'filterModel' => $searchModel,
|
||||
'layout' => '{items}{summary}{pager}',
|
||||
|
||||
'columns' => [
|
||||
['class' => 'yii\grid\SerialColumn'],
|
||||
[
|
||||
'attribute' => 'name',
|
||||
'label' => Yii::t('rbac-admin', 'Name'),
|
||||
],
|
||||
[
|
||||
'attribute' => 'ruleName',
|
||||
'label' => Yii::t('rbac-admin', 'Rule Name'),
|
||||
'filter' => $rules
|
||||
],
|
||||
[
|
||||
'attribute' => 'description',
|
||||
'label' => Yii::t('rbac-admin', 'Description'),
|
||||
],
|
||||
[
|
||||
'class' => 'yii\grid\ActionColumn',
|
||||
'header' => '操作',
|
||||
'options' => ['width' => '100px;'],
|
||||
'template' => '{view} {update} {delete}',
|
||||
'buttons' => [
|
||||
'view' => function ($url, $model) {
|
||||
return Html::a('<i class="fa fa-edit">查看</i>', $url, [
|
||||
'title' => Yii::t('app', 'view'),
|
||||
'class' => 'del btn btn-primary btn-xs',
|
||||
]);
|
||||
},
|
||||
'update' => function ($url, $model) {
|
||||
return Html::a('<i class="fa fa-unlock-alt">更新</i>', $url, [
|
||||
'title' => Yii::t('app', 'update'),
|
||||
'class' => 'del btn btn-success btn-xs',
|
||||
]);
|
||||
},
|
||||
'delete' => function ($url, $model) {
|
||||
return Html::a('<i class="fa fa-close">删除</i>', $url, [
|
||||
'title' => Yii::t('app', 'delete'),
|
||||
'class' => 'del btn btn-default btn-xs',
|
||||
]);
|
||||
}
|
||||
],
|
||||
],
|
||||
],
|
||||
])
|
||||
?>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
use yii\helpers\Html;
|
||||
|
||||
/* @var $this yii\web\View */
|
||||
/* @var $model mdm\admin\models\AuthItem */
|
||||
/* @var $context mdm\admin\components\ItemController */
|
||||
|
||||
$context = $this->context;
|
||||
$labels = $context->labels();
|
||||
$this->title = Yii::t('rbac-admin', 'Update ' . $labels['Item']) . ': ' . $model->name;
|
||||
$this->params['breadcrumbs'][] = ['label' => Yii::t('rbac-admin', $labels['Items']), 'url' => ['index']];
|
||||
$this->params['breadcrumbs'][] = ['label' => $model->name, 'url' => ['view', 'id' => $model->name]];
|
||||
$this->params['breadcrumbs'][] = Yii::t('rbac-admin', 'Update');
|
||||
?>
|
||||
<div class="wrapper wrapper-content">
|
||||
|
||||
<div class="ibox-content">
|
||||
|
||||
<div class="auth-item-update">
|
||||
<h1><?= Html::encode($this->title) ?></h1>
|
||||
<?=
|
||||
$this->render('_form', [
|
||||
'model' => $model,
|
||||
]);
|
||||
?>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
+87
@@ -0,0 +1,87 @@
|
||||
<?php
|
||||
|
||||
use yii\helpers\Html;
|
||||
use yii\widgets\DetailView;
|
||||
use yii\helpers\Json;
|
||||
use mdm\admin\AnimateAsset;
|
||||
use yii\web\YiiAsset;
|
||||
|
||||
/* @var $this yii\web\View */
|
||||
/* @var $model mdm\admin\models\AuthItem */
|
||||
/* @var $context mdm\admin\components\ItemController */
|
||||
|
||||
$context = $this->context;
|
||||
$labels = $context->labels();
|
||||
$this->title = $model->name;
|
||||
$this->params['breadcrumbs'][] = ['label' => Yii::t('rbac-admin', $labels['Items']), 'url' => ['index']];
|
||||
$this->params['breadcrumbs'][] = $this->title;
|
||||
|
||||
AnimateAsset::register($this);
|
||||
YiiAsset::register($this);
|
||||
$opts = Json::htmlEncode([
|
||||
'items' => $model->getItems()
|
||||
]);
|
||||
$this->registerJs("var _opts = {$opts};");
|
||||
$this->registerJs($this->render('_script.js'));
|
||||
$animateIcon = ' <i class="glyphicon glyphicon-refresh glyphicon-refresh-animate"></i>';
|
||||
?>
|
||||
<div class="wrapper wrapper-content">
|
||||
|
||||
<div class="ibox-content">
|
||||
|
||||
<div class="auth-item-view">
|
||||
<h1><?= Html::encode($this->title) ?></h1>
|
||||
<p>
|
||||
<?= Html::a(Yii::t('rbac-admin', 'Update'), ['update', 'id' => $model->name], ['class' => 'btn btn-sm btn-primary']) ?>
|
||||
<?= Html::a(Yii::t('rbac-admin', 'Delete'), ['delete', 'id' => $model->name], [
|
||||
'class' => 'btn btn-sm btn-danger',
|
||||
'data-confirm' => Yii::t('rbac-admin', 'Are you sure to delete this item?'),
|
||||
'data-method' => 'post',
|
||||
]); ?>
|
||||
<?= Html::a(Yii::t('rbac-admin', 'Create'), ['create'], ['class' => 'btn btn-sm btn-success']) ?>
|
||||
</p>
|
||||
<div class="row">
|
||||
<div class="col-sm-11">
|
||||
<?=
|
||||
DetailView::widget([
|
||||
'model' => $model,
|
||||
'attributes' => [
|
||||
'name',
|
||||
'description:ntext',
|
||||
'ruleName',
|
||||
'data:ntext',
|
||||
],
|
||||
'template' => '<tr><th style="width:25%">{label}</th><td>{value}</td></tr>'
|
||||
]);
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-5">
|
||||
<input class="form-control search" data-target="avaliable"
|
||||
placeholder="<?= Yii::t('rbac-admin', 'Search for avaliable') ?>">
|
||||
<select multiple size="20" class="form-control list" data-target="avaliable"></select>
|
||||
</div>
|
||||
<div class="col-sm-1">
|
||||
<br><br>
|
||||
<?= Html::a('>>' . $animateIcon, ['assign', 'id' => $model->name], [
|
||||
'class' => 'btn btn-success btn-assign',
|
||||
'data-target' => 'avaliable',
|
||||
'title' => Yii::t('rbac-admin', 'Assign')
|
||||
]) ?><br><br>
|
||||
<?= Html::a('<<' . $animateIcon, ['remove', 'id' => $model->name], [
|
||||
'class' => 'btn btn-danger btn-assign',
|
||||
'data-target' => 'assigned',
|
||||
'title' => Yii::t('rbac-admin', 'Remove')
|
||||
]) ?>
|
||||
</div>
|
||||
<div class="col-sm-5">
|
||||
<input class="form-control search" data-target="assigned"
|
||||
placeholder="<?= Yii::t('rbac-admin', 'Search for assigned') ?>">
|
||||
<select multiple size="20" class="form-control list" data-target="assigned"></select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
Reference in New Issue
Block a user