RED-7054 fix not found http errors

This commit is contained in:
Dan Percic 2023-07-07 12:08:19 +03:00
parent f20f7d3801
commit 0c0d72aef1
4 changed files with 45 additions and 30 deletions

View File

@ -144,15 +144,11 @@ export class EditDossierGeneralInfoComponent implements OnInit, EditDossierSecti
this._dialogService.openDialog('confirm', data, async () => {
this._loadingService.start();
await firstValueFrom(this._trashService.deleteDossier(this.dossier));
this._editDossierDialogRef.close();
await this._router.navigate([`/${this._tenantsService.activeTenantId}${this.dossier.dossiersListRouterLink}`]);
const successful = await this._trashService.deleteDossier(this.dossier);
if (successful) {
await this.#closeDialogAndRedirectToDossier();
}
this._loadingService.stop();
this._toaster.success(_('edit-dossier-dialog.delete-successful'), {
params: {
dossierName: this.dossier.dossierName,
},
});
});
}
@ -193,6 +189,16 @@ export class EditDossierGeneralInfoComponent implements OnInit, EditDossierSecti
return this._dossierStatesMapService.get(this.dossier.dossierTemplateId, stateId).color;
}
async #closeDialogAndRedirectToDossier() {
this._editDossierDialogRef.close();
await this._router.navigate([`/${this._tenantsService.activeTenantId}${this.dossier.dossiersListRouterLink}`]);
this._toaster.success(_('edit-dossier-dialog.delete-successful'), {
params: {
dossierName: this.dossier.dossierName,
},
});
}
#getForm(): UntypedFormGroup {
const formFieldWithArchivedCheck = value => ({ value, disabled: !this.dossier.isActive });
return this._formBuilder.group({

View File

@ -2,7 +2,7 @@ import { Injectable } from '@angular/core';
import { EntitiesService, QueryParam, Toaster } from '@iqser/common-ui';
import { Dossier, File, IDossier, IFile, TrashDossier, TrashFile, TrashItem } from '@red/domain';
import { catchError, switchMap, take, tap } from 'rxjs/operators';
import { forkJoin, map, Observable, of } from 'rxjs';
import { firstValueFrom, forkJoin, map, Observable, of } from 'rxjs';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { PermissionsService } from '../permissions.service';
import { ActiveDossiersService } from '../dossiers/active-dossiers.service';
@ -31,18 +31,20 @@ export class TrashService extends EntitiesService<TrashItem, TrashItem> {
super();
}
deleteDossier(dossier: Dossier): Observable<unknown> {
deleteDossier(dossier: Dossier) {
const showToast = () => {
this._toaster.error(_('dossier-listing.delete.delete-failed'), { params: { dossierName: dossier.dossierName } });
return of({});
return of(undefined);
};
const reloadDossiers$ = dossier.isActive ? this._activeDossiersService.loadAll() : this._archivedDossiersService.loadAll();
return this.delete(dossier.id, 'dossier').pipe(
const request$ = this.delete(dossier.id, 'dossier').pipe(
switchMap(() => reloadDossiers$),
catchError(showToast),
);
return firstValueFrom(request$);
}
restore(items: TrashItem[]): Observable<unknown> {

View File

@ -1,4 +1,4 @@
import { Injectable } from '@angular/core';
import { inject, Injectable } from '@angular/core';
import { GenericService } from '@iqser/common-ui';
import { ILicense, ILicenseReport, ILicenseReportRequest, ILicenses } from '@red/domain';
import { BehaviorSubject, firstValueFrom, Observable, of } from 'rxjs';
@ -39,6 +39,10 @@ const defaultOnError: ILicenses = {
providedIn: 'root',
})
export class LicenseService extends GenericService<ILicenseReport> {
readonly #licenseData$ = new BehaviorSubject<ILicenses | undefined>(undefined);
readonly #selectedLicense$ = new BehaviorSubject<ILicense | undefined>(undefined);
readonly #logger = inject(NGXLogger);
protected readonly _defaultModelPath = 'report';
readonly licenseData$: Observable<ILicenses>;
readonly selectedLicense$: Observable<ILicense>;
activeLicenseId: string;
@ -48,9 +52,19 @@ export class LicenseService extends GenericService<ILicenseReport> {
unlicensedPages = 0;
analyzedPagesInCurrentLicensingPeriod = 0;
uploadedBytesCapacity = 0;
protected readonly _defaultModelPath = 'report';
readonly #licenseData$ = new BehaviorSubject<ILicenses | undefined>(undefined);
readonly #selectedLicense$ = new BehaviorSubject<ILicense | undefined>(undefined);
constructor() {
super();
this.selectedLicense$ = this.#selectedLicense$.pipe(filter(license => !!license));
this.licenseData$ = this.#licenseData$.pipe(
filter(licenses => !!licenses),
tap(data => (this.activeLicenseId = data.activeLicense)),
tap(() => {
const uploadedBytesCapacity = this.activeLicense.features.find(f => f.name === 'uploadedBytesCapacity')?.value;
this.uploadedBytesCapacity = uploadedBytesCapacity ? parseInt(uploadedBytesCapacity, 10) : 0;
}),
);
}
get selectedLicense() {
return this.#selectedLicense$.value;
@ -66,20 +80,13 @@ export class LicenseService extends GenericService<ILicenseReport> {
}
get activeLicenseKey(): string {
return this.activeLicense.features.find(f => f.name === 'pdftron').value;
}
const activeLicense = this.activeLicense;
if (!activeLicense) {
this.#logger.error('[LICENSE] No active license found!');
return '';
}
constructor(private readonly _logger: NGXLogger) {
super();
this.selectedLicense$ = this.#selectedLicense$.pipe(filter(license => !!license));
this.licenseData$ = this.#licenseData$.pipe(
filter(licenses => !!licenses),
tap(data => (this.activeLicenseId = data.activeLicense)),
tap(() => {
const uploadedBytesCapacity = this.activeLicense.features.find(f => f.name === 'uploadedBytesCapacity')?.value;
this.uploadedBytesCapacity = uploadedBytesCapacity ? parseInt(uploadedBytesCapacity, 10) : 0;
}),
);
return activeLicense.features.find(f => f.name === 'pdftron').value;
}
async loadLicenseData(license: ILicense = this.selectedLicense) {

@ -1 +1 @@
Subproject commit f631395f613e6cbeaf71826dac4dc8446be33520
Subproject commit 30846478ed6a112813953b9217a69ef047ffa217