diff --git a/ui/src/app/features/app-user-list/application-user-list.component.spec.ts b/ui/src/app/features/app-user-list/application-user-list.component.spec.ts index 181bb34a4e..b0d27874f2 100644 --- a/ui/src/app/features/app-user-list/application-user-list.component.spec.ts +++ b/ui/src/app/features/app-user-list/application-user-list.component.spec.ts @@ -18,6 +18,7 @@ import { FormsModule } from '@angular/forms'; import { MatDialog } from '@angular/material/dialog'; import { MatInputModule } from '@angular/material/input'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { RouterTestingModule } from '@angular/router/testing'; import { TranslatePipe, TranslateService } from '@ngx-translate/core'; import { of, Subscription } from 'rxjs'; import { SnackBarModule } from 'src/app/features/snackbar/snackbar.module'; @@ -36,7 +37,16 @@ describe('ApplicationUserListComponent', () => { waitForAsync(() => { TestBed.configureTestingModule({ declarations: [ApplicationUserListComponent, TranslatePipe], - imports: [SpinnerModule, UserTableModule, NoopAnimationsModule, FormsModule, TablePipeModule, MatInputModule, SnackBarModule], + imports: [ + SpinnerModule, + UserTableModule, + NoopAnimationsModule, + FormsModule, + TablePipeModule, + MatInputModule, + SnackBarModule, + RouterTestingModule, + ], providers: [ { provide: MatDialog, diff --git a/ui/src/app/features/model-clone-dialog/model-clone-dialog.component.html b/ui/src/app/features/model-clone-dialog/model-clone-dialog.component.html index 15d7ef21f9..2e631b3d46 100644 --- a/ui/src/app/features/model-clone-dialog/model-clone-dialog.component.html +++ b/ui/src/app/features/model-clone-dialog/model-clone-dialog.component.html @@ -29,6 +29,6 @@

{{ 'common.capital.clone' | translate }} {{ data.entityType {{ 'common.capital.clone' | translate }} - diff --git a/ui/src/app/features/model-clone-dialog/model-clone-dialog.component.ts b/ui/src/app/features/model-clone-dialog/model-clone-dialog.component.ts index 65cec633e8..c8a80b29b8 100644 --- a/ui/src/app/features/model-clone-dialog/model-clone-dialog.component.ts +++ b/ui/src/app/features/model-clone-dialog/model-clone-dialog.component.ts @@ -28,6 +28,6 @@ export class ModelCloneDialogComponent { constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: any) {} get isCloneDisabled(): boolean { - return this.initialName ? this.initialName.length < 3 : true; + return this.initialName ? this.initialName.length < 1 : true; } } diff --git a/ui/src/app/features/user-list/user-list.component.spec.ts b/ui/src/app/features/user-list/user-list.component.spec.ts index 8f252b2b95..148f64420a 100644 --- a/ui/src/app/features/user-list/user-list.component.spec.ts +++ b/ui/src/app/features/user-list/user-list.component.spec.ts @@ -19,6 +19,7 @@ import { FormsModule } from '@angular/forms'; import { MatDialogModule } from '@angular/material/dialog'; import { MatInputModule } from '@angular/material/input'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { RouterTestingModule } from '@angular/router/testing'; import { TranslatePipe, TranslateService } from '@ngx-translate/core'; import { of, Subscription } from 'rxjs'; import { SpinnerModule } from 'src/app/features/spinner/spinner.module'; @@ -47,6 +48,7 @@ describe('UserListComponent', () => { MatInputModule, MatDialogModule, InviteDialogModule, + RouterTestingModule, ], declarations: [UserListComponent, TranslatePipe], providers: [ diff --git a/ui/src/app/features/user-table/user-table.component.ts b/ui/src/app/features/user-table/user-table.component.ts index 50ca98fd1e..dad8c8c00a 100644 --- a/ui/src/app/features/user-table/user-table.component.ts +++ b/ui/src/app/features/user-table/user-table.component.ts @@ -23,6 +23,8 @@ import { TranslateService } from '@ngx-translate/core'; import { RoleEditDialogComponent } from '../role-edit-dialog/role-edit-dialog.component'; import { MatDialog } from '@angular/material/dialog'; import { UserRole } from '../../data/interfaces/user-role'; +import { Router } from '@angular/router'; +import { Routes } from 'src/app/data/enums/routers-url.enum'; @Component({ selector: 'app-user-table', @@ -42,7 +44,7 @@ export class UserTableComponent extends TableComponent implements OnInit, OnChan @Input() searchText: string; @Output() deleteUser = new EventEmitter(); - constructor(private dialog: MatDialog, private translate: TranslateService) { + constructor(private dialog: MatDialog, private translate: TranslateService, private router: Router) { super(); } @@ -53,6 +55,14 @@ export class UserTableComponent extends TableComponent implements OnInit, OnChan ngOnChanges(): void { this.getMessageContent(); + + if (!this.data.length) return; + + const userIsInvited = !!this.data.find(item => item.id === this.currentUserId); + + if (!userIsInvited) { + this.router.navigate([Routes.Home]); + } } isRoleChangeAllowed(user: AppUser): boolean {