From d1b620eed9ade88eafc929fe7fc68b5751822fb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adina=20=C8=9Aeudan?= Date: Thu, 2 Jun 2022 15:21:29 +0300 Subject: [PATCH 1/8] RED-4061: allow access to archived dossiers --- apps/red-ui/src/app/guards/dossiers.guard.ts | 17 ++++++++++++- .../dossiers-type-switch.component.html | 25 +++++++++++++------ .../dossiers-type-switch.component.ts | 12 ++++++++- .../dashboard-stats.service.ts | 4 +-- .../dashboard-stats.model.ts | 2 +- 5 files changed, 48 insertions(+), 12 deletions(-) diff --git a/apps/red-ui/src/app/guards/dossiers.guard.ts b/apps/red-ui/src/app/guards/dossiers.guard.ts index d99289967..b54c1b87b 100644 --- a/apps/red-ui/src/app/guards/dossiers.guard.ts +++ b/apps/red-ui/src/app/guards/dossiers.guard.ts @@ -1,15 +1,19 @@ import { Injectable, Injector, ProviderToken } from '@angular/core'; -import { ActivatedRouteSnapshot, CanActivate } from '@angular/router'; +import { ActivatedRouteSnapshot, CanActivate, Router } from '@angular/router'; import { firstValueFrom, forkJoin } from 'rxjs'; import { take } from 'rxjs/operators'; import { ActiveDossiersService } from '@services/dossiers/active-dossiers.service'; import { ArchivedDossiersService } from '@services/dossiers/archived-dossiers.service'; import { DossiersService } from '@services/dossiers/dossiers.service'; +import { ARCHIVE_ROUTE, DOSSIER_TEMPLATE_ID } from '@red/domain'; +import { DashboardStatsService } from '@services/dossier-templates/dashboard-stats.service'; @Injectable({ providedIn: 'root' }) export class DossiersGuard implements CanActivate { constructor( private readonly _injector: Injector, + private readonly _router: Router, + private readonly _dashboardStatsService: DashboardStatsService, private readonly _activeDossiersService: ActiveDossiersService, private readonly _archivedDossiersService: ArchivedDossiersService, ) {} @@ -18,6 +22,17 @@ export class DossiersGuard implements CanActivate { const token: ProviderToken = route.data.dossiersService; if (token) { const dossiersService: DossiersService = this._injector.get(token); + const isArchive = dossiersService.routerPath === ARCHIVE_ROUTE; + const dossierTemplateId = route.paramMap.get(DOSSIER_TEMPLATE_ID); + const dossierTemplateStats = this._dashboardStatsService.find(dossierTemplateId); + if (isArchive && dossierTemplateStats.numberOfArchivedDossiers === 0) { + await this._router.navigate(['main', dossierTemplateId, 'dossiers']); + return false; + } + if (!isArchive && dossierTemplateStats.numberOfActiveDossiers === 0) { + await this._router.navigate(['main', dossierTemplateId, 'archive']); + return false; + } await firstValueFrom(dossiersService.loadAll()); } else { const services = [this._archivedDossiersService, this._activeDossiersService]; diff --git a/apps/red-ui/src/app/modules/shared/components/dossiers-type-switch/dossiers-type-switch.component.html b/apps/red-ui/src/app/modules/shared/components/dossiers-type-switch/dossiers-type-switch.component.html index 885248299..ee5f38690 100644 --- a/apps/red-ui/src/app/modules/shared/components/dossiers-type-switch/dossiers-type-switch.component.html +++ b/apps/red-ui/src/app/modules/shared/components/dossiers-type-switch/dossiers-type-switch.component.html @@ -1,9 +1,20 @@ - - {{ 'dossiers-type-switch.active' | translate }} - - - - {{ 'dossiers-type-switch.archive' | translate }} - + + + +
diff --git a/apps/red-ui/src/app/modules/shared/components/dossiers-type-switch/dossiers-type-switch.component.ts b/apps/red-ui/src/app/modules/shared/components/dossiers-type-switch/dossiers-type-switch.component.ts index 0dbafe7bf..558b12b3c 100644 --- a/apps/red-ui/src/app/modules/shared/components/dossiers-type-switch/dossiers-type-switch.component.ts +++ b/apps/red-ui/src/app/modules/shared/components/dossiers-type-switch/dossiers-type-switch.component.ts @@ -1,5 +1,8 @@ import { ChangeDetectionStrategy, Component } from '@angular/core'; -import { ARCHIVE_ROUTE, DOSSIERS_ROUTE } from '@red/domain'; +import { ARCHIVE_ROUTE, DashboardStats, DOSSIER_TEMPLATE_ID, DOSSIERS_ROUTE } from '@red/domain'; +import { DashboardStatsService } from '@services/dossier-templates/dashboard-stats.service'; +import { ActivatedRoute } from '@angular/router'; +import { Observable } from 'rxjs'; @Component({ selector: 'redaction-dossiers-type-switch', @@ -10,4 +13,11 @@ import { ARCHIVE_ROUTE, DOSSIERS_ROUTE } from '@red/domain'; export class DossiersTypeSwitchComponent { readonly DOSSIERS_ROUTE = DOSSIERS_ROUTE; readonly ARCHIVE_ROUTE = ARCHIVE_ROUTE; + + readonly dossierTemplate$: Observable; + + constructor(private readonly _dashboardStatsService: DashboardStatsService, private readonly _route: ActivatedRoute) { + const dossierTemplateId = _route.snapshot.paramMap.get(DOSSIER_TEMPLATE_ID); + this.dossierTemplate$ = _dashboardStatsService.getEntityChanged$(dossierTemplateId); + } } diff --git a/apps/red-ui/src/app/services/dossier-templates/dashboard-stats.service.ts b/apps/red-ui/src/app/services/dossier-templates/dashboard-stats.service.ts index 24a1687ef..75c248f89 100644 --- a/apps/red-ui/src/app/services/dossier-templates/dashboard-stats.service.ts +++ b/apps/red-ui/src/app/services/dossier-templates/dashboard-stats.service.ts @@ -7,9 +7,9 @@ import { map, switchMap, tap } from 'rxjs/operators'; import { DossierStatesService } from '../entity-services/dossier-states.service'; const templatesSorter = (a: DashboardStats, b: DashboardStats) => { - if (a.numberOfActiveDossiers > 0 && b.numberOfActiveDossiers === 0) { + if (!a.isEmpty && b.isEmpty) { return -1; - } else if (a.numberOfActiveDossiers === 0 && b.numberOfActiveDossiers > 0) { + } else if (a.isEmpty && !b.isEmpty) { return 1; } else { return 0; diff --git a/libs/red-domain/src/lib/dossier-templates/dashboard-stats.model.ts b/libs/red-domain/src/lib/dossier-templates/dashboard-stats.model.ts index a05c19f15..a44c9c7f7 100644 --- a/libs/red-domain/src/lib/dossier-templates/dashboard-stats.model.ts +++ b/libs/red-domain/src/lib/dossier-templates/dashboard-stats.model.ts @@ -41,7 +41,7 @@ export class DashboardStats implements IListable, IDashboardStats { } get isEmpty(): boolean { - return this.numberOfActiveDossiers === 0; + return this.numberOfActiveDossiers === 0 && this.numberOfArchivedDossiers === 0; } get id(): string { From 90b9f229b752b2c47d66f2609241e3c5dfac78ca Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Thu, 2 Jun 2022 14:23:48 +0200 Subject: [PATCH 2/8] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3293 -> 3291 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 260ba5e73..d71753186 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.514.0", + "version": "3.515.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 64f74c31d15f966217810ec5454c7111ce410340..2b6c7d327bc5e0d8628e0d77e32aa77839d29a96 100644 GIT binary patch delta 3204 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°{NOp8>0#I%|Dwd%QDjN-zT1A75*nDf}je*!%JA1;iZ- zvl>65n3x-=a%? ztsn7g{g(?=!^5gcMTM39nRi?Td8xBN;$;bMvdZnN+^)*&tGuqt@2mW-D(I_%u4>g+ ztz=c%J*$yNn9I5r_nG^=6MtPFx4k Date: Thu, 2 Jun 2022 15:37:44 +0300 Subject: [PATCH 3/8] RED-3800: allow paths to skip server error interceptor --- apps/red-ui/src/app/app.module.ts | 5 ++ .../src/app/services/license.service.ts | 34 +++++++++++- .../app/utils/configuration.initializer.ts | 52 +++++++++---------- libs/common-ui | 2 +- 4 files changed, 63 insertions(+), 30 deletions(-) diff --git a/apps/red-ui/src/app/app.module.ts b/apps/red-ui/src/app/app.module.ts index 67aa30345..f40766fdc 100644 --- a/apps/red-ui/src/app/app.module.ts +++ b/apps/red-ui/src/app/app.module.ts @@ -36,6 +36,7 @@ import { IqserHelpModeModule, MANUAL_BASE_URL, MAX_RETRIES_ON_SERVER_ERROR, + SERVER_ERROR_SKIP_PATHS, ServerErrorInterceptor, ToastComponent, } from '@iqser/common-ui'; @@ -203,6 +204,10 @@ const components = [AppComponent, AuthErrorComponent, NotificationsComponent, Sp useFactory: (configService: ConfigService) => configService.values.MAX_RETRIES_ON_SERVER_ERROR, deps: [ConfigService], }, + { + provide: SERVER_ERROR_SKIP_PATHS, + useValue: ['redaction-gateway-v1/license'], + }, { provide: ACTIVE_DOSSIERS_SERVICE, useExisting: ActiveDossiersService, diff --git a/apps/red-ui/src/app/services/license.service.ts b/apps/red-ui/src/app/services/license.service.ts index bbc30a2db..931ad9cec 100644 --- a/apps/red-ui/src/app/services/license.service.ts +++ b/apps/red-ui/src/app/services/license.service.ts @@ -1,9 +1,9 @@ import { Injectable, Injector } from '@angular/core'; import { GenericService, QueryParam, RequiredParam, Validate } from '@iqser/common-ui'; import { ILicense, ILicenseReport, ILicenseReportRequest, ILicenses } from '@red/domain'; -import { BehaviorSubject, firstValueFrom, Observable } from 'rxjs'; +import { BehaviorSubject, firstValueFrom, Observable, of } from 'rxjs'; import { ConfigService } from './config.service'; -import { filter, tap } from 'rxjs/operators'; +import { catchError, filter, tap } from 'rxjs/operators'; import { LICENSE_STORAGE_KEY } from '../modules/admin/screens/license/utils/constants'; export function getStoredReports() { @@ -11,6 +11,35 @@ export function getStoredReports() { return JSON.parse(rawStoredReports ?? '{}') as Record; } +const defaultOnError: ILicenses = { + activeLicense: 'err', + licenses: [ + { + id: 'err', + name: 'Error', + product: 'Error', + licensedTo: 'Error', + licensedToEmail: 'Error', + validFrom: '01-01-2022', + validUntil: '01-01-2023', + features: [ + { + name: 'processingPages', + type: 'NUMBER', + value: '2000000', + }, + { + name: 'pdftron', + type: 'STRING', + value: + 'S25lY29uIEFHKGVuLmtuZWNvbi5zd2lzcyk6T0VNOkREQS1SOjpCKzpBTVMoMj' + + 'AyMjEwMjkpOkZGQ0M0RDMzMDdEQUI0RjM4QjMxM0JDOUIyNDMzODJDNEU2RjZGQ0I4M0NEOEFDNTc0MzU4QTk1OTczMEI2MjJGQUJFRjVDNw==', + }, + ], + }, + ], +}; + @Injectable({ providedIn: 'root', }) @@ -77,6 +106,7 @@ export class LicenseService extends GenericService { loadLicense() { return this._http.get('/license').pipe( + catchError(() => of(defaultOnError)), tap(licenses => this.#licenseData$.next(licenses)), tap(() => this.setDefaultSelectedLicense()), ); diff --git a/apps/red-ui/src/app/utils/configuration.initializer.ts b/apps/red-ui/src/app/utils/configuration.initializer.ts index cbdaea949..c50088029 100644 --- a/apps/red-ui/src/app/utils/configuration.initializer.ts +++ b/apps/red-ui/src/app/utils/configuration.initializer.ts @@ -32,31 +32,29 @@ export function configurationInitializer( userPreferenceService: UserPreferenceService, licenseService: LicenseService, ) { - return () => - firstValueFrom( - keycloakService.keycloakEvents$.pipe( - filter(event => event.type === KeycloakEventType.OnReady), - map(() => featuresService.loadConfig()), - switchMap(() => from(keycloakService.isLoggedIn())), - switchMap(loggedIn => (!loggedIn ? throwError('Not Logged In') : of({}))), - switchMap(() => from(userService.loadCurrentUser())), - switchMap(user => (!user.hasAnyREDRoles ? throwError('Not user has no red roles') : of({}))), - mergeMap(() => generalSettingsService.getGeneralConfigurations()), - tap(configuration => configService.updateDisplayName(configuration.displayName)), - switchMap(() => systemPreferencesService.loadPreferences()), - switchMap(() => userPreferenceService.reload()), - catchError(e => { - console.log('[Redaction] Initialization error:', e); - title.setTitle('RedactManager'); - return of({}); - }), - tap(() => { - lastDossierTemplateRedirect(baseHref.replace('/', ''), userPreferenceService); - }), - switchMap(() => languageService.chooseAndSetInitialLanguage()), - tap(() => userService.initialize()), - tap(() => firstValueFrom(licenseService.loadLicense())), - take(1), - ), - ); + const setup = keycloakService.keycloakEvents$.pipe( + filter(event => event.type === KeycloakEventType.OnReady), + map(() => featuresService.loadConfig()), + switchMap(() => from(keycloakService.isLoggedIn())), + switchMap(loggedIn => (!loggedIn ? throwError('Not Logged In') : of({}))), + switchMap(() => from(userService.loadCurrentUser())), + switchMap(user => (!user.hasAnyREDRoles ? throwError('Not user has no red roles') : of({}))), + mergeMap(() => generalSettingsService.getGeneralConfigurations()), + tap(configuration => configService.updateDisplayName(configuration.displayName)), + switchMap(() => systemPreferencesService.loadPreferences()), + switchMap(() => userPreferenceService.reload()), + catchError(e => { + console.log('[Redaction] Initialization error:', e); + title.setTitle('RedactManager'); + return of({}); + }), + tap(() => { + lastDossierTemplateRedirect(baseHref.replace('/', ''), userPreferenceService); + }), + switchMap(() => languageService.chooseAndSetInitialLanguage()), + tap(() => userService.initialize()), + tap(() => firstValueFrom(licenseService.loadLicense())), + take(1), + ); + return () => firstValueFrom(setup); } diff --git a/libs/common-ui b/libs/common-ui index 4aad2e33a..a814fc8aa 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit 4aad2e33adc673deb8d4017445bb3064e124dbd1 +Subproject commit a814fc8aa7a16c9acdaa9b7dd749e4493a54e1c2 From 3488c75ac9d6432961fdd69a0df4ca3a03534c22 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Thu, 2 Jun 2022 14:40:11 +0200 Subject: [PATCH 4/8] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3291 -> 3292 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d71753186..c8fefb5ed 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.515.0", + "version": "3.516.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 2b6c7d327bc5e0d8628e0d77e32aa77839d29a96..fefae0c4b2ee28f7393e68ddd4b7fffe4170e7cc 100644 GIT binary patch delta 3172 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 From 7dbc21c7bf344c2de4a3569dce5986848cb9558e Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Thu, 2 Jun 2022 16:01:32 +0300 Subject: [PATCH 5/8] RED-4110: fix input overflow --- .../compare-file-input/compare-file-input.component.scss | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/apps/red-ui/src/app/modules/pdf-viewer/components/compare-file-input/compare-file-input.component.scss b/apps/red-ui/src/app/modules/pdf-viewer/components/compare-file-input/compare-file-input.component.scss index f7b447bfe..96e45c5ee 100644 --- a/apps/red-ui/src/app/modules/pdf-viewer/components/compare-file-input/compare-file-input.component.scss +++ b/apps/red-ui/src/app/modules/pdf-viewer/components/compare-file-input/compare-file-input.component.scss @@ -4,3 +4,8 @@ height: 0; visibility: hidden; } + +input { + position: absolute; + right: 300px; +} From dbd1da8f168c2361ac95d8b8c01e54ae9b0d3339 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Thu, 2 Jun 2022 15:03:55 +0200 Subject: [PATCH 6/8] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3292 -> 3292 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c8fefb5ed..6506747d0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.516.0", + "version": "3.517.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index fefae0c4b2ee28f7393e68ddd4b7fffe4170e7cc..452078a58b940504f1ff9ed1298055d556b9780b 100644 GIT binary patch delta 3203 zcmV-}41Dw48Qd9=cz-WSeCl{;e9Ny=bF|ErC-+x};;qvnO#l@22hchcBI3^YP`vpSpESksU?G`yN;438* z=HDVeu*QLFN+m3r&?PzYXqJ+U4tu8DWEB1i35oy$Y)&y5kDiGP@ zx7HnvSqiXhTLrd7xM2nVE{mEnT0l)jGR){3avJuseScaBC0Q(HlCwCr{V4|;78U0s za>}=;E;1UUPhu|)Vti<{Djd_M2FhE!417+KV zc(o@n#i+=$dsIgiAvwZ%jINX=vgYgUTEH@|YfXZ_+w#G@wg-|8gz$<$uGX(IjdrhnES#tbvdK8bQ3klMII> zlZNPE)m*9ijJ#zQ4<|tNBGM{^3Ctvbfmv)dW;A+9^IU33XZnPMz5~Zjll!ipih}`& z$`4st>uZl=B~7!@{t=h>{t&w9Xy# z&VTb6k@|<8jIxX@W)B5x7Ks{GMD5t2sGfiZ!cRg38}0a$@M-PU)38!(-q^;9RTYz{ zsBml5K@~{FjnQK;pOA`T{@l&Xz{XoiYcq4|CL6ESevv&&9Wtsx@_Vl`d;B(`Rn4p@ zrP9-CX2^aVVE`_}CTOF$Za#gwhIYnSkAE~)hDgKpA3v2r?G6)u9JNb*1g0vVzdV4a zYOF33fzBL$04o*7(L5y;Wh378_28_Ye}=xKc}6H}@*Vo@`Na|-TR;NIEJwwx_cE7% zOKf|6*^T~dQQan4aW@$2PLACK{n)<%vzr=nvv)8##4|bwZwiEC-}E59AbG>yk$-AW z^7lV*nIWsJiiBnZVE!Ch02q$aibg4;I}=L5B$UMKp?uRsY0~7kA`a2VuconZ`|)3f zB!`)4j(FtO5m@;3

d5Ekty$+m%B7P+$UcdhVBvo@A8p4@g z6CUp2{4N6=@rb<1#bCSf0f*oG>EHkOXN|7X_un@O-4XOv1?rJs51~!3hJQd(q-QEt zMd~JFQ!#WBz`u1nP7dHeG40}3>Hd00;n>ns9GRzgnLJH^=+16^-$j$jIoiIpk{?Wj ztB(yyRUhfOEuy1YJ3>>isTsGciuL7ti`;})dz=ZJGpdaSP2TGgI;Ukxn8q+36SR@l^k}I}R#-s} z997Letc|{3(ZZxCm~al zSV$|s+*88vZ*h=SN7 z+NhG|w=Gv3H-CsV8KopE_eD$&W=U{gdMR%0Y8sOePwxL7RK1QWh}WTO*Y*ZiS4Wo6 zwbr3sAlEt|X-rv4bKU>}-UB)Z(yi4{+3T3GFljUzp!&sZKl0 zX;B{KKaLV3pQKI+S*6rZAaeXnsdFVpAUNU&s1U*p>H1(m`VOB=ytL$ipN1QOyyV+j z9fXdD8GlLC&~$20lN}r0rFAog9|z?3i7YE3wA^L)W!fJ%2^|RJOuStJQhEDwI7n4H z{{Xz`4P{uowdxed#ogi5W8 zU1vxQ`6lK_<2>7_#$EM*cM?duQWx4M-;$qk&S1LfvNCL3I5*1quh=w6iV6^G%92zO zu7Al8yV;v9$}y;6^F^buKZhI8sVMz16@SF_2X&t$N=bB^(VFqi6#{IkFeiHEJq#gL z35jQ+z#kw0@?L)2+DD8FzE#<9NbtsJIo1o;tQYP;FNBhbbs*kWCqkp1>C&<*!B(#> z6Za4#F>+T`(scOhNjp?Y3J(=PsJDzHCA zmN+oKRtZ3+K=#Mi8fOZ>i6QoWe0u?L#{#Va zzVYMu*Q3cma;3(6gGn|kx4PNR?_|eo@8Wieaotd zNDSI7vcF}`NO|IV_C#ptm;#b9?{xO}TO6+&Qun!qG5P9yyhJP>xk7Q)XnzZ@f(-pf z9PH9$8UOW0Gof$!I+yvZ%#T`!jJ6CWBdmvPJf-eLcp=l&b0b2*oD pIhS)emvcFnb2*oDIhS)emvcFnb2*oDIhX&%@*iHw9tr?Z002xQJi!0} delta 3203 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 Date: Fri, 3 Jun 2022 15:24:11 +0300 Subject: [PATCH 7/8] RED-4161: use null chaining operator --- apps/red-ui/src/app/guards/dossiers.guard.ts | 34 +++++++++++--------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/apps/red-ui/src/app/guards/dossiers.guard.ts b/apps/red-ui/src/app/guards/dossiers.guard.ts index b54c1b87b..1476110b7 100644 --- a/apps/red-ui/src/app/guards/dossiers.guard.ts +++ b/apps/red-ui/src/app/guards/dossiers.guard.ts @@ -20,25 +20,29 @@ export class DossiersGuard implements CanActivate { async canActivate(route: ActivatedRouteSnapshot): Promise { const token: ProviderToken = route.data.dossiersService; - if (token) { - const dossiersService: DossiersService = this._injector.get(token); - const isArchive = dossiersService.routerPath === ARCHIVE_ROUTE; - const dossierTemplateId = route.paramMap.get(DOSSIER_TEMPLATE_ID); - const dossierTemplateStats = this._dashboardStatsService.find(dossierTemplateId); - if (isArchive && dossierTemplateStats.numberOfArchivedDossiers === 0) { - await this._router.navigate(['main', dossierTemplateId, 'dossiers']); - return false; - } - if (!isArchive && dossierTemplateStats.numberOfActiveDossiers === 0) { - await this._router.navigate(['main', dossierTemplateId, 'archive']); - return false; - } - await firstValueFrom(dossiersService.loadAll()); - } else { + if (!token) { const services = [this._archivedDossiersService, this._activeDossiersService]; const loading$ = forkJoin(services.map(service => service.loadAll().pipe(take(1)))); await firstValueFrom(loading$); + return true; } + + const dossiersService: DossiersService = this._injector.get(token); + const isArchive = dossiersService.routerPath === ARCHIVE_ROUTE; + const dossierTemplateId = route.paramMap.get(DOSSIER_TEMPLATE_ID); + const dossierTemplateStats = this._dashboardStatsService.find(dossierTemplateId); + + if (isArchive && dossierTemplateStats?.numberOfArchivedDossiers === 0) { + await this._router.navigate(['main', dossierTemplateId, 'dossiers']); + return false; + } + + if (!isArchive && dossierTemplateStats?.numberOfActiveDossiers === 0) { + await this._router.navigate(['main', dossierTemplateId, 'archive']); + return false; + } + + await firstValueFrom(dossiersService.loadAll()); return true; } } From a69db6f17a8c21f7693f7640766f6302cde70712 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Fri, 3 Jun 2022 14:26:50 +0200 Subject: [PATCH 8/8] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3292 -> 3291 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6506747d0..caed5b64e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.517.0", + "version": "3.518.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 452078a58b940504f1ff9ed1298055d556b9780b..510b03fa67b338b598336ad5776999f3f52bc517 100644 GIT binary patch delta 3203 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