RED-6713: show previous signed in domains
This commit is contained in:
parent
d3231877d9
commit
ed02112c4f
@ -8,7 +8,7 @@ import {
|
||||
IqserAuthGuard,
|
||||
IqserPermissionsGuard,
|
||||
IqserRoutes,
|
||||
TenantResolveComponent,
|
||||
TenantSelectComponent,
|
||||
} from '@iqser/common-ui';
|
||||
import { RedRoleGuard } from '@users/red-role.guard';
|
||||
import { BaseScreenComponent } from '@components/base-screen/base-screen.component';
|
||||
@ -211,7 +211,7 @@ const routes: IqserRoutes = [
|
||||
path: '',
|
||||
pathMatch: 'full',
|
||||
canActivate: [ifNotLoggedIn],
|
||||
component: TenantResolveComponent,
|
||||
component: TenantSelectComponent,
|
||||
},
|
||||
{
|
||||
path: ':tenant',
|
||||
|
||||
@ -126,7 +126,7 @@ export class BaseScreenComponent {
|
||||
|
||||
#search(query: string, dossierIds: string[], onlyActive = false) {
|
||||
const queryParams = { query, dossierIds: dossierIds.join(','), onlyActive };
|
||||
this._router.navigate([`/${this._tenantsService.currentTenant}/main/search`], { queryParams }).then();
|
||||
this._router.navigate([`/${this._tenantsService.activeTenantId}/main/search`], { queryParams }).then();
|
||||
}
|
||||
|
||||
#searchThisDossier(query: string) {
|
||||
|
||||
@ -34,7 +34,7 @@ export class DossierFilesGuard implements CanActivate {
|
||||
}
|
||||
|
||||
if (!dossiersService.has(dossierId)) {
|
||||
await this._router.navigate([`/${this._tenantsService.currentTenant}/main`, dossierTemplateId]);
|
||||
await this._router.navigate([`/${this._tenantsService.activeTenantId}/main`, dossierTemplateId]);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@ export function templateExistsWhenEnteringAdmin(): CanActivateFn {
|
||||
|
||||
const dossierTemplate = inject(DashboardStatsService).find(dossierTemplateId);
|
||||
if (!dossierTemplate) {
|
||||
await inject(Router).navigate([inject(TenantsService).currentTenant, 'main', 'admin', 'dossier-templates']);
|
||||
await inject(Router).navigate([inject(TenantsService).activeTenantId, 'main', 'admin', 'dossier-templates']);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
@ -23,7 +23,7 @@ export function templateExistsWhenEnteringDossierList(): CanActivateFn {
|
||||
|
||||
const dossierTemplateStats = inject(DashboardStatsService).find(dossierTemplateId);
|
||||
if (!dossierTemplateStats || dossierTemplateStats.isEmpty) {
|
||||
await inject(Router).navigate([inject(TenantsService).currentTenant, 'main']);
|
||||
await inject(Router).navigate([inject(TenantsService).activeTenantId, 'main']);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
||||
@ -35,7 +35,7 @@ export class DossiersGuard implements CanActivate {
|
||||
const dossierTemplateStats = this._dashboardStatsService.find(dossierTemplateId);
|
||||
|
||||
if (isArchive && dossierTemplateStats?.numberOfArchivedDossiers === 0) {
|
||||
await this._router.navigate([this._tenantsService.currentTenant, 'main', dossierTemplateId, 'dossiers']);
|
||||
await this._router.navigate([this._tenantsService.activeTenantId, 'main', dossierTemplateId, 'dossiers']);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@ -12,7 +12,7 @@ export function entityExistsGuard(): CanActivateFn {
|
||||
|
||||
if (!inject(DictionariesMapService).get(dossierTemplateId, type)) {
|
||||
const dossierTemplate = inject(DossierTemplatesService).find(dossierTemplateId);
|
||||
await inject(Router).navigate([`/${inject(TenantsService).currentTenant}/${dossierTemplate.routerLink}/entities`]);
|
||||
await inject(Router).navigate([`/${inject(TenantsService).activeTenantId}/${dossierTemplate.routerLink}/entities`]);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ export function watermarkExistsGuard(): CanActivateFn {
|
||||
}
|
||||
|
||||
await inject(Router).navigate([
|
||||
inject(TenantsService).currentTenant,
|
||||
inject(TenantsService).activeTenantId,
|
||||
'main',
|
||||
'admin',
|
||||
'dossier-templates',
|
||||
|
||||
@ -47,7 +47,7 @@ export class UserProfileScreenComponent extends BaseFormComponent implements OnI
|
||||
) {
|
||||
super();
|
||||
this._loadingService.start();
|
||||
const tenant = inject(TenantsService).currentTenant;
|
||||
const tenant = inject(TenantsService).activeTenantId;
|
||||
const realmUrl = `${getConfig<AppConfig>().OAUTH_URL}/realms/${tenant}`;
|
||||
this.changePasswordUrl = `${realmUrl}/account/password`;
|
||||
}
|
||||
|
||||
@ -42,7 +42,7 @@ export class BaseEntityScreenComponent {
|
||||
this._loadingService.start();
|
||||
const dossierTemplate = this._dossierTemplatesService.find(this.#dossierTemplateId);
|
||||
await firstValueFrom(this._dictionaryService.deleteDictionaries([this.#entityType], this.#dossierTemplateId));
|
||||
await this._router.navigate([`/${this._tenantsService.currentTenant}/${dossierTemplate.routerLink}/entities`]);
|
||||
await this._router.navigate([`/${this._tenantsService.activeTenantId}/${dossierTemplate.routerLink}/entities`]);
|
||||
this._loadingService.stop();
|
||||
});
|
||||
}
|
||||
|
||||
@ -151,7 +151,7 @@ export class WatermarkScreenComponent implements OnInit {
|
||||
);
|
||||
if (!watermark.id) {
|
||||
await this._router.navigate([
|
||||
`/${this._tenantsService.currentTenant}/main/admin/dossier-templates/${this.#dossierTemplateId}/watermarks/${
|
||||
`/${this._tenantsService.activeTenantId}/main/admin/dossier-templates/${this.#dossierTemplateId}/watermarks/${
|
||||
updatedWatermark.id
|
||||
}`,
|
||||
]);
|
||||
|
||||
@ -51,7 +51,7 @@ export class DossierTemplateActionsComponent implements OnInit {
|
||||
|
||||
const success = await firstValueFrom(this._dossierTemplatesService.delete([this.dossierTemplateId]));
|
||||
if (success) {
|
||||
await this._router.navigate([this._tenantsService.currentTenant, 'main', 'admin']);
|
||||
await this._router.navigate([this._tenantsService.activeTenantId, 'main', 'admin']);
|
||||
}
|
||||
|
||||
this._loadingService.stop();
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
<iqser-page-header
|
||||
(closeAction)="router.navigate([tenantsService.currentTenant + '/' + dossier.dossiersListRouterLink])"
|
||||
(closeAction)="router.navigate([tenantsService.activeTenantId + '/' + dossier.dossiersListRouterLink])"
|
||||
[actionConfigs]="actionConfigs"
|
||||
[helpModeKey]="'document'"
|
||||
[showCloseButton]="true"
|
||||
|
||||
@ -771,7 +771,7 @@ export class FilePreviewScreenComponent
|
||||
|
||||
private _navigateToDossier() {
|
||||
this._logger.info('Navigating to ', this.state.dossier.dossierName);
|
||||
return this._router.navigate([`/${this._tenantsService.currentTenant}${this.state.dossier.routerLink}`]);
|
||||
return this._router.navigate([`/${this._tenantsService.activeTenantId}${this.state.dossier.routerLink}`]);
|
||||
}
|
||||
|
||||
#highlightSelectedAnnotations(newAnnotations: AnnotationWrapper[]) {
|
||||
|
||||
@ -333,7 +333,7 @@ export class FileActionsComponent implements OnChanges {
|
||||
try {
|
||||
const dossier = this._activeDossiersService.find(this.file.dossierId);
|
||||
await firstValueFrom(this._fileManagementService.delete([this.file], this.file.dossierId));
|
||||
await this._injector.get(Router).navigate([`/${this._tenantsService.currentTenant}${dossier.routerLink}`]);
|
||||
await this._injector.get(Router).navigate([`/${this._tenantsService.activeTenantId}${dossier.routerLink}`]);
|
||||
} catch (error) {
|
||||
this._injector.get(Toaster).error(_('error.http.generic'), { params: error });
|
||||
}
|
||||
|
||||
@ -153,7 +153,7 @@ export class EditDossierGeneralInfoComponent implements OnInit, EditDossierSecti
|
||||
this._loadingService.start();
|
||||
await firstValueFrom(this._trashService.deleteDossier(this.dossier));
|
||||
this._editDossierDialogRef.close();
|
||||
await this._router.navigate([`/${this._tenantsService.currentTenant}${this.dossier.dossiersListRouterLink}`]);
|
||||
await this._router.navigate([`/${this._tenantsService.activeTenantId}${this.dossier.dossiersListRouterLink}`]);
|
||||
this._loadingService.stop();
|
||||
this._toaster.success(_('edit-dossier-dialog.delete-successful'), {
|
||||
params: {
|
||||
|
||||
@ -62,7 +62,7 @@ export class FileDownloadBtnComponent implements OnChanges {
|
||||
await downloadRequest
|
||||
.then(() =>
|
||||
this._toaster.info(_('download-status.queued'), {
|
||||
params: { downloadHref: `/ui/${this._tenantsService.currentTenant}/main/downloads` },
|
||||
params: { downloadHref: `/ui/${this._tenantsService.activeTenantId}/main/downloads` },
|
||||
}),
|
||||
)
|
||||
.catch(() => this._toaster.error(_('download-status.error')));
|
||||
|
||||
@ -99,7 +99,7 @@ export class ExpandableFileActionsComponent implements OnChanges {
|
||||
...result,
|
||||
});
|
||||
this._toaster.info(_('download-status.queued'), {
|
||||
params: { downloadHref: `/ui/${this._tenantsService.currentTenant}/main/downloads` },
|
||||
params: { downloadHref: `/ui/${this._tenantsService.activeTenantId}/main/downloads` },
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@ -83,7 +83,7 @@ export class AddDossierDialogComponent extends BaseDialogComponent implements On
|
||||
this._loadingService.start();
|
||||
const savedDossier = await firstValueFrom(this._activeDossiersService.createOrUpdate(this._formToObject()));
|
||||
if (savedDossier) {
|
||||
await this._router.navigate([`/${this._tenantsService.currentTenant}${savedDossier.routerLink}`]);
|
||||
await this._router.navigate([`/${this._tenantsService.activeTenantId}${savedDossier.routerLink}`]);
|
||||
if (options?.addMembers) {
|
||||
this._dialogService.openDialog('editDossier', {
|
||||
dossierId: savedDossier.id,
|
||||
|
||||
@ -36,7 +36,7 @@ export class FileDownloadService extends EntitiesService<IDownloadStatus, Downlo
|
||||
const token = await this.generateToken(status.storageId);
|
||||
const anchor = document.createElement('a');
|
||||
anchor.href = `${this._configService.values.API_URL}/async/download/with-ott/${token.value}?tenantId=${encodeURIComponent(
|
||||
this._tenantsService.currentTenant,
|
||||
this._tenantsService.activeTenantId,
|
||||
)}`;
|
||||
anchor.download = status.filename;
|
||||
anchor.target = '_blank';
|
||||
|
||||
@ -42,7 +42,7 @@ export class ArchivedDossiersService extends DossiersService {
|
||||
if (!this.#activeDossiersService.all.find(d => d.dossierTemplateId === dossierTemplateId)) {
|
||||
route = route.replace(DOSSIERS_ROUTE, ARCHIVE_ROUTE);
|
||||
}
|
||||
await this.#router.navigate([`/${this.#tenantsService.currentTenant}${route}`]);
|
||||
await this.#router.navigate([`/${this.#tenantsService.activeTenantId}${route}`]);
|
||||
}),
|
||||
catchError(showArchiveFailedToast),
|
||||
);
|
||||
|
||||
@ -78,7 +78,7 @@ export class NotificationsService extends EntitiesService<INotification, Notific
|
||||
const dossier = this._dossiersCacheService.get(dossierId);
|
||||
const fileName = notification.target.fileName;
|
||||
const dossierName = notification.target?.dossierName ?? dossier?.dossierName;
|
||||
const downloadHref = `/ui/${this._tenantsService.currentTenant}/main/downloads`;
|
||||
const downloadHref = `/ui/${this._tenantsService.activeTenantId}/main/downloads`;
|
||||
|
||||
return this._translateService.instant(translation, {
|
||||
fileHref: this._getFileHref(dossier, fileId),
|
||||
@ -95,7 +95,7 @@ export class NotificationsService extends EntitiesService<INotification, Notific
|
||||
}
|
||||
|
||||
private _getDossierHref(dossier: Dossier): string {
|
||||
return dossier ? `${this._baseHref}/${this._tenantsService.currentTenant}${dossier.routerLink}` : null;
|
||||
return dossier ? `${this._baseHref}/${this._tenantsService.activeTenantId}${dossier.routerLink}` : null;
|
||||
}
|
||||
|
||||
private _getUsername(userId: string | undefined) {
|
||||
|
||||
@ -23,7 +23,7 @@ export class RouterHistoryService {
|
||||
|
||||
navigateToLastDossiersScreen(): void {
|
||||
if (this._router.url === decodeURI(this._lastDossiersScreen)) {
|
||||
this._router.navigate(['/' + this._tenantsService.currentTenant]);
|
||||
this._router.navigate(['/' + this._tenantsService.activeTenantId]);
|
||||
} else {
|
||||
const url = decodeURI(this._lastDossiersScreen).split('?')[0];
|
||||
// todo links
|
||||
|
||||
@ -12,14 +12,14 @@ export class RedRoleGuard extends IqserRoleGuard {
|
||||
const currentUser = this._userService.currentUser;
|
||||
|
||||
if (!currentUser?.hasAnyRole) {
|
||||
await this._router.navigate([`/${this._tenantsService.currentTenant}/auth-error`]);
|
||||
await this._router.navigate([`/${this._tenantsService.activeTenantId}/auth-error`]);
|
||||
this._loadingService.stop();
|
||||
return false;
|
||||
}
|
||||
|
||||
// we have at least 1 RED Role -> if it's not user he must be an admin
|
||||
if (currentUser.isUserAdmin && !currentUser.isAdmin && state.url.includes('admin') && !state.url.includes('users')) {
|
||||
await this._router.navigate([`/${this._tenantsService.currentTenant}/main/admin/users`]);
|
||||
await this._router.navigate([`/${this._tenantsService.activeTenantId}/main/admin/users`]);
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -29,7 +29,7 @@ export class RedRoleGuard extends IqserRoleGuard {
|
||||
!currentUser.isUser &&
|
||||
!(state.url.includes('/main/admin/users') || state.url.includes('/main/account'))
|
||||
) {
|
||||
await this._router.navigate([`/${this._tenantsService.currentTenant}/main/admin/users`]);
|
||||
await this._router.navigate([`/${this._tenantsService.activeTenantId}/main/admin/users`]);
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -38,9 +38,9 @@ export class RedRoleGuard extends IqserRoleGuard {
|
||||
return true;
|
||||
}
|
||||
if (!currentUser.isUser) {
|
||||
await this._router.navigate([`/${this._tenantsService.currentTenant}/main/admin`]);
|
||||
await this._router.navigate([`/${this._tenantsService.activeTenantId}/main/admin`]);
|
||||
} else {
|
||||
await this._router.navigate([`/${this._tenantsService.currentTenant}`]);
|
||||
await this._router.navigate([`/${this._tenantsService.activeTenantId}`]);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -53,10 +53,11 @@ export const mainResolver: ResolveFn<void> = async () => {
|
||||
const lastDossierTemplate = userPreferenceService.getLastDossierTemplate();
|
||||
|
||||
if (lastDossierTemplate) {
|
||||
redirectToLastDossierTemplate(baseHref, tenantsService.currentTenant, lastDossierTemplate);
|
||||
redirectToLastDossierTemplate(baseHref, tenantsService.activeTenantId, lastDossierTemplate);
|
||||
}
|
||||
|
||||
loadingService.stop();
|
||||
tenantsService.storeTenant(userService.currentUser.email);
|
||||
|
||||
logger.info('[ROUTES] Main resolver finished!');
|
||||
};
|
||||
|
||||
@ -2065,13 +2065,13 @@
|
||||
"title": "Authentifizierung aktivieren"
|
||||
},
|
||||
"tenant-resolve": {
|
||||
"actions": {
|
||||
"save": "Proceed"
|
||||
"contact-administrator": "",
|
||||
"header": {
|
||||
"first-time": "",
|
||||
"join-another-domain": "",
|
||||
"sign-in-previous-domain": ""
|
||||
},
|
||||
"form": {
|
||||
"tenant-placeholder": "Select a tenant ..."
|
||||
},
|
||||
"header": "Select your Tenant"
|
||||
"input-placeholder": ""
|
||||
},
|
||||
"time": {
|
||||
"days": "{days} {days, plural, one{Tag} other{Tage}}",
|
||||
|
||||
@ -2065,13 +2065,13 @@
|
||||
"title": "Enable Authentication"
|
||||
},
|
||||
"tenant-resolve": {
|
||||
"actions": {
|
||||
"save": "Proceed"
|
||||
"contact-administrator": "Cannot remember the domain's name? <b>Please contact your administrator.</b>",
|
||||
"header": {
|
||||
"first-time": "Sign in for the first time to a domain",
|
||||
"join-another-domain": "Or join another domain",
|
||||
"sign-in-previous-domain": "Sign in to a previously used domain"
|
||||
},
|
||||
"form": {
|
||||
"tenant-placeholder": "Select a tenant ..."
|
||||
},
|
||||
"header": "Select your Tenant"
|
||||
"input-placeholder": "your domain's name"
|
||||
},
|
||||
"time": {
|
||||
"days": "{days} {days, plural, one{day} other{days}}",
|
||||
|
||||
@ -2065,13 +2065,13 @@
|
||||
"title": "Authentifizierung aktivieren"
|
||||
},
|
||||
"tenant-resolve": {
|
||||
"actions": {
|
||||
"save": "Proceed"
|
||||
"contact-administrator": "",
|
||||
"header": {
|
||||
"first-time": "",
|
||||
"join-another-domain": "",
|
||||
"sign-in-previous-domain": ""
|
||||
},
|
||||
"form": {
|
||||
"tenant-placeholder": "Select a tenant ..."
|
||||
},
|
||||
"header": "Select your Tenant"
|
||||
"input-placeholder": ""
|
||||
},
|
||||
"time": {
|
||||
"days": "{days} {days, plural, one{Tag} other{Tage}}",
|
||||
|
||||
@ -2065,13 +2065,13 @@
|
||||
"title": "Enable Authentication"
|
||||
},
|
||||
"tenant-resolve": {
|
||||
"actions": {
|
||||
"save": "Proceed"
|
||||
"contact-administrator": "Cannot remember the domain's name? <b>Please contact your administrator.</b>",
|
||||
"header": {
|
||||
"first-time": "Sign in for the first time to a domain",
|
||||
"join-another-domain": "Or join another domain",
|
||||
"sign-in-previous-domain": "Sign in to a previously used domain"
|
||||
},
|
||||
"form": {
|
||||
"tenant-placeholder": "Select a tenant ..."
|
||||
},
|
||||
"header": "Select your Tenant"
|
||||
"input-placeholder": "your domain's name"
|
||||
},
|
||||
"time": {
|
||||
"days": "{days} {days, plural, one{day} other{days}}",
|
||||
|
||||
@ -1 +1 @@
|
||||
Subproject commit 721d3e3b1a0e933afe76914b1f3b80097e40a6de
|
||||
Subproject commit 223fbe688c512a5473a9e791acbcf694682f6ffa
|
||||
Loading…
x
Reference in New Issue
Block a user