acl.html 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. <div class="gf-form-group">
  2. <table class="filter-table gf-form-group">
  3. <tr ng-repeat="acl in ctrl.items" ng-class="{'gf-form-disabled': acl.inherited}">
  4. <td style="width: 100%;">
  5. <i class="{{acl.icon}}"></i>
  6. <span ng-bind-html="acl.nameHtml"></span>
  7. </td>
  8. <td>
  9. <em class="muted no-wrap" ng-show="acl.inherited">Inherited from folder</em>
  10. </td>
  11. <td class="query-keyword">Can</td>
  12. <td>
  13. <div class="gf-form-select-wrapper">
  14. <select class="gf-form-input gf-size-auto" ng-model="acl.permission" ng-options="p.value as p.text for p in ctrl.permissionOptions" ng-change="ctrl.permissionChanged(acl)" ng-disabled="acl.inherited"></select>
  15. </div>
  16. </td>
  17. <td>
  18. <a class="btn btn-inverse btn-small" ng-click="ctrl.removeItem($index)" ng-hide="acl.inherited">
  19. <i class="fa fa-remove"></i>
  20. </a>
  21. </td>
  22. </tr>
  23. <tr ng-show="ctrl.aclItems.length === 0">
  24. <td colspan="4">
  25. <em>No permissions are set. Will only be accessible by admins.</em>
  26. </td>
  27. </tr>
  28. </table>
  29. <div class="gf-form-inline">
  30. <form name="addPermission" class="gf-form-group">
  31. <h6 class="muted">Add Permission For</h6>
  32. <div class="gf-form-inline">
  33. <div class="gf-form">
  34. <div class="gf-form-select-wrapper">
  35. <select class="gf-form-input gf-size-auto" ng-model="ctrl.newType" ng-options="p.value as p.text for p in ctrl.aclTypes" ng-change="ctrl.typeChanged()"></select>
  36. </div>
  37. </div>
  38. <div class="gf-form" ng-show="ctrl.newType === 'User'">
  39. <user-picker user-picked="ctrl.userPicked($user)"></user-picker>
  40. </div>
  41. <div class="gf-form" ng-show="ctrl.newType === 'Group'">
  42. <team-picker team-picked="ctrl.groupPicked($group)"></team-picker>
  43. </div>
  44. </div>
  45. </form>
  46. <div class="gf-form width-17">
  47. <span ng-if="ctrl.error" class="text-error p-l-1">
  48. <i class="fa fa-warning"></i>
  49. {{ctrl.error}}
  50. </span>
  51. </div>
  52. </div>
  53. <div class="gf-form-button-row">
  54. <button type="button" class="btn btn-danger" ng-disabled="!ctrl.canUpdate" ng-click="ctrl.update()">
  55. Update Permissions
  56. </button>
  57. </div>
  58. </div>
  59. <div class="empty-list-cta">
  60. <div class="grafana-info-box">
  61. <h5>What are Permissions?</h5>
  62. <p>An Access Control List (ACL) model is used for to limit access to Dashboard Folders. A user or a Team can be assigned permissions for a folder or for a single dashboard.</p>
  63. <p>The permissions that can be assigned for a folder/dashboard are:</p>
  64. <p>View, Edit and Admin.</p>
  65. Checkout the <a class="external-link" target="_blank" href="http://docs.grafana.org/reference/dashboard_folders/">Dashboard Folders documentation</a> for more information.
  66. </div>
  67. </div>
  68. <!-- <br> -->
  69. <!-- <br> -->
  70. <!-- <br> -->
  71. <!-- -->
  72. <!-- <div class="permissionlist"> -->
  73. <!-- <div class="permissionlist__section"> -->
  74. <!-- <div class="permissionlist__section&#45;header"> -->
  75. <!-- <h6>Permissions</h6> -->
  76. <!-- </div> -->
  77. <!-- <table class="filter&#45;table form&#45;inline"> -->
  78. <!-- <thead> -->
  79. <!-- <tr> -->
  80. <!-- <th style="width: 50px;"></th> -->
  81. <!-- <th>Name</th> -->
  82. <!-- <th style="width: 220px;">Permission</th> -->
  83. <!-- <th style="width: 120px"></th> -->
  84. <!-- </tr> -->
  85. <!-- </thead> -->
  86. <!-- <tbody> -->
  87. <!-- <tr ng&#45;repeat="permission in ctrl.userPermissions" class="permissionlist__item"> -->
  88. <!-- <td><i class="fa fa&#45;fw fa&#45;user"></i></td> -->
  89. <!-- <td>{{permission.userLogin}}</td> -->
  90. <!-- <td class="text&#45;right"> -->
  91. <!-- <a ng&#45;click="ctrl.removePermission(permission)" class="btn btn&#45;danger btn&#45;small"> -->
  92. <!-- <i class="fa fa&#45;remove"></i> -->
  93. <!-- </a> -->
  94. <!-- </td> -->
  95. <!-- </tr> -->
  96. <!-- <tr ng&#45;repeat="permission in ctrl.teamPermissions" class="permissionlist__item"> -->
  97. <!-- <td><i class="fa fa&#45;fw fa&#45;users"></i></td> -->
  98. <!-- <td>{{permission.team}}</td> -->
  99. <!-- <td><select class="gf&#45;form&#45;input gf&#45;size&#45;auto" ng&#45;model="permission.permissions" ng&#45;options="p.value as p.text for p in ctrl.permissionTypeOptions" ng&#45;change="ctrl.updatePermission(permission)"></select></td> -->
  100. <!-- <td class="text&#45;right"> -->
  101. <!-- <a ng&#45;click="ctrl.removePermission(permission)" class="btn btn&#45;danger btn&#45;small"> -->
  102. <!-- <i class="fa fa&#45;remove"></i> -->
  103. <!-- </a> -->
  104. <!-- </td> -->
  105. <!-- </tr> -->
  106. <!-- <tr ng&#45;repeat="role in ctrl.roles" class="permissionlist__item"> -->
  107. <!-- <td></td> -->
  108. <!-- <td>{{role.name}}</td> -->
  109. <!-- <td><select class="gf&#45;form&#45;input gf&#45;size&#45;auto" ng&#45;model="role.permissions" ng&#45;options="p.value as p.text for p in ctrl.roleOptions" ng&#45;change="ctrl.updatePermission(role)"></select></td> -->
  110. <!-- <td class="text&#45;right"> -->
  111. <!-- -->
  112. <!-- </td> -->
  113. <!-- </tr> -->
  114. <!-- </tbody> -->
  115. <!-- </table> -->
  116. <!-- </div> -->
  117. <!-- </div> -->
  118. <!-- </div> -->