add report template service
This commit is contained in:
parent
df5dc1c30e
commit
d8594964e9
@ -1,7 +1,7 @@
|
||||
import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { AppStateService } from '@state/app-state.service';
|
||||
import { PlaceholdersResponse, ReportTemplate, ReportTemplateControllerService } from '@redaction/red-ui-http';
|
||||
import { PlaceholdersResponse, ReportTemplate } from '@redaction/red-ui-http';
|
||||
import { download } from '@utils/file-download-utils';
|
||||
import { ConfirmationDialogInput, LoadingService, Toaster } from '@iqser/common-ui';
|
||||
import { PermissionsService } from '@services/permissions.service';
|
||||
@ -13,6 +13,7 @@ import { removeBraces } from '@utils/functions';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import { AdminDialogService } from '../../services/admin-dialog.service';
|
||||
import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service';
|
||||
import { ReportTemplateService } from '@services/report-template.service';
|
||||
|
||||
interface Placeholder {
|
||||
placeholder: string;
|
||||
@ -38,7 +39,7 @@ export class ReportsScreenComponent implements OnInit {
|
||||
private readonly _activatedRoute: ActivatedRoute,
|
||||
private readonly _appStateService: AppStateService,
|
||||
private readonly _dossierTemplatesService: DossierTemplatesService,
|
||||
private readonly _reportTemplateService: ReportTemplateControllerService,
|
||||
private readonly _reportTemplateService: ReportTemplateService,
|
||||
private readonly _dialogService: AdminDialogService,
|
||||
private readonly _toaster: Toaster,
|
||||
private readonly _loadingService: LoadingService,
|
||||
@ -120,7 +121,7 @@ export class ReportsScreenComponent implements OnInit {
|
||||
}
|
||||
|
||||
private async _deleteTemplate(template: ReportTemplate) {
|
||||
await this._reportTemplateService.deleteTemplate(template.dossierTemplateId, template.templateId).toPromise();
|
||||
await this._reportTemplateService.delete(template.dossierTemplateId, template.templateId).toPromise();
|
||||
await this._loadReportTemplates();
|
||||
}
|
||||
|
||||
|
||||
@ -1,18 +1,13 @@
|
||||
import { Component } from '@angular/core';
|
||||
import { MatDialogRef } from '@angular/material/dialog';
|
||||
import {
|
||||
DossierRequest,
|
||||
DownloadFileType,
|
||||
IDossierTemplate,
|
||||
ReportTemplate,
|
||||
ReportTemplateControllerService,
|
||||
} from '@redaction/red-ui-http';
|
||||
import { DossierRequest, DownloadFileType, IDossierTemplate, ReportTemplate } from '@redaction/red-ui-http';
|
||||
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
|
||||
import * as moment from 'moment';
|
||||
import { downloadTypesTranslations } from '../../../../translations/download-types-translations';
|
||||
import { IconButtonTypes } from '@iqser/common-ui';
|
||||
import { DossiersService } from '@services/entity-services/dossiers.service';
|
||||
import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service';
|
||||
import { ReportTemplateService } from '@services/report-template.service';
|
||||
|
||||
@Component({
|
||||
templateUrl: './add-dossier-dialog.component.html',
|
||||
@ -34,7 +29,7 @@ export class AddDossierDialogComponent {
|
||||
private readonly _dossiersService: DossiersService,
|
||||
private readonly _dossierTemplatesService: DossierTemplatesService,
|
||||
private readonly _formBuilder: FormBuilder,
|
||||
private readonly _reportTemplateController: ReportTemplateControllerService,
|
||||
private readonly _reportTemplateController: ReportTemplateService,
|
||||
readonly dialogRef: MatDialogRef<AddDossierDialogComponent>,
|
||||
) {
|
||||
this._filterInvalidDossierTemplates();
|
||||
|
||||
@ -1,10 +1,11 @@
|
||||
import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
|
||||
import { DownloadFileType, ReportTemplate, ReportTemplateControllerService } from '@redaction/red-ui-http';
|
||||
import { DownloadFileType, ReportTemplate } from '@redaction/red-ui-http';
|
||||
import { FormBuilder, FormGroup } from '@angular/forms';
|
||||
import { Dossier } from '@state/model/dossier';
|
||||
import { EditDossierSectionInterface } from '../edit-dossier-section.interface';
|
||||
import { downloadTypesTranslations } from '../../../../../translations/download-types-translations';
|
||||
import { DossiersService } from '@services/entity-services/dossiers.service';
|
||||
import { ReportTemplateService } from '@services/report-template.service';
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-edit-dossier-download-package',
|
||||
@ -24,7 +25,7 @@ export class EditDossierDownloadPackageComponent implements OnInit, EditDossierS
|
||||
|
||||
constructor(
|
||||
private readonly _dossiersService: DossiersService,
|
||||
private readonly _reportTemplateController: ReportTemplateControllerService,
|
||||
private readonly _reportTemplateController: ReportTemplateService,
|
||||
private readonly _formBuilder: FormBuilder,
|
||||
) {}
|
||||
|
||||
|
||||
61
apps/red-ui/src/app/services/report-template.service.ts
Normal file
61
apps/red-ui/src/app/services/report-template.service.ts
Normal file
@ -0,0 +1,61 @@
|
||||
import { Injectable, Injector } from '@angular/core';
|
||||
import { GenericService, RequiredParam, Validate } from '@iqser/common-ui';
|
||||
import { PlaceholdersResponse, ReportTemplate } from '@redaction/red-ui-http';
|
||||
import { Observable } from 'rxjs';
|
||||
import { HttpResponse } from '@angular/common/http';
|
||||
import { HeadersConfiguration } from '../../../../../libs/common-ui/src/lib/utils/headers-configuration';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root',
|
||||
})
|
||||
export class ReportTemplateService extends GenericService<unknown> {
|
||||
constructor(protected readonly _injector: Injector) {
|
||||
super(_injector, 'templateUpload');
|
||||
}
|
||||
|
||||
@Validate()
|
||||
uploadTemplateForm(@RequiredParam() dossierTemplateId: string, multiFileReport?: boolean, file?: Blob) {
|
||||
const formParams = new FormData();
|
||||
|
||||
if (multiFileReport !== undefined) {
|
||||
formParams.append('multiFileReport', <any>multiFileReport);
|
||||
}
|
||||
if (file !== undefined) {
|
||||
formParams.append('file', <any>file);
|
||||
}
|
||||
|
||||
return this._http.post(`/${this._defaultModelPath}/${dossierTemplateId}`, formParams, {
|
||||
observe: 'body',
|
||||
});
|
||||
}
|
||||
|
||||
@Validate()
|
||||
delete(@RequiredParam() dossierTemplateId: string, @RequiredParam() templateId: string) {
|
||||
return super.delete({}, `${this._defaultModelPath}/${dossierTemplateId}/${templateId}`);
|
||||
}
|
||||
|
||||
@Validate()
|
||||
getAvailableReportTemplates(@RequiredParam() dossierTemplateId: string) {
|
||||
return this.getAll<ReportTemplate[]>(`${this._defaultModelPath}/${dossierTemplateId}`);
|
||||
}
|
||||
|
||||
@Validate()
|
||||
getAvailablePlaceholders(@RequiredParam() dossierTemplateId: string) {
|
||||
return this._getOne<PlaceholdersResponse>([dossierTemplateId], 'placeholders');
|
||||
}
|
||||
|
||||
downloadReportTemplate(dossierTemplateId: string, templateId: string, observe: 'response'): Observable<HttpResponse<Blob>>;
|
||||
downloadReportTemplate(dossierTemplateId: string, templateId: string, observe: 'body'): Observable<Blob>;
|
||||
@Validate()
|
||||
downloadReportTemplate(
|
||||
@RequiredParam() dossierTemplateId: string,
|
||||
@RequiredParam() templateId: string,
|
||||
observe: 'body' | 'response' = 'body',
|
||||
) {
|
||||
return this._http.request('get', `/${this._defaultModelPath}/${dossierTemplateId}/${templateId}`, {
|
||||
responseType: 'blob',
|
||||
observe: observe,
|
||||
headers: HeadersConfiguration.getHeaders({ contentType: false }),
|
||||
});
|
||||
}
|
||||
}
|
||||
@ -1,7 +1,6 @@
|
||||
import { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';
|
||||
import { Configuration } from './configuration';
|
||||
import { HttpClient } from '@angular/common/http';
|
||||
import { ReportTemplateControllerService } from './api/reportTemplateController.service';
|
||||
import { RulesControllerService } from './api/rulesController.service';
|
||||
import { SmtpConfigurationControllerService } from './api/smtpConfigurationController.service';
|
||||
import { UploadControllerService } from './api/uploadController.service';
|
||||
@ -15,7 +14,6 @@ import { NotificationControllerService } from './api/notificationController.serv
|
||||
declarations: [],
|
||||
exports: [],
|
||||
providers: [
|
||||
ReportTemplateControllerService,
|
||||
RulesControllerService,
|
||||
SmtpConfigurationControllerService,
|
||||
UploadControllerService,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user