Merge branch 'VM/RED-9580' into 'master'
RED-9580 - added getOne method for stats service to call new users stats... Closes RED-9580 See merge request redactmanager/red-ui!765
This commit is contained in:
commit
82552b1748
@ -22,6 +22,8 @@ import { ConfigureCertificateDialogComponent } from '../dialogs/configure-digita
|
||||
import { EditColorDialogComponent } from '../dialogs/edit-color-dialog/edit-color-dialog.component';
|
||||
import { SmtpAuthDialogComponent } from '../dialogs/smtp-auth-dialog/smtp-auth-dialog.component';
|
||||
import { UploadDictionaryDialogComponent } from '../dialogs/upload-dictionary-dialog/upload-dictionary-dialog.component';
|
||||
import { UserStatsService } from './user-stats.service';
|
||||
import { result } from 'lodash-es';
|
||||
|
||||
type DialogType =
|
||||
| 'confirm'
|
||||
@ -73,19 +75,26 @@ export class AdminDialogService extends DialogService<DialogType> {
|
||||
private readonly _activeDossiersService: ActiveDossiersService,
|
||||
private readonly _loadingService: LoadingService,
|
||||
private readonly _userService: UserService,
|
||||
private readonly _userStatsService: UserStatsService,
|
||||
private readonly _reportTemplateService: ReportTemplateService,
|
||||
) {
|
||||
super(_dialog);
|
||||
}
|
||||
|
||||
deleteUsers(userIds: string[], cb?: () => Promise<void> | void): void {
|
||||
async deleteUsers(userIds: string[], cb?: () => Promise<void> | void): Promise<void> {
|
||||
const userStats = await firstValueFrom(this._userStatsService.getOne(userIds[0]));
|
||||
|
||||
const data: IConfirmationDialogData = {
|
||||
title: _('confirm-delete-users.title'),
|
||||
question: _('confirm-delete-users.warning'),
|
||||
confirmationText: _('confirm-delete-users.delete'),
|
||||
denyText: _('confirm-delete-users.cancel'),
|
||||
titleColor: TitleColors.WARN,
|
||||
translateParams: { usersCount: 1, dossiersCount: this._getUsersDossiersCount(userIds) },
|
||||
translateParams: {
|
||||
usersCount: 1,
|
||||
dossiersCount: userStats.numberOfDossierOwnerships,
|
||||
documentsCount: userStats.numberOfAssignedFiles,
|
||||
},
|
||||
checkboxes: [
|
||||
{ value: false, label: _('confirm-delete-users.impacted-dossiers') },
|
||||
{ value: false, label: _('confirm-delete-users.impacted-documents') },
|
||||
|
||||
@ -0,0 +1,10 @@
|
||||
import { StatsService } from '@iqser/common-ui';
|
||||
import { IUserStats, USER_ID, UserStats } from '@red/domain';
|
||||
import { Injectable } from '@angular/core';
|
||||
|
||||
@Injectable({ providedIn: 'root' })
|
||||
export class UserStatsService extends StatsService<UserStats, IUserStats> {
|
||||
protected readonly _primaryKey = USER_ID;
|
||||
protected readonly _entityClass = UserStats;
|
||||
protected readonly _defaultModelPath = 'user-stats';
|
||||
}
|
||||
@ -1,6 +1,6 @@
|
||||
import { inject, Injectable } from '@angular/core';
|
||||
import { StatsService } from '@iqser/common-ui';
|
||||
import { DashboardStats, DOSSIER_ID, DossierStats, IDossierStats } from '@red/domain';
|
||||
import { DOSSIER_ID, DossierStats, IDossierStats } from '@red/domain';
|
||||
import { Observable, of } from 'rxjs';
|
||||
import { UserService } from '@users/user.service';
|
||||
import { NGXLogger } from 'ngx-logger';
|
||||
|
||||
@ -642,7 +642,7 @@
|
||||
"confirm-delete-users": {
|
||||
"cancel": "Keep {usersCount, plural, one{user} other{users}}",
|
||||
"delete": "Delete {usersCount, plural, one{user} other{users}}",
|
||||
"impacted-documents": "All documents pending review from the {usersCount, plural, one{user} other{users}} will be impacted",
|
||||
"impacted-documents": "{documentsCount} {documentsCount, plural, one{document} other{documents}} will be impacted",
|
||||
"impacted-dossiers": "{dossiersCount} {dossiersCount, plural, one{dossier} other{dossiers}} will be impacted",
|
||||
"title": "Delete {usersCount, plural, one{user} other{users}} from workspace",
|
||||
"toast-error": "Please confirm that you understand the consequences of this action.",
|
||||
|
||||
@ -642,7 +642,7 @@
|
||||
"confirm-delete-users": {
|
||||
"cancel": "Keep {usersCount, plural, one{user} other{users}}",
|
||||
"delete": "Delete {usersCount, plural, one{user} other{users}}",
|
||||
"impacted-documents": "All documents pending review from the {usersCount, plural, one{user} other{users}} will be impacted",
|
||||
"impacted-documents": "{documentsCount} {documentsCount, plural, one{document} other{documents}} will be impacted",
|
||||
"impacted-dossiers": "{dossiersCount} {dossiersCount, plural, one{dossier} other{dossiers}} will be impacted",
|
||||
"title": "Delete {usersCount, plural, one{user} other{users}} from workspace",
|
||||
"toast-error": "Please confirm that you understand the consequences of this action.",
|
||||
|
||||
@ -1 +1 @@
|
||||
Subproject commit 58382ddfeed1d6d4d61f03abd1bbb0dd840afa94
|
||||
Subproject commit fc8be33dc6d33642ae207b6ae4c17a6ec254d11a
|
||||
1
libs/red-domain/src/lib/users/constants.ts
Normal file
1
libs/red-domain/src/lib/users/constants.ts
Normal file
@ -0,0 +1 @@
|
||||
export const USER_ID = 'userId';
|
||||
@ -1,3 +1,6 @@
|
||||
export * from './user.model';
|
||||
export * from './profile';
|
||||
export * from './types';
|
||||
export * from './user-stats';
|
||||
export * from './user-stats.model';
|
||||
export * from './constants';
|
||||
|
||||
13
libs/red-domain/src/lib/users/user-stats.model.ts
Normal file
13
libs/red-domain/src/lib/users/user-stats.model.ts
Normal file
@ -0,0 +1,13 @@
|
||||
import { IUserStats } from './user-stats';
|
||||
|
||||
export class UserStats implements IUserStats {
|
||||
readonly numberOfDossierMemberships: number;
|
||||
readonly numberOfDossierOwnerships: number;
|
||||
readonly numberOfAssignedFiles: number;
|
||||
|
||||
constructor(userStats: IUserStats) {
|
||||
this.numberOfAssignedFiles = userStats.numberOfAssignedFiles;
|
||||
this.numberOfDossierOwnerships = userStats.numberOfAssignedFiles;
|
||||
this.numberOfAssignedFiles = userStats.numberOfAssignedFiles;
|
||||
}
|
||||
}
|
||||
5
libs/red-domain/src/lib/users/user-stats.ts
Normal file
5
libs/red-domain/src/lib/users/user-stats.ts
Normal file
@ -0,0 +1,5 @@
|
||||
export interface IUserStats {
|
||||
numberOfDossierMemberships: number;
|
||||
numberOfDossierOwnerships: number;
|
||||
numberOfAssignedFiles: number;
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user