RED-6604: refactoring, fix redirect to last dossier template

This commit is contained in:
George 2023-04-21 15:52:37 +03:00
parent 5449bf8a4e
commit 0518d6aba1
2 changed files with 15 additions and 10 deletions

View File

@ -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<void> = 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<void> = 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!');

@ -1 +1 @@
Subproject commit b024e3ef0b2347a8c3e1e5e511c9a858b8f4989c
Subproject commit cc90d9a561f4cc1cea277b924775b1b0c62dafa5