From 0518d6aba10e013fc5fa89ebc3efbf6b19dcf3a6 Mon Sep 17 00:00:00 2001 From: George Date: Fri, 21 Apr 2023 15:52:37 +0300 Subject: [PATCH] RED-6604: refactoring, fix redirect to last dossier template --- apps/red-ui/src/app/utils/main.resolver.ts | 23 +++++++++++++--------- libs/common-ui | 2 +- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/apps/red-ui/src/app/utils/main.resolver.ts b/apps/red-ui/src/app/utils/main.resolver.ts index ff29c043e..45902d090 100644 --- a/apps/red-ui/src/app/utils/main.resolver.ts +++ b/apps/red-ui/src/app/utils/main.resolver.ts @@ -5,7 +5,7 @@ import { UserService } from '@users/user.service'; import { SystemPreferencesService } from '@services/system-preferences.service'; import { UserPreferenceService } from '@users/user-preference.service'; import { LicenseService } from '@services/license.service'; -import { BASE_HREF, IqserPermissionsService, LoadingService } from '@iqser/common-ui'; +import { BASE_HREF, IqserPermissionsService, LoadingService, TenantContextHolder } from '@iqser/common-ui'; import { FeaturesService } from '@services/features.service'; import { GeneralSettingsService } from '@services/general-settings.service'; import { tap } from 'rxjs/operators'; @@ -14,11 +14,10 @@ import { ROLES } from '@users/roles'; import { DossiersChangesService } from '@services/dossiers/dossier-changes.service'; import { ResolveFn } from '@angular/router'; -function lastDossierTemplateRedirect(baseHref: string, userPreferenceService: UserPreferenceService) { - const url = window.location.href.split('/').filter(s => s.length > 0); - const lastDossierTemplate = userPreferenceService.getLastDossierTemplate(); - if (lastDossierTemplate && [baseHref, 'main'].includes(url[url.length - 1])) { - window.location.href = `/${baseHref}/main/${lastDossierTemplate}`; +function redirectToLastDossierTemplate(baseHref: string, tenant: string, lastDossierTemplate: string) { + const lastUrlSegment = window.location.pathname.split('/').filter(Boolean).pop(); + if (['main', tenant, baseHref].includes(lastUrlSegment)) { + window.location.assign(tenant + '/main/' + lastDossierTemplate); } } @@ -31,12 +30,13 @@ export const mainResolver: ResolveFn = async () => { inject(DossiersChangesService).initialize(); } - const configService = inject(ConfigService); - const userService = inject(UserService); const systemPreferencesService = inject(SystemPreferencesService); const userPreferenceService = inject(UserPreferenceService); + const tenantContextHolder = inject(TenantContextHolder); const licenseService = inject(LicenseService); const loadingService = inject(LoadingService); + const configService = inject(ConfigService); + const userService = inject(UserService); const baseHref = inject(BASE_HREF); const generalConfig$ = inject(GeneralSettingsService).getGeneralConfigurations(); @@ -50,7 +50,12 @@ export const mainResolver: ResolveFn = async () => { licenseService.loadLicenses(), ]); - lastDossierTemplateRedirect(baseHref, userPreferenceService); + const lastDossierTemplate = userPreferenceService.getLastDossierTemplate(); + + if (lastDossierTemplate) { + redirectToLastDossierTemplate(baseHref, tenantContextHolder.currentTenant, lastDossierTemplate); + } + loadingService.stop(); logger.info('[ROUTES] Main resolver finished!'); diff --git a/libs/common-ui b/libs/common-ui index b024e3ef0..cc90d9a56 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit b024e3ef0b2347a8c3e1e5e511c9a858b8f4989c +Subproject commit cc90d9a561f4cc1cea277b924775b1b0c62dafa5