view.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. use common\modules\rbac\AdminAsset;
  3. use yii\helpers\Html;
  4. use yii\helpers\Json;
  5. use yii\helpers\Url;
  6. /* @var $this yii\web\View */
  7. /* @var $model yii\web\IdentityInterface */
  8. $this->title = Yii::t('rbac', 'Assignments');
  9. $this->params['breadcrumbs'][] = $this->title;
  10. ?>
  11. <div class="assignment-index">
  12. <?= Html::a(Yii::t('rbac', 'Users'), ['index'], ['class' => 'btn btn-success btn-flat']) ?>
  13. <div class="row">
  14. <div class="col-lg-5">
  15. <?= Yii::t('rbac', 'Avaliable') ?>:
  16. <input id="search-avaliable"><br>
  17. <select id="list-avaliable" multiple size="20" style="width: 100%">
  18. </select>
  19. </div>
  20. <div class="col-lg-1">
  21. <br><br>
  22. <a href="#" id="btn-assign" class="btn btn-success btn-flat">&gt;&gt;</a><br>
  23. <a href="#" id="btn-revoke" class="btn btn-danger">&lt;&lt;</a>
  24. </div>
  25. <div class="col-lg-5">
  26. <?= Yii::t('rbac', 'Assigned') ?>:
  27. <input id="search-assigned"><br>
  28. <select id="list-assigned" multiple size="20" style="width: 100%">
  29. </select>
  30. </div>
  31. </div>
  32. </div>
  33. <?php
  34. AdminAsset::register($this);
  35. $properties = Json::htmlEncode([
  36. 'userId' => $model->{$idField},
  37. 'assignUrl' => Url::to(['assign']),
  38. 'searchUrl' => Url::to(['search']),
  39. ]);
  40. $js = <<<JS
  41. yii.admin.initProperties({$properties});
  42. $('#search-avaliable').keydown(function () {
  43. yii.admin.searchAssignmet('avaliable');
  44. });
  45. $('#search-assigned').keydown(function () {
  46. yii.admin.searchAssignmet('assigned');
  47. });
  48. $('#btn-assign').click(function () {
  49. yii.admin.assign('assign');
  50. return false;
  51. });
  52. $('#btn-revoke').click(function () {
  53. yii.admin.assign('revoke');
  54. return false;
  55. });
  56. yii.admin.searchAssignmet('avaliable', true);
  57. yii.admin.searchAssignmet('assigned', true);
  58. JS;
  59. $this->registerJs($js);