diff --git a/apps/red-ui/src/app/modules/archive/archive-routing.module.ts b/apps/red-ui/src/app/modules/archive/archive-routing.module.ts
index 69315fb0d..3d27234d5 100644
--- a/apps/red-ui/src/app/modules/archive/archive-routing.module.ts
+++ b/apps/red-ui/src/app/modules/archive/archive-routing.module.ts
@@ -11,7 +11,13 @@ const routes: Routes = [
path: '',
pathMatch: 'full',
component: ArchivedDossiersScreenComponent,
- data: { breadcrumbs: [BreadcrumbTypes.dossierTemplate] },
+ canActivate: [CompositeRouteGuard],
+ data: {
+ routeGuards: [DossierFilesGuard],
+ breadcrumbs: [BreadcrumbTypes.dossierTemplate],
+ reuse: true,
+ dossiersService: ARCHIVED_DOSSIERS_SERVICE,
+ },
},
{
path: `:${DOSSIER_ID}`,
diff --git a/apps/red-ui/src/app/modules/archive/components/table-item/table-item.component.html b/apps/red-ui/src/app/modules/archive/components/table-item/table-item.component.html
index f9ab61fec..9cd0842c7 100644
--- a/apps/red-ui/src/app/modules/archive/components/table-item/table-item.component.html
+++ b/apps/red-ui/src/app/modules/archive/components/table-item/table-item.component.html
@@ -3,7 +3,7 @@
- {{ dossier.archivedTime | date: 'd MMM yyyy' }}
+ {{ dossier.archivedTime | date : 'd MMM yyyy' }}
@@ -13,20 +13,5 @@
diff --git a/apps/red-ui/src/app/modules/archive/components/table-item/table-item.component.ts b/apps/red-ui/src/app/modules/archive/components/table-item/table-item.component.ts
index 93844afd4..a4b3e1658 100644
--- a/apps/red-ui/src/app/modules/archive/components/table-item/table-item.component.ts
+++ b/apps/red-ui/src/app/modules/archive/components/table-item/table-item.component.ts
@@ -1,11 +1,8 @@
import { ChangeDetectionStrategy, Component, Input, OnChanges } from '@angular/core';
-import { Dossier, DossierStats, User } from '@red/domain';
+import { Dossier, DossierStats } from '@red/domain';
import { BehaviorSubject, Observable } from 'rxjs';
import { DossierStatsService } from '@services/dossiers/dossier-stats.service';
import { switchMap } from 'rxjs/operators';
-import { CircleButtonTypes, getCurrentUser, IqserPermissionsService, ScrollableParentView, ScrollableParentViews } from '@iqser/common-ui';
-import { DossiersDialogService } from '../../../shared-dossiers/services/dossiers-dialog.service';
-import { ROLES } from '@users/roles';
@Component({
selector: 'redaction-table-item [dossier]',
@@ -13,33 +10,17 @@ import { ROLES } from '@users/roles';
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class TableItemComponent implements OnChanges {
- readonly circleButtonTypes = CircleButtonTypes;
- readonly roles = ROLES;
- readonly currentUser = getCurrentUser
();
-
@Input() dossier!: Dossier;
readonly stats$: Observable;
readonly #ngOnChanges$ = new BehaviorSubject(undefined);
- constructor(
- readonly dossierStatsService: DossierStatsService,
- readonly permissionsService: IqserPermissionsService,
- private readonly _dialogService: DossiersDialogService,
- ) {
+ constructor(readonly dossierStatsService: DossierStatsService) {
this.stats$ = this.#ngOnChanges$.pipe(switchMap(dossierId => this.dossierStatsService.watch$(dossierId)));
}
- get scrollableParentView(): ScrollableParentView {
- return ScrollableParentViews.VIRTUAL_SCROLL;
- }
-
ngOnChanges() {
if (this.dossier) {
this.#ngOnChanges$.next(this.dossier.id);
}
}
-
- openEditDossierDialog($event: MouseEvent, dossierId: string): void {
- this._dialogService.openDialog('editDossier', $event, { dossierId });
- }
}
diff --git a/apps/red-ui/src/app/modules/dossiers-listing/components/table-item/table-item.component.html b/apps/red-ui/src/app/modules/dossiers-listing/components/table-item/table-item.component.html
index b8dd19023..e353a06f9 100644
--- a/apps/red-ui/src/app/modules/dossiers-listing/components/table-item/table-item.component.html
+++ b/apps/red-ui/src/app/modules/dossiers-listing/components/table-item/table-item.component.html
@@ -22,6 +22,6 @@
-
+
diff --git a/apps/red-ui/src/app/modules/dossiers-listing/dossiers-listing.module.ts b/apps/red-ui/src/app/modules/dossiers-listing/dossiers-listing.module.ts
index 73bc03d10..afe634317 100644
--- a/apps/red-ui/src/app/modules/dossiers-listing/dossiers-listing.module.ts
+++ b/apps/red-ui/src/app/modules/dossiers-listing/dossiers-listing.module.ts
@@ -1,6 +1,7 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import {
+ CompositeRouteGuard,
IqserButtonsModule,
IqserHelpModeModule,
IqserIconsModule,
@@ -14,7 +15,6 @@ import {
import { TranslateModule } from '@ngx-translate/core';
import { DossiersListingScreenComponent } from './screen/dossiers-listing-screen.component';
import { RouterModule, Routes } from '@angular/router';
-import { DossiersListingActionsComponent } from './components/dossiers-listing-actions/dossiers-listing-actions.component';
import { SharedModule } from '@shared/shared.module';
import { DossiersListingDetailsComponent } from './components/dossiers-listing-details/dossiers-listing-details.component';
import { ConfigService } from './config.service';
@@ -30,15 +30,14 @@ const routes: Routes = [
path: '',
component: DossiersListingScreenComponent,
pathMatch: 'full',
- canActivate: [DossierFilesGuard],
- data: { reuse: true, dossiersService: ACTIVE_DOSSIERS_SERVICE },
+ canActivate: [CompositeRouteGuard],
+ data: { guards: [DossierFilesGuard], reuse: true, dossiersService: ACTIVE_DOSSIERS_SERVICE },
},
];
@NgModule({
declarations: [
DossiersListingScreenComponent,
- DossiersListingActionsComponent,
DossiersListingDetailsComponent,
DossierWorkloadColumnComponent,
TableItemComponent,
diff --git a/apps/red-ui/src/app/modules/dossiers-listing/components/dossiers-listing-actions/dossiers-listing-actions.component.html b/apps/red-ui/src/app/modules/shared-dossiers/components/dossiers-listing-actions/dossiers-listing-actions.component.html
similarity index 100%
rename from apps/red-ui/src/app/modules/dossiers-listing/components/dossiers-listing-actions/dossiers-listing-actions.component.html
rename to apps/red-ui/src/app/modules/shared-dossiers/components/dossiers-listing-actions/dossiers-listing-actions.component.html
diff --git a/apps/red-ui/src/app/modules/dossiers-listing/components/dossiers-listing-actions/dossiers-listing-actions.component.ts b/apps/red-ui/src/app/modules/shared-dossiers/components/dossiers-listing-actions/dossiers-listing-actions.component.ts
similarity index 90%
rename from apps/red-ui/src/app/modules/dossiers-listing/components/dossiers-listing-actions/dossiers-listing-actions.component.ts
rename to apps/red-ui/src/app/modules/shared-dossiers/components/dossiers-listing-actions/dossiers-listing-actions.component.ts
index 0787616f5..e5c21e317 100644
--- a/apps/red-ui/src/app/modules/dossiers-listing/components/dossiers-listing-actions/dossiers-listing-actions.component.ts
+++ b/apps/red-ui/src/app/modules/shared-dossiers/components/dossiers-listing-actions/dossiers-listing-actions.component.ts
@@ -1,8 +1,8 @@
import { ChangeDetectionStrategy, Component, Input, OnChanges } from '@angular/core';
import { PermissionsService } from '@services/permissions.service';
import { CircleButtonTypes, getCurrentUser, IqserPermissionsService, ScrollableParentView, ScrollableParentViews } from '@iqser/common-ui';
-import { Dossier, DossierStats, File, User } from '@red/domain';
-import { DossiersDialogService } from '../../../shared-dossiers/services/dossiers-dialog.service';
+import { Dossier, File, User } from '@red/domain';
+import { DossiersDialogService } from '../../services/dossiers-dialog.service';
import { LongPressEvent } from '@shared/directives/long-press.directive';
import { UserPreferenceService } from '@users/user-preference.service';
import { FilesMapService } from '@services/files/files-map.service';
@@ -11,7 +11,7 @@ import { firstValueFrom } from 'rxjs';
import { ROLES } from '@users/roles';
@Component({
- selector: 'redaction-dossiers-listing-actions',
+ selector: 'redaction-dossiers-listing-actions [dossier]',
templateUrl: './dossiers-listing-actions.component.html',
changeDetection: ChangeDetectionStrategy.OnPush,
})
@@ -25,7 +25,6 @@ export class DossiersListingActionsComponent implements OnChanges {
displayReanalyseBtn = false;
@Input() dossier: Dossier;
- @Input() stats: DossierStats;
constructor(
private readonly _reanalysisService: ReanalysisService,
diff --git a/apps/red-ui/src/app/modules/shared-dossiers/shared-dossiers.module.ts b/apps/red-ui/src/app/modules/shared-dossiers/shared-dossiers.module.ts
index 1db620217..130608f62 100644
--- a/apps/red-ui/src/app/modules/shared-dossiers/shared-dossiers.module.ts
+++ b/apps/red-ui/src/app/modules/shared-dossiers/shared-dossiers.module.ts
@@ -24,6 +24,7 @@ import {
IqserUsersModule,
} from '@iqser/common-ui';
import { TranslateModule } from '@ngx-translate/core';
+import { DossiersListingActionsComponent } from './components/dossiers-listing-actions/dossiers-listing-actions.component';
const components = [
FileActionsComponent,
@@ -34,6 +35,7 @@ const components = [
EditDossierTeamComponent,
FileActionsComponent,
DateColumnComponent,
+ DossiersListingActionsComponent,
];
const dialogs = [EditDossierDialogComponent, AssignReviewerApproverDialogComponent, DictionaryDetailsDialogComponent];
const services = [DossiersDialogService, FileAssignService];
diff --git a/apps/red-ui/src/app/services/permissions.service.ts b/apps/red-ui/src/app/services/permissions.service.ts
index f82d8483e..4b18dd750 100644
--- a/apps/red-ui/src/app/services/permissions.service.ts
+++ b/apps/red-ui/src/app/services/permissions.service.ts
@@ -65,6 +65,7 @@ export class PermissionsService {
displayReanalyseBtn(dossier: Dossier): boolean {
return (
+ dossier.isActive &&
this._iqserPermissionsService.has(ROLES.dossiers.reanalyze) &&
this.isApprover(dossier) &&
!!this._filesMapService.get(dossier.id).find(f => f.analysisRequired)
diff --git a/libs/common-ui b/libs/common-ui
index c91f923bf..f98109ca4 160000
--- a/libs/common-ui
+++ b/libs/common-ui
@@ -1 +1 @@
-Subproject commit c91f923bfa7f138fc865b6576fb8398ae0ac2e8f
+Subproject commit f98109ca45147960805d1ddf28acc59fb50e4955