user-group-membership.html 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <div class="col-sm-9 col-md-10 col-sm-push-3 col-md-push-2">
  2. <ol class="breadcrumb">
  3. <li><a href="#/realms/{{realm.realm}}/users">{{:: 'users' | translate}}</a></li>
  4. <li>{{user.username}}</li>
  5. </ol>
  6. <kc-tabs-user></kc-tabs-user>
  7. <form class="form-horizontal" name="realmForm" novalidate>
  8. <div class="form-group" kc-read-only="!user.access.manageGroupMembership">
  9. <label class="col-md-1 control-label" class="control-label"></label>
  10. <div class="col-md-8" >
  11. <div class="row">
  12. <div class="col-md-5">
  13. <table class="table table-striped table-bordered" style="margin-bottom: 0">
  14. <thead>
  15. <tr>
  16. <th class="kc-table-actions" colspan="5">
  17. <div class="form-inline">
  18. <div>
  19. <label class="control-label">{{:: 'group-membership' | translate}}</label>
  20. <kc-tooltip>{{:: 'group-membership.tooltip' | translate}}</kc-tooltip>
  21. </div>
  22. <div class="pull-left">
  23. <div class="input-group">
  24. <input type="text" placeholder="{{:: 'search.placeholder' | translate}}" ng-model="searchCriteriaMembership" class="form-control search" onkeydown="if (event.keyCode == 13) document.getElementById('groupSearch').click()">
  25. <div class="input-group-addon">
  26. <i class="fa fa-search" id="groupSearch" ng-click="searchGroupMembership()"></i>
  27. </div>
  28. </div>
  29. </div>
  30. &nbsp;
  31. <button id="viewAllGroups" class="btn btn-default" ng-click="clearSearchMembership()">{{:: 'view-all-groups' | translate}}</button>
  32. <div class="pull-right" data-ng-show="user.access.manageGroupMembership">
  33. <button id="leaveGroups" class="btn btn-default" ng-click="leaveGroup()">{{:: 'leave' | translate}}</button>
  34. </div>
  35. </div>
  36. </th>
  37. </tr>
  38. </thead>
  39. <tbody>
  40. <tr>
  41. <td>
  42. <div
  43. tree-id="membershipTree"
  44. angular-treeview="true"
  45. tree-model="groupMemberships"
  46. node-id="id"
  47. node-label="path"
  48. node-children="subGroupsMembership" >
  49. </div>
  50. </td>
  51. </tr>
  52. </tbody>
  53. </table>
  54. <div style="margin-bottom: 50px">
  55. <kc-paging current-page="currentMembershipPage" number-of-pages="numberOfMembershipPages" current-page-input="currentMembershipPageInput"></kc-paging>
  56. </div>
  57. </div>
  58. <div class="col-md-5">
  59. <table class="table table-striped table-bordered" style="margin-bottom: 0">
  60. <thead>
  61. <tr>
  62. <th class="kc-table-actions" colspan="5">
  63. <div class="form-inline">
  64. <div>
  65. <label class="control-label">{{:: 'available-groups' | translate}}</label>
  66. <kc-tooltip>{{:: 'membership.available-groups.tooltip' | translate}}</kc-tooltip>
  67. </div>
  68. <div class="pull-left">
  69. <div class="input-group">
  70. <input type="text" placeholder="{{:: 'search.placeholder' | translate}}" ng-model="searchCriteria" class="form-control search" onkeydown="if (event.keyCode == 13) document.getElementById('groupSearch_availablegroups').click()">
  71. <div class="input-group-addon">
  72. <i class="fa fa-search" id="groupSearch_availablegroups" ng-click="searchGroup()"></i>
  73. </div>
  74. </div>
  75. </div>
  76. &nbsp;
  77. <button id="viewAllGroups" class="btn btn-default" ng-click="clearSearch()">{{:: 'view-all-groups' | translate}}</button>
  78. <div class="pull-right" data-ng-show="user.access.manageGroupMembership">
  79. <button id="joinGroup" class="btn btn-default" ng-click="joinGroup()">{{:: 'join' | translate}}</button>
  80. </div>
  81. </div>
  82. </th>
  83. </tr>
  84. </thead>
  85. <tbody>
  86. <tr>
  87. <td>
  88. <div
  89. tree-id="tree"
  90. angular-treeview="true"
  91. tree-model="groupList"
  92. node-id="id"
  93. node-label="name"
  94. node-children="subGroups" >
  95. </div>
  96. </td>
  97. </tr>
  98. </tbody>
  99. </table>
  100. <div style="margin-bottom: 50px">
  101. <kc-paging current-page="currentPage" number-of-pages="numberOfPages" current-page-input="currentPageInput"></kc-paging>
  102. </div>
  103. </div>
  104. </div>
  105. </div>
  106. </div>
  107. </form>
  108. </div>
  109. <kc-menu></kc-menu>