users.html 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <page-header model="ctrl.navModel"></page-header>
  2. <div class="page-container page-body">
  3. <div class="page-action-bar">
  4. <label class="gf-form gf-form--grow gf-form--has-input-icon">
  5. <input type="text" class="gf-form-input max-width-30" placeholder="Find user by name/login/email" tabindex="1" give-focus="true" ng-model="ctrl.query" ng-model-options="{ debounce: 500 }" spellcheck='false' ng-change="ctrl.getUsers()" />
  6. <i class="gf-form-input-icon fa fa-search"></i>
  7. </label>
  8. <div class="page-action-bar__spacer"></div>
  9. <a class="btn btn-primary" href="admin/users/create">
  10. New user
  11. </a>
  12. </div>
  13. <div class="admin-list-table">
  14. <table class="filter-table form-inline filter-table--hover">
  15. <thead>
  16. <tr>
  17. <th></th>
  18. <th>Login</th>
  19. <th>Email</th>
  20. <th>
  21. Seen
  22. <tip>Time since user was seen using Grafana</tip>
  23. </th>
  24. <th></th>
  25. <th style="width: 1%"></th>
  26. </tr>
  27. </thead>
  28. <tbody>
  29. <tr ng-repeat="user in ctrl.users">
  30. <td class="width-4 text-center link-td">
  31. <a href="admin/users/edit/{{user.id}}">
  32. <img class="filter-table__avatar" ng-src="{{user.avatarUrl}}"></img>
  33. </a>
  34. </td>
  35. <td class="link-td">
  36. <a href="admin/users/edit/{{user.id}}">
  37. {{user.login}}
  38. </a>
  39. </td>
  40. <td class="link-td">
  41. <a href="admin/users/edit/{{user.id}}">
  42. {{user.email}}
  43. </a>
  44. </td>
  45. <td class="link-td">
  46. <a href="admin/users/edit/{{user.id}}">
  47. {{user.lastSeenAtAge}}
  48. </a>
  49. </td>
  50. <td class="link-td">
  51. <a href="admin/users/edit/{{user.id}}">
  52. <i class="fa fa-shield" ng-show="user.isAdmin" bs-tooltip="'Grafana Admin'"></i>
  53. </a>
  54. </td>
  55. <td class="text-right">
  56. <span class="label label-tag" ng-class="{'muted': user.isDisabled}" ng-if="ctrl.getAuthModule(user) === 'ldap'">LDAP</span>
  57. </td>
  58. <td class="text-right">
  59. <span class="label label-tag label-tag--gray" ng-if="user.isDisabled">Disabled</span>
  60. </td>
  61. </tr>
  62. </tbody>
  63. </table>
  64. </div>
  65. <div class="admin-list-paging" ng-if="ctrl.showPaging">
  66. <ol>
  67. <li ng-repeat="page in ctrl.pages">
  68. <button class="btn btn-small" ng-class="{'btn-secondary': page.current, 'btn-inverse': !page.current}" ng-click="ctrl.navigateToPage(page)">{{page.page}}</button>
  69. </li>
  70. </ol>
  71. </div>
  72. </div>