acl.html 5.5 KB

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