orgUsers.html 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <navbar>
  2. <div class="top-nav-btn dashnav-dashboards-btn" >
  3. <a class="pointer" ng-click="openSearch()">
  4. <i class="icon-gf icon-gf-users"></i>
  5. <span class="dashboard-title">Organization Users</span>
  6. <i class="fa fa-caret-down"></i>
  7. </a>
  8. </div>
  9. </navbar>
  10. <div class="page-container">
  11. <div class="page-wide">
  12. <button class="btn btn-success pull-right" ng-click="openInviteModal()">
  13. <i class="fa fa-plus"></i>
  14. Add or Invite
  15. </button>
  16. <h1>Organization users</h1>
  17. <br>
  18. <tabset>
  19. <tab heading="Users ({{users.length}})">
  20. <table class="filter-table form-inline">
  21. <thead>
  22. <tr>
  23. <th>Login</th>
  24. <th>Email</th>
  25. <th>Role</th>
  26. <th style="width: 34px;"></th>
  27. </tr>
  28. </thead>
  29. <tr ng-repeat="user in users">
  30. <td>{{user.login}}</td>
  31. <td><span class="ellipsis">{{user.email}}</span></td>
  32. <td>
  33. <select type="text" ng-model="user.role" class="input-medium" ng-options="f for f in ['Viewer', 'Editor', 'Read Only Editor', 'Admin']" ng-change="updateOrgUser(user)">
  34. </select>
  35. </td>
  36. <td>
  37. <a ng-click="removeUser(user)" class="btn btn-danger btn-mini">
  38. <i class="fa fa-remove"></i>
  39. </a>
  40. </td>
  41. </tr>
  42. </table>
  43. </tab>
  44. <tab heading="Pending Invitations ({{pendingInvites.length}})">
  45. <table class="filter-table form-inline">
  46. <thead>
  47. <tr>
  48. <th>Email</th>
  49. <th>Name</th>
  50. <th></th>
  51. </tr>
  52. </thead>
  53. <tbody ng-repeat="invite in pendingInvites">
  54. <tr ng-click="invite.expanded = !invite.expanded" ng-class="{'expanded': invite.expanded}">
  55. <td>{{invite.email}}</td>
  56. <td>{{invite.name}}</td>
  57. <td class="text-right">
  58. <button class="btn btn-inverse btn-mini " data-clipboard-text="{{invite.url}}" clipboard-button ng-click="copyInviteToClipboard($event)">
  59. <i class="fa fa-clipboard"></i> Copy Invite
  60. </button>
  61. &nbsp;
  62. <button class="btn btn-inverse btn-mini">
  63. Details
  64. <i ng-show="!invite.expanded" class="fa fa-caret-right"></i>
  65. <i ng-show="invite.expanded" class="fa fa-caret-down"></i>
  66. </button>
  67. </td>
  68. </tr>
  69. <tr ng-show="invite.expanded">
  70. <td colspan="3">
  71. <a href="{{invite.url}}">{{invite.url}}</a><br><br>
  72. &nbsp;
  73. <button class="btn btn-inverse btn-mini" ng-click="revokeInvite(invite, $event)">
  74. <i class="fa fa-remove" style="color: red"></i> Revoke invite
  75. </button>
  76. <span style="padding-left: 15px">
  77. Invited: <em> {{invite.createdOn | date: 'shortDate'}} by {{invite.invitedBy}} </em>
  78. </span>
  79. </td>
  80. </tr>
  81. </tbody>
  82. </table>
  83. </tab>
  84. </tabset>
  85. </div>
  86. </div>