电子档案
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

143 lines
6.2 KiB

  1. <div class="main-list" id="main-list">
  2. <div class="list-subheader clearfix" style="margin-top: 0px; min-height: 60px">
  3. <div class="btn-group pull-right">
  4. <button class="btn" translate="IDM.FUNCTIONAL-GROUP-MGMT.CREATE" ng-click="showCreateGroupPopup()">&nbsp;</button>
  5. </div>
  6. </div>
  7. <div class="list-wrapper" auto-height>
  8. <span loading="model.loading"></span>
  9. <div class="list-wrapper" ng-show="!model.loading">
  10. <ul class="full-list" offset-top="100">
  11. <li ng-repeat="group in model.groups" ng-class="{'active': model.selectedGroup.id == group.id}" ng-click="selectGroup(group.id)">
  12. <div>
  13. <div class="title">
  14. {{group.name}}
  15. </div>
  16. </div>
  17. </li>
  18. </ul>
  19. <div class="nothing-to-see" ng-show="model.tasks.length == 0">
  20. <span translate="TASK.MESSAGE.NO-TASKS"></span>
  21. </div>
  22. </div>
  23. <div class="nothing-to-see" ng-if="model.groups.length == 0">
  24. <span translate="IDM.FUNCTIONAL-GROUP-MGMT.NO-GROUPS"></span>
  25. </div>
  26. </div>
  27. </div>
  28. <div class="main-content-wrapper">
  29. <div class="main-content" ng-show="!model.loadingGroup">
  30. <div class="header" ng-if="model.selectedGroup">
  31. <div class="pull-right">
  32. <button class="btn btn-clean" ng-click="showEditGroupModal()">
  33. <span class="glyphicon glyphicon-pencil"></span>
  34. </button>
  35. <button class="btn btn-clean" ng-click="showActivateGroupModal()" ng-if="model.selectedGroup.status == 'inactive'">
  36. <span class="glyphicon glyphicon-ok"></span>
  37. </button>
  38. <button class="btn btn-clean" ng-click="showDeleteGroupModal()">
  39. <span class="glyphicon glyphicon-trash"></span>
  40. </button>
  41. </div>
  42. <h2>
  43. <span>{{model.selectedGroup.name}}</span>
  44. <span ng-if="model.selectedGroup.status == 'inactive'">({{'IDM.FUNCTIONAL-GROUP-MGMT.INACTIVE' | translate}})</span>
  45. </h2>
  46. </div>
  47. <div class="content" ng-show="model.selectedGroup" auto-height offset="70">
  48. <span loading="model.loadingGroup"></span>
  49. <div ng-if="!model.loadingGroup">
  50. <div class="col-xs-12">
  51. <div class="section" style="min-height: 0; font-style: italic;" ng-if="model.selectedGroup.status == 'inactive'">
  52. <blockquote>
  53. {{'IDM.FUNCTIONAL-GROUP-MGMT.INACTIVE-DESCRIPTION' | translate}}
  54. </blockquote>
  55. </div>
  56. <!-- Users -->
  57. <div class="section" style="min-height: 0">
  58. <h3 style="margin-bottom: 10px;">
  59. {{'IDM.FUNCTIONAL-GROUP-MGMT.MEMBERS' | translate}}
  60. <span class="action">
  61. <a id="toggle-add-group-member"
  62. select-people-popover
  63. popover-title="IDM.FUNCTIONAL-GROUP-MGMT.ADD-POPOVER-TITLE"
  64. placement="bottom"
  65. on-people-selected="addGroupMember(user)"
  66. email-mode-disabled="true"
  67. tenant-id="common.selectedTenantId"
  68. type="'idm'"
  69. style="font-weight: normal">
  70. {{'IDM.FUNCTIONAL-GROUP-MGMT.ADD-USER' | translate}}
  71. </a>
  72. </span>
  73. </h3>
  74. <div class="input-group user-search-field">
  75. <span class="input-group-addon">
  76. <i class="glyphicon glyphicon-search"></i>
  77. </span>
  78. <input type="text" ng-model="model.userFilter" class="form-control" ng-change="refreshDelayed()">
  79. </div>
  80. <span loading="model.loadingUsers"></span>
  81. <span ng-if="model.users.data && model.users.data.length > 0">
  82. {{'IDM.USER-MGMT.MATCHING-USERS' | translate:model.users}}
  83. <a ng-click="showPreviousUsers()" ng-show="model.userPage > 0">&laquo; {{'IDM.USER-MGMT.SHOW-PREVIOUS' | translate}} {{model.pageSize}}</a>
  84. <span ng-show="model.userPage > 0 && model.moreUsers">|</span>
  85. <a ng-click="showNextUsers()" ng-show="model.moreUsers">{{'IDM.USER-MGMT.SHOW-NEXT' | translate}} {{model.pageSize}} &raquo;</a>
  86. </span>
  87. <table width="100%" class="users" ng-if="model.users.data && model.users.data.length > 0">
  88. <tr>
  89. <th width="30%">{{'IDM.USER-MGMT.ID' | translate}}</th>
  90. <th width="30%">{{'IDM.USER-MGMT.EMAIL' | translate}}</th>
  91. <th width="30%%">{{'IDM.USER-MGMT.NAME' | translate}}</th>
  92. <th width="10%"></th>
  93. </tr>
  94. <tr ng-repeat="user in model.users.data">
  95. <td>{{user.id}}</td>
  96. <td>{{user.email}}</td>
  97. <td>{{user.firstName}} {{user.lastName}}</td>
  98. <td align="center" ng-click="showRemoveMemberModal(user)"><i class="glyphicon glyphicon-trash" ></i></td>
  99. </tr>
  100. </table>
  101. <div ng-if="!model.users || model.users.length == 0">
  102. <span>{{'IDM.FUNCTIONAL-GROUP-MGMT.NO-MEMBERS' | translate}}</span>
  103. </div>
  104. </div>
  105. </div>
  106. </div>
  107. </div>
  108. <div class="nothing-to-see" ng-if="model.groups.length > 0 && !model.selectedGroup && !model.loading">
  109. <span>{{'IDM.FUNCTIONAL-GROUP-MGMT.NO-SELECTION' | translate}}</span>
  110. </div>
  111. </div>
  112. </div>