From 0dd49f74305cc1d10026586079aa2719243812d3 Mon Sep 17 00:00:00 2001 From: Max Peintner Date: Tue, 1 Sep 2020 13:24:34 +0200 Subject: [PATCH] fix(console): partial authconfig prompt, regex permissions (#658) * fix partial authconfig prompt, domain c perm * membership read check * contributor refresh trigger, observe org write * user permissions, project deactivate * allow user grants for project.write * fix: create project * project create, roles, grants, members * fix adminurl * disable user * disable user actions * project grant members delete, p g user grant * lint * projectgrantcreate fix Co-authored-by: Fabiennne --- .../user-grants/user-grants.component.ts | 4 -- .../iam-members/iam-members.component.html | 2 +- .../org-members/org-members.component.html | 2 +- .../orgs/org-members/org-members.component.ts | 2 +- .../granted-project-detail.component.html | 9 +-- .../owned-project-detail.component.html | 28 +++++----- .../owned-project-grid.component.html | 2 +- .../owned-project-list.component.html | 4 +- .../project-grant-detail.component.html | 4 +- .../project-grant-detail.component.ts | 4 -- .../project-grant-detail.module.ts | 2 + .../project-grant-members.component.html | 14 +++-- .../project-grant-members.component.ts | 1 - .../project-grant-members.module.ts | 2 + .../project-grant-create.component.ts | 2 + .../detail-form/detail-form.component.html | 2 +- .../detail-form/detail-form.component.ts | 18 +++++- .../memberships/memberships.component.html | 3 +- .../memberships/memberships.component.ts | 9 ++- .../user-detail/user-detail.component.html | 56 ++++++++++--------- .../user-detail/user-detail.component.scss | 12 +++- .../user-detail/user-detail.component.ts | 2 +- .../users/user-list/user-list.component.html | 6 +- .../pages/users/user-list/user-list.module.ts | 2 + .../user-table/user-table.component.html | 6 +- .../user-table/user-table.component.ts | 7 ++- console/src/app/services/grpc.service.ts | 3 +- console/src/app/services/mgmt.service.ts | 2 +- 28 files changed, 127 insertions(+), 83 deletions(-) diff --git a/console/src/app/modules/user-grants/user-grants.component.ts b/console/src/app/modules/user-grants/user-grants.component.ts index a3e960fe7b..f4557e95fb 100644 --- a/console/src/app/modules/user-grants/user-grants.component.ts +++ b/console/src/app/modules/user-grants/user-grants.component.ts @@ -33,8 +33,6 @@ export class UserGrantsComponent implements OnInit, AfterViewInit { @Input() allowCreate: boolean = false; @Input() allowDelete: boolean = false; - @Input() public disabled: boolean = false; - @Input() userId: string = ''; @Input() projectId: string = ''; @@ -85,8 +83,6 @@ export class UserGrantsComponent implements OnInit, AfterViewInit { this.routerLink = ['/grant-create']; } - console.log(this.routerLink); - this.dataSource.loadGrants(this.context, 0, 25, { projectId: this.projectId, grantId: this.grantId, diff --git a/console/src/app/pages/iam/iam-members/iam-members.component.html b/console/src/app/pages/iam/iam-members/iam-members.component.html index 35a4c70fe6..82a5614572 100644 --- a/console/src/app/pages/iam/iam-members/iam-members.component.html +++ b/console/src/app/pages/iam/iam-members/iam-members.component.html @@ -65,7 +65,7 @@ {{ 'ROLESLABEL' | translate }} {{ role }} diff --git a/console/src/app/pages/orgs/org-members/org-members.component.html b/console/src/app/pages/orgs/org-members/org-members.component.html index df707d6de0..7c6eb53424 100644 --- a/console/src/app/pages/orgs/org-members/org-members.component.html +++ b/console/src/app/pages/orgs/org-members/org-members.component.html @@ -3,7 +3,7 @@ - diff --git a/console/src/app/pages/orgs/org-members/org-members.component.ts b/console/src/app/pages/orgs/org-members/org-members.component.ts index 5020f5c35b..15b740b25c 100644 --- a/console/src/app/pages/orgs/org-members/org-members.component.ts +++ b/console/src/app/pages/orgs/org-members/org-members.component.ts @@ -75,7 +75,7 @@ export class OrgMembersComponent implements AfterViewInit { ); } - public removeProjectMemberSelection(): void { + public removeOrgMemberSelection(): void { Promise.all(this.selection.selected.map(member => { return this.mgmtService.RemoveMyOrgMember(member.userId).then(() => { this.toast.showInfo('ORG.TOAST.MEMBERREMOVED', true); diff --git a/console/src/app/pages/projects/granted-projects/granted-project-detail/granted-project-detail.component.html b/console/src/app/pages/projects/granted-projects/granted-project-detail/granted-project-detail.component.html index 64996a5360..98c9f6eacd 100644 --- a/console/src/app/pages/projects/granted-projects/granted-project-detail/granted-project-detail.component.html +++ b/console/src/app/pages/projects/granted-projects/granted-project-detail/granted-project-detail.component.html @@ -18,8 +18,8 @@ description="{{'GRANTS.PROJECT.DESCRIPTION' | translate }}"> + [allowCreate]="['user.grant.write','user.grant.write:'+grantId] | hasRole | async" + [allowDelete]="['user.grant.delete','user.grant.delete:'+grantId] | hasRole | async"> @@ -35,10 +35,11 @@ - + (showDetailClicked)="showDetail()" (refreshClicked)="loadMembers()" + [disabled]="(['project.grant.member.write', 'project.grant.member.write:'+ project.projectId]| hasRole | async) == false"> diff --git a/console/src/app/pages/projects/owned-projects/owned-project-detail/owned-project-detail.component.html b/console/src/app/pages/projects/owned-projects/owned-project-detail/owned-project-detail.component.html index b87d4ccc5f..4537449b6b 100644 --- a/console/src/app/pages/projects/owned-projects/owned-project-detail/owned-project-detail.component.html +++ b/console/src/app/pages/projects/owned-projects/owned-project-detail/owned-project-detail.component.html @@ -22,11 +22,11 @@ @@ -51,17 +51,15 @@ - +
- +
@@ -70,7 +68,8 @@ [appHasRole]="['project.grant.read:' + project.projectId, 'project.grant.read']"> - @@ -79,7 +78,8 @@ - @@ -89,9 +89,8 @@ + [allowCreate]="(['user.grant.write', 'user.grant.write:'+projectId] | hasRole) | async" + [allowDelete]="(['user.grant.delete','user.grant.delete:'+projectId] | hasRole) | async"> @@ -109,10 +108,11 @@ - + (showDetailClicked)="showDetail()" (refreshClicked)="loadMembers()" + [disabled]="(['project.member.write', 'project.member.write:'+ project.projectId]| hasRole | async) == false"> diff --git a/console/src/app/pages/projects/owned-projects/owned-project-list/owned-project-grid/owned-project-grid.component.html b/console/src/app/pages/projects/owned-projects/owned-project-list/owned-project-grid/owned-project-grid.component.html index a7a73b2b2a..2d7740d19e 100644 --- a/console/src/app/pages/projects/owned-projects/owned-project-list/owned-project-grid/owned-project-grid.component.html +++ b/console/src/app/pages/projects/owned-projects/owned-project-list/owned-project-grid/owned-project-grid.component.html @@ -61,7 +61,7 @@

{{'PROJECT.PAGES.NOITEMS' | translate}}

- +
add {{'PROJECT.PAGES.ADDNEW' | translate}} diff --git a/console/src/app/pages/projects/owned-projects/owned-project-list/owned-project-list.component.html b/console/src/app/pages/projects/owned-projects/owned-project-list/owned-project-list.component.html index a630dd8927..ab20d20430 100644 --- a/console/src/app/pages/projects/owned-projects/owned-project-list/owned-project-list.component.html +++ b/console/src/app/pages/projects/owned-projects/owned-project-list/owned-project-list.component.html @@ -11,7 +11,7 @@ - + add{{ 'ACTIONS.NEW' | translate }} @@ -70,4 +70,4 @@ [pageSizeOptions]="[5, 10, 20]" (page)="changePage($event)">
- \ No newline at end of file + diff --git a/console/src/app/pages/projects/owned-projects/project-grant-detail/project-grant-detail.component.html b/console/src/app/pages/projects/owned-projects/project-grant-detail/project-grant-detail.component.html index 96025aefd2..8a61f1ed0b 100644 --- a/console/src/app/pages/projects/owned-projects/project-grant-detail/project-grant-detail.component.html +++ b/console/src/app/pages/projects/owned-projects/project-grant-detail/project-grant-detail.component.html @@ -40,7 +40,7 @@

{{ 'PROJECT.GRANT.DETAIL.MEMBERTITLE' | translate }}

{{ 'PROJECT.GRANT.DETAIL.MEMBERDESC' | translate }}

- + \ No newline at end of file diff --git a/console/src/app/pages/projects/owned-projects/project-grant-detail/project-grant-detail.component.ts b/console/src/app/pages/projects/owned-projects/project-grant-detail/project-grant-detail.component.ts index acf8172948..16c159df66 100644 --- a/console/src/app/pages/projects/owned-projects/project-grant-detail/project-grant-detail.component.ts +++ b/console/src/app/pages/projects/owned-projects/project-grant-detail/project-grant-detail.component.ts @@ -38,10 +38,6 @@ export class ProjectGrantDetailComponent { this.projectid = params.projectid; this.grantid = params.grantid; - this.mgmtService.GetIam().then(iam => { - this.isZitadel = iam.toObject().iamProjectId === this.projectid; - }); - this.getRoleOptions(params.projectid); this.mgmtService.ProjectGrantByID(this.grantid, this.projectid).then((grant) => { diff --git a/console/src/app/pages/projects/owned-projects/project-grant-detail/project-grant-detail.module.ts b/console/src/app/pages/projects/owned-projects/project-grant-detail/project-grant-detail.module.ts index 51f1b59196..41477fff34 100644 --- a/console/src/app/pages/projects/owned-projects/project-grant-detail/project-grant-detail.module.ts +++ b/console/src/app/pages/projects/owned-projects/project-grant-detail/project-grant-detail.module.ts @@ -15,6 +15,7 @@ import { MatTooltipModule } from '@angular/material/tooltip'; import { TranslateModule } from '@ngx-translate/core'; import { HasRoleModule } from 'src/app/directives/has-role/has-role.module'; import { DetailLayoutModule } from 'src/app/modules/detail-layout/detail-layout.module'; +import { HasRolePipeModule } from 'src/app/pipes/has-role-pipe.module'; import { ProjectGrantDetailRoutingModule } from './project-grant-detail-routing.module'; import { ProjectGrantDetailComponent } from './project-grant-detail.component'; @@ -43,6 +44,7 @@ import { ProjectGrantMembersModule } from './project-grant-members/project-grant TranslateModule, MatSelectModule, DetailLayoutModule, + HasRolePipeModule, ], }) export class ProjectGrantDetailModule { } diff --git a/console/src/app/pages/projects/owned-projects/project-grant-detail/project-grant-members/project-grant-members.component.html b/console/src/app/pages/projects/owned-projects/project-grant-detail/project-grant-members/project-grant-members.component.html index 49fb12e155..3a62f519f3 100644 --- a/console/src/app/pages/projects/owned-projects/project-grant-detail/project-grant-members/project-grant-members.component.html +++ b/console/src/app/pages/projects/owned-projects/project-grant-detail/project-grant-members/project-grant-members.component.html @@ -1,11 +1,14 @@ - - + add{{ 'ACTIONS.NEW' | translate }} @@ -59,7 +62,8 @@ {{ 'PROJECT.MEMBER.ROLES' | translate }} - {{ role }} diff --git a/console/src/app/pages/projects/owned-projects/project-grant-detail/project-grant-members/project-grant-members.component.ts b/console/src/app/pages/projects/owned-projects/project-grant-detail/project-grant-members/project-grant-members.component.ts index 78b9ecf497..87628db083 100644 --- a/console/src/app/pages/projects/owned-projects/project-grant-detail/project-grant-members/project-grant-members.component.ts +++ b/console/src/app/pages/projects/owned-projects/project-grant-detail/project-grant-members/project-grant-members.component.ts @@ -26,7 +26,6 @@ export class ProjectGrantMembersComponent implements AfterViewInit, OnInit { @Input() public type: ProjectType = ProjectType.PROJECTTYPE_GRANTED; - @Input() public disabled: boolean = false; @ViewChild(MatPaginator) public paginator!: MatPaginator; @ViewChild(MatTable) public table!: MatTable; public dataSource!: ProjectGrantMembersDataSource; diff --git a/console/src/app/pages/projects/owned-projects/project-grant-detail/project-grant-members/project-grant-members.module.ts b/console/src/app/pages/projects/owned-projects/project-grant-detail/project-grant-members/project-grant-members.module.ts index 4948ed6c75..22e186130d 100644 --- a/console/src/app/pages/projects/owned-projects/project-grant-detail/project-grant-members/project-grant-members.module.ts +++ b/console/src/app/pages/projects/owned-projects/project-grant-detail/project-grant-members/project-grant-members.module.ts @@ -18,6 +18,7 @@ import { TranslateModule } from '@ngx-translate/core'; import { HasRoleModule } from 'src/app/directives/has-role/has-role.module'; import { RefreshTableModule } from 'src/app/modules/refresh-table/refresh-table.module'; import { SearchUserAutocompleteModule } from 'src/app/modules/search-user-autocomplete/search-user-autocomplete.module'; +import { HasRolePipeModule } from 'src/app/pipes/has-role-pipe.module'; import { ProjectGrantMembersCreateDialogModule, @@ -48,6 +49,7 @@ import { ProjectGrantMembersComponent } from './project-grant-members.component' FormsModule, TranslateModule, RefreshTableModule, + HasRolePipeModule, ], exports: [ ProjectGrantMembersComponent, diff --git a/console/src/app/pages/projects/project-grant-create/project-grant-create.component.ts b/console/src/app/pages/projects/project-grant-create/project-grant-create.component.ts index 511e3ef92a..e15b6636be 100644 --- a/console/src/app/pages/projects/project-grant-create/project-grant-create.component.ts +++ b/console/src/app/pages/projects/project-grant-create/project-grant-create.component.ts @@ -59,6 +59,8 @@ export class ProjectGrantCreateComponent implements OnInit, OnDestroy { } public addGrant(): void { + + console.log(this.org.id, this.projectId, this.rolesKeyList); this.mgmtService .CreateProjectGrant(this.org.id, this.projectId, this.rolesKeyList) .then((data) => { diff --git a/console/src/app/pages/users/user-detail/detail-form/detail-form.component.html b/console/src/app/pages/users/user-detail/detail-form/detail-form.component.html index a3c3b4a285..22f06e4a0a 100644 --- a/console/src/app/pages/users/user-detail/detail-form/detail-form.component.html +++ b/console/src/app/pages/users/user-detail/detail-form/detail-form.component.html @@ -34,7 +34,7 @@
-
\ No newline at end of file diff --git a/console/src/app/pages/users/user-detail/detail-form/detail-form.component.ts b/console/src/app/pages/users/user-detail/detail-form/detail-form.component.ts index fa22ec80f7..2c9c42edcc 100644 --- a/console/src/app/pages/users/user-detail/detail-form/detail-form.component.ts +++ b/console/src/app/pages/users/user-detail/detail-form/detail-form.component.ts @@ -1,4 +1,4 @@ -import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core'; +import { Component, EventEmitter, Input, OnChanges, OnDestroy, Output } from '@angular/core'; import { AbstractControl, FormBuilder, FormGroup, Validators } from '@angular/forms'; import { Subscription } from 'rxjs'; import { Gender as authGender, UserProfile as authUP, UserView as authUV } from 'src/app/proto/generated/auth_pb'; @@ -10,7 +10,7 @@ import { Gender as mgmtGender, UserProfile as mgmtUP, UserView as mgmtUV } from templateUrl: './detail-form.component.html', styleUrls: ['./detail-form.component.scss'], }) -export class DetailFormComponent implements OnInit, OnDestroy { +export class DetailFormComponent implements OnDestroy, OnChanges { @Input() public username!: string; @Input() public user!: mgmtUV | authUV; @Input() public disabled: boolean = false; @@ -36,7 +36,19 @@ export class DetailFormComponent implements OnInit, OnDestroy { }); } - public ngOnInit(): void { + public ngOnChanges(): void { + console.log('disabled'); + this.profileForm = this.fb.group({ + userName: [{ value: '', disabled: true }, [ + Validators.required, + ]], + firstName: [{ value: '', disabled: this.disabled }, Validators.required], + lastName: [{ value: '', disabled: this.disabled }, Validators.required], + nickName: [{ value: '', disabled: this.disabled }], + gender: [{ value: 0 }, { disabled: this.disabled }], + preferredLanguage: [{ value: '', disabled: this.disabled }], + }); + this.profileForm.patchValue({ userName: this.username, ...this.user }); if (this.preferredLanguage) { diff --git a/console/src/app/pages/users/user-detail/memberships/memberships.component.html b/console/src/app/pages/users/user-detail/memberships/memberships.component.html index 1ec4ef291b..04deae1927 100644 --- a/console/src/app/pages/users/user-detail/memberships/memberships.component.html +++ b/console/src/app/pages/users/user-detail/memberships/memberships.component.html @@ -28,7 +28,8 @@ {{memberships.totalResult}} - diff --git a/console/src/app/pages/users/user-detail/memberships/memberships.component.ts b/console/src/app/pages/users/user-detail/memberships/memberships.component.ts index 23e2ed1a82..3e92ae31bc 100644 --- a/console/src/app/pages/users/user-detail/memberships/memberships.component.ts +++ b/console/src/app/pages/users/user-detail/memberships/memberships.component.ts @@ -3,7 +3,7 @@ import { Component, Input, OnInit } from '@angular/core'; import { MatDialog } from '@angular/material/dialog'; import { Router } from '@angular/router'; import { CreationType, MemberCreateDialogComponent } from 'src/app/modules/add-member-dialog/member-create-dialog.component'; -import { MemberType, UserView, UserMembershipSearchResponse } from 'src/app/proto/generated/management_pb'; +import { MemberType, UserMembershipSearchResponse, UserView } from 'src/app/proto/generated/management_pb'; import { AdminService } from 'src/app/services/admin.service'; import { ManagementService } from 'src/app/services/mgmt.service'; import { ToastService } from 'src/app/services/toast.service'; @@ -34,6 +34,8 @@ export class MembershipsComponent implements OnInit { public memberships!: UserMembershipSearchResponse.AsObject; @Input() public user!: UserView.AsObject; + @Input() public disabled: boolean = false; + public MemberType: any = MemberType; constructor( @@ -46,6 +48,7 @@ export class MembershipsComponent implements OnInit { ngOnInit(): void { this.loadManager(this.user.id); + console.log(this.disabled); } public async loadManager(userId: string): Promise { @@ -56,7 +59,9 @@ export class MembershipsComponent implements OnInit { } public navigateToObject(): void { - this.router.navigate(['/users', this.user.id, 'memberships']); + if (!this.disabled) { + this.router.navigate(['/users', this.user.id, 'memberships']); + } } public addMember(): void { diff --git a/console/src/app/pages/users/user-detail/user-detail/user-detail.component.html b/console/src/app/pages/users/user-detail/user-detail/user-detail.component.html index 05b0fb529a..19555c4618 100644 --- a/console/src/app/pages/users/user-detail/user-detail/user-detail.component.html +++ b/console/src/app/pages/users/user-detail/user-detail/user-detail.component.html @@ -1,5 +1,5 @@ - -
+ +
arrow_back @@ -38,9 +38,8 @@ - + @@ -51,7 +50,7 @@ - @@ -62,13 +61,12 @@
-
@@ -140,16 +143,19 @@ {{ 'USER.PHONE' | translate }} - + - - - @@ -176,7 +182,7 @@
- + diff --git a/console/src/app/pages/users/user-detail/user-detail/user-detail.component.scss b/console/src/app/pages/users/user-detail/user-detail/user-detail.component.scss index 6b51a37a67..0606ca3fa2 100644 --- a/console/src/app/pages/users/user-detail/user-detail/user-detail.component.scss +++ b/console/src/app/pages/users/user-detail/user-detail/user-detail.component.scss @@ -44,7 +44,7 @@ .label, .name { - margin-right: 1rem; + padding-right: 1rem; } .actions { @@ -87,6 +87,16 @@ text-decoration: underline; } } + + @media only screen and (max-width: 700px) { + flex-direction: column; + align-items: center; + + .label, + .name { + padding-right: 0; + } + } } } diff --git a/console/src/app/pages/users/user-detail/user-detail/user-detail.component.ts b/console/src/app/pages/users/user-detail/user-detail/user-detail.component.ts index fa1f45093b..11c57875d2 100644 --- a/console/src/app/pages/users/user-detail/user-detail/user-detail.component.ts +++ b/console/src/app/pages/users/user-detail/user-detail/user-detail.component.ts @@ -155,7 +155,7 @@ export class UserDetailComponent implements OnInit, OnDestroy { public saveEmail(): void { this.emailEditState = false; - if (this.user && this.user.human?.phone) { + if (this.user && this.user.human?.email) { this.mgmtUserService .SaveUserEmail(this.user.id, this.user.human.email).then((data: UserEmail) => { this.toast.showInfo('USER.TOAST.EMAILSENT', true); diff --git a/console/src/app/pages/users/user-list/user-list.component.html b/console/src/app/pages/users/user-list/user-list.component.html index 2195f2c0a1..af36116d5c 100644 --- a/console/src/app/pages/users/user-list/user-list.component.html +++ b/console/src/app/pages/users/user-list/user-list.component.html @@ -3,7 +3,8 @@

{{ 'USER.PAGES.LIST' | translate }}

{{ 'USER.PAGES.DESCRIPTION' | translate }}

- + + @@ -11,7 +12,8 @@

{{ 'USER.PAGES.DESCRIPTIONMACHINE' | translate }}

+ [displayedColumns]="['select','name', 'username', 'description','state']" + [disabled]="(['user.write'] | hasRole | async) == false">
\ No newline at end of file diff --git a/console/src/app/pages/users/user-list/user-list.module.ts b/console/src/app/pages/users/user-list/user-list.module.ts index 892d85171f..4e666e1887 100644 --- a/console/src/app/pages/users/user-list/user-list.module.ts +++ b/console/src/app/pages/users/user-list/user-list.module.ts @@ -15,6 +15,7 @@ import { AvatarModule } from 'src/app/modules/avatar/avatar.module'; import { CardModule } from 'src/app/modules/card/card.module'; import { RefreshTableModule } from 'src/app/modules/refresh-table/refresh-table.module'; import { SharedModule } from 'src/app/modules/shared/shared.module'; +import { HasRolePipeModule } from 'src/app/pipes/has-role-pipe.module'; import { UserListRoutingModule } from './user-list-routing.module'; import { UserListComponent } from './user-list.component'; @@ -41,6 +42,7 @@ import { UserTableComponent } from './user-table/user-table.component'; MatProgressSpinnerModule, MatCheckboxModule, MatTooltipModule, + HasRolePipeModule, TranslateModule, SharedModule, RefreshTableModule, diff --git a/console/src/app/pages/users/user-list/user-table/user-table.component.html b/console/src/app/pages/users/user-list/user-table/user-table.component.html index 6c4523fc2a..5af6f9be8b 100644 --- a/console/src/app/pages/users/user-list/user-table/user-table.component.html +++ b/console/src/app/pages/users/user-list/user-table/user-table.component.html @@ -2,15 +2,15 @@ [timestamp]="userResult?.viewTimestamp" [selection]="selection"> + color="primary" mat-raised-button [disabled]="disabled"> add{{ 'ACTIONS.NEW' | translate }} diff --git a/console/src/app/pages/users/user-list/user-table/user-table.component.ts b/console/src/app/pages/users/user-list/user-table/user-table.component.ts index b1c281a24b..87fbeea144 100644 --- a/console/src/app/pages/users/user-list/user-table/user-table.component.ts +++ b/console/src/app/pages/users/user-list/user-table/user-table.component.ts @@ -5,7 +5,7 @@ import { MatTableDataSource } from '@angular/material/table'; import { TranslateService } from '@ngx-translate/core'; import { BehaviorSubject, Observable } from 'rxjs'; import { UserView } from 'src/app/proto/generated/auth_pb'; -import { UserSearchKey, UserSearchQuery, UserSearchResponse } from 'src/app/proto/generated/management_pb'; +import { SearchMethod, UserSearchKey, UserSearchQuery, UserSearchResponse } from 'src/app/proto/generated/management_pb'; import { ManagementService } from 'src/app/services/mgmt.service'; import { ToastService } from 'src/app/services/toast.service'; @@ -19,6 +19,7 @@ import { UserType } from '../user-list.component'; export class UserTableComponent implements OnInit { public UserType: any = UserType; @Input() userType: UserType = UserType.HUMAN; + @Input() disabled: boolean = false; @ViewChild(MatPaginator) public paginator!: MatPaginator; public dataSource: MatTableDataSource = new MatTableDataSource(); public selection: SelectionModel = new SelectionModel(true, []); @@ -79,9 +80,11 @@ export class UserTableComponent implements OnInit { this.loadingSubject.next(true); const query = new UserSearchQuery(); query.setKey(UserSearchKey.USERSEARCHKEY_TYPE); + query.setMethod(SearchMethod.SEARCHMETHOD_EQUALS); query.setValue(filterTypeValue); + console.log(filterTypeValue); - this.userService.SearchUsers(limit, offset).then(resp => { + this.userService.SearchUsers(limit, offset, [query]).then(resp => { this.userResult = resp.toObject(); this.dataSource.data = this.userResult.resultList; console.log(this.userResult.resultList); diff --git a/console/src/app/services/grpc.service.ts b/console/src/app/services/grpc.service.ts index 0a44c0ad7d..73a4c5e52e 100644 --- a/console/src/app/services/grpc.service.ts +++ b/console/src/app/services/grpc.service.ts @@ -50,7 +50,8 @@ export class GrpcService { interceptors, ); this.admin = new AdminServicePromiseClient( - data.adminServiceUrl, + // TODO: replace with service url + data.mgmtServiceUrl, null, // @ts-ignore interceptors, diff --git a/console/src/app/services/mgmt.service.ts b/console/src/app/services/mgmt.service.ts index 293284c3e1..4be0540b60 100644 --- a/console/src/app/services/mgmt.service.ts +++ b/console/src/app/services/mgmt.service.ts @@ -324,8 +324,8 @@ export class ManagementService { } public async CreateProjectGrant( - projectId: string, orgId: string, + projectId: string, roleKeysList: string[], ): Promise { const req = new ProjectGrantCreate();