This is an automated email from the ASF dual-hosted git repository. machristie pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/airavata-django-portal.git
commit 06b551e7d70347c34b7e71bafce3a9d52f5a967a Author: Marcus Christie <[email protected]> AuthorDate: Mon Jun 3 10:35:46 2019 -0400 AIRAVATA-3041 Adding search over identity server users --- .../components/users/UserManagementContainer.vue | 50 +++++++++++++++++++--- 1 file changed, 45 insertions(+), 5 deletions(-) diff --git a/django_airavata/apps/admin/static/django_airavata_admin/src/components/users/UserManagementContainer.vue b/django_airavata/apps/admin/static/django_airavata_admin/src/components/users/UserManagementContainer.vue index 25c5ba7..6f11a93 100644 --- a/django_airavata/apps/admin/static/django_airavata_admin/src/components/users/UserManagementContainer.vue +++ b/django_airavata/apps/admin/static/django_airavata_admin/src/components/users/UserManagementContainer.vue @@ -2,7 +2,29 @@ <div> <div class="row"> <div class="col"> - <h1 class="h4 mb-4">Users</h1> + <h1 class="h4 mb-4">Manage Users</h1> + </div> + </div> + <div class="row"> + <div class="col"> + <div class="card"> + <div class="card-body"> + <b-input-group> + <b-form-input + v-model="search" + placeholder="Search by name, email or username" + @keydown.native.enter="searchUsers" + /> + <b-input-group-append> + <b-button @click="resetSearch">Reset</b-button> + <b-button + variant="primary" + @click="searchUsers" + >Search</b-button> + </b-input-group-append> + </b-input-group> + </div> + </div> </div> </div> <div class="row"> @@ -59,7 +81,8 @@ export default { return { usersPaginator: null, allGroups: null, - showingDetails: {} + showingDetails: {}, + search: null }; }, components: { @@ -111,7 +134,8 @@ export default { return this.usersPaginator ? this.usersPaginator.results.map(u => { const user = u.clone(); - user._showDetails = this.showingDetails[u.airavataInternalUserId] || false; + user._showDetails = + this.showingDetails[u.airavataInternalUserId] || false; return user; }) : []; @@ -141,15 +165,31 @@ export default { }); }, reloadUserProfiles() { - services.ManagedUserProfileService.list({ + const params = { limit: 10, offset: this.currentOffset - }).then(users => (this.usersPaginator = users)); + }; + if (this.search) { + params["search"] = this.search; + } + services.ManagedUserProfileService.list(params).then( + users => (this.usersPaginator = users) + ); }, toggleDetails(row) { row.toggleDetails(); this.showingDetails[row.item.airavataInternalUserId] = !this .showingDetails[row.item.airavataInternalUserId]; + }, + searchUsers() { + // Reset paginator when starting a search + this.usersPaginator = null; + this.reloadUserProfiles(); + }, + resetSearch() { + this.usersPaginator = null; + this.search = null; + this.reloadUserProfiles(); } } };
