users.html 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <page-header model="ctrl.navModel"></page-header>
  2. <div class="page-container page-body">
  3. <div class="page-action-bar">
  4. <div class="gf-form">
  5. <label class="gf-form-label">Search</label>
  6. <input class="gf-form-input width-15" type="text" 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()" />
  7. </div>
  8. <div class="page-action-bar__spacer"></div>
  9. <a class="btn btn-success" href="admin/users/create">
  10. <i class="fa fa-plus"></i>
  11. Add new user
  12. </a>
  13. </div>
  14. <div class="admin-list-table">
  15. <table class="filter-table form-inline">
  16. <thead>
  17. <tr>
  18. <th></th>
  19. <th>Login</th>
  20. <th>Email</th>
  21. <th>
  22. Seen
  23. <tip>Time since user was seen using Grafana</tip>
  24. </th>
  25. <th></th>
  26. <th></th>
  27. </tr>
  28. </thead>
  29. <tbody>
  30. <tr ng-repeat="user in ctrl.users">
  31. <td class="width-4 text-center">
  32. <img class="filter-table__avatar" ng-src="{{user.avatarUrl}}"></img>
  33. </td>
  34. <td>{{user.login}}</td>
  35. <td>{{user.email}}</td>
  36. <td>
  37. {{user.lastSeenAtAge}}
  38. </td>
  39. <td>
  40. <i class="fa fa-shield" ng-show="user.isAdmin" bs-tooltip="'Grafana Admin'"></i>
  41. </td>
  42. <td class="text-right">
  43. <a href="admin/users/edit/{{user.id}}" class="btn btn-inverse btn-small">
  44. <i class="fa fa-edit"></i>
  45. Edit
  46. </a>
  47. &nbsp;&nbsp;
  48. <a ng-click="ctrl.deleteUser(user)" class="btn btn-danger btn-small">
  49. <i class="fa fa-remove"></i>
  50. </a>
  51. </td>
  52. </tr>
  53. </tbody>
  54. </table>
  55. </div>
  56. <div class="admin-list-paging" ng-if="ctrl.showPaging">
  57. <ol>
  58. <li ng-repeat="page in ctrl.pages">
  59. <button
  60. class="btn btn-small"
  61. ng-class="{'btn-secondary': page.current, 'btn-inverse': !page.current}"
  62. ng-click="ctrl.navigateToPage(page)">{{page.page}}</button>
  63. </li>
  64. </ol>
  65. </div>
  66. </div>