diff --git a/apps/red-ui/src/app/modules/file-preview/services/file-data.service.ts b/apps/red-ui/src/app/modules/file-preview/services/file-data.service.ts index 2bf2a4e8a..40599598d 100644 --- a/apps/red-ui/src/app/modules/file-preview/services/file-data.service.ts +++ b/apps/red-ui/src/app/modules/file-preview/services/file-data.service.ts @@ -179,8 +179,8 @@ export class FileDataService extends EntitiesService dict.type === entry.type); if (!dictionary && checkDictionary) { - const dictionaryRequest = this._dictionaryService.loadDictionaryDataForDossierTemplate(this._state.dossierTemplateId); - await firstValueFrom(dictionaryRequest); - checkDictionary = false; + const dictionaryRequest = this._dictionaryService.loadDictionaryDataForDossierTemplate( + this._state.dossierTemplateId, + this._state.isReadonly(), + ); + dictionaries = await firstValueFrom(dictionaryRequest); dictionary = dictionaries.find(dict => dict.type === entry.type); + checkDictionary = false; } if (!dictionary) { diff --git a/apps/red-ui/src/app/services/entity-services/dictionary.service.ts b/apps/red-ui/src/app/services/entity-services/dictionary.service.ts index a94c5c167..92efcf4df 100644 --- a/apps/red-ui/src/app/services/entity-services/dictionary.service.ts +++ b/apps/red-ui/src/app/services/entity-services/dictionary.service.ts @@ -48,8 +48,14 @@ export class DictionaryService extends EntitiesService ); } - getAllDictionaries(dossierTemplateId: string, dossierId?: string) { - const queryParams = dossierId ? [{ key: 'dossierId', value: dossierId }] : undefined; + getAllDictionaries(dossierTemplateId: string, readOnly = false, dossierId?: string) { + const queryParams = []; + if (dossierId) { + queryParams.push({ key: 'dossierId', value: dossierId }); + } + if (readOnly) { + queryParams.push({ key: 'includeDeleted', value: true }); + } return this._getOne<{ types: IDictionary[] }>(['type', dossierTemplateId], this._defaultModelPath, queryParams); } @@ -237,8 +243,8 @@ export class DictionaryService extends EntitiesService return forkJoin(observables); } - loadDictionaryDataForDossierTemplate(dossierTemplateId: string): Observable { - return this.getAllDictionaries(dossierTemplateId).pipe( + loadDictionaryDataForDossierTemplate(dossierTemplateId: string, readOnlyFile = false): Observable { + return this.getAllDictionaries(dossierTemplateId, readOnlyFile).pipe( map(typesResponse => typesResponse.types.map(type => new Dictionary(type))), map(dictionaries => { let manualTypeExists = false;