diff --git a/gruppen.php b/gruppen.php
index 2046155..1c22e22 100644
--- a/gruppen.php
+++ b/gruppen.php
@@ -26,8 +26,24 @@
Gruppen anzeigen
+
+
-
+
@@ -44,7 +60,7 @@ class="panel-heading clickable">
-
+ ng-repeat="group in ou.groups | filter: list.searchText">
{{group.cn}}
@@ -55,8 +71,8 @@ class="panel-heading clickable">
{{group.description}}
- Mitglieder anzeigen
- Mitglieder ausblenden
+ Mitglieder anzeigen ({{group.members.length}})
+ Mitglieder ausblenden ({{group.members.length}})
- Keine Mitglieder in dieser Gruppe
diff --git a/js/angular-app.js b/js/angular-app.js
index 1d4e3ff..57fc3f5 100644
--- a/js/angular-app.js
+++ b/js/angular-app.js
@@ -404,7 +404,7 @@
- useradminApp.controller('GrouplistController', function() {
+ useradminApp.controller('GrouplistController', function(filterFilter) {
this.groupData = JSON.parse(
document.getElementById('jsonGroupOus').textContent);
// Don't show members of any group by default
@@ -414,6 +414,21 @@
groupOu.groups[j].showMembers = false;
}
}
+
+ this.searchText = '';
+ this.changedSearch = function() {
+ let ouCount = filterFilter(this.groupData, this.searchText).length;
+ if (ouCount === 1) {
+ // Automatically open the only existing ou
+ $("#accordion>div>div.panel-collapse").collapse('show')
+ }
+ };
+ this.ouFilterPredicate = function(searchText) {
+ return function(ouItem) {
+ let filteredGroups = filterFilter(ouItem.groups, searchText);
+ return (filteredGroups.length > 0);
+ }
+ }
});