RED-7683: Reset last dossier template in user attrs if doesn't exist

This commit is contained in:
Adina Țeudan 2023-10-19 16:17:48 +03:00
parent d2782f95e0
commit c2e9383a55

View File

@ -7,6 +7,7 @@ import { DossierTemplatesService } from '@services/dossier-templates/dossier-tem
import { DossierTemplateStatsService } from '@services/entity-services/dossier-template-stats.service';
import { NGXLogger } from 'ngx-logger';
import { firstValueFrom } from 'rxjs';
import { UserPreferenceService } from '@users/user-preference.service';
export function templateExistsWhenEnteringAdmin(): CanActivateFn {
return async function (route: ActivatedRouteSnapshot): Promise<boolean> {
@ -29,12 +30,14 @@ export function templateExistsWhenEnteringDossierList(): CanActivateFn {
const logger = inject(NGXLogger);
const router = inject(Router);
const tenantsService = inject(TenantsService);
const userPreferencesService = inject(UserPreferenceService);
await firstValueFrom(dashboardStatsService.loadAll());
await firstValueFrom(dossierTemplatesService.loadAll());
const dossierTemplateStats = dashboardStatsService.find(dossierTemplateId);
if (!dossierTemplateStats || dossierTemplateStats.isEmpty) {
logger.warn(`[ROUTES] Dossier template ${dossierTemplateId} not found, redirecting to main`);
await userPreferencesService.saveLastDossierTemplate(null);
await router.navigate([tenantsService.activeTenantId, 'main']);
return false;
}