diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DatasetManager.java b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DatasetManager.java index 266dbf21c..5d09b8594 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DatasetManager.java +++ b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DatasetManager.java @@ -206,7 +206,8 @@ public class DatasetManager { visibilityRuleService.setProperties(properties); visibilityRuleService.buildVisibilityContext(pagedDatasetProfile.getRules()); wordBuilder.build(document, pagedDatasetProfile, visibilityRuleService); - File exportFile = new File(datasetEntity.getLabel() + ".docx"); + String label = datasetEntity.getLabel().replaceAll("[^a-zA-Z0-9+ ]", ""); + File exportFile = new File(label + ".docx"); FileOutputStream out = new FileOutputStream(exportFile); document.write(out); out.close(); diff --git a/dmp-backend/web/src/main/java/eu/eudat/models/data/user/composite/PagedDatasetProfile.java b/dmp-backend/web/src/main/java/eu/eudat/models/data/user/composite/PagedDatasetProfile.java index ab96f15c6..92a756d72 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/models/data/user/composite/PagedDatasetProfile.java +++ b/dmp-backend/web/src/main/java/eu/eudat/models/data/user/composite/PagedDatasetProfile.java @@ -51,6 +51,7 @@ public class PagedDatasetProfile implements PropertiesGenerator { datasetProfilePage.setSections(profile.getSections().stream().filter(item -> item.getPage().equals(page.getId())).collect(Collectors.toList())); this.pages.add(datasetProfilePage); } + return this; } diff --git a/dmp-frontend/src/app/core/services/quick-wizard/quick-wizard.service.ts b/dmp-frontend/src/app/core/services/quick-wizard/quick-wizard.service.ts index 22a01c59c..28174bb11 100644 --- a/dmp-frontend/src/app/core/services/quick-wizard/quick-wizard.service.ts +++ b/dmp-frontend/src/app/core/services/quick-wizard/quick-wizard.service.ts @@ -20,6 +20,6 @@ export class QuickWizardService { } createQuickDatasetWizard(datasetCreateWizardModel: DatasetCreateWizardModel): Observable { - return this.http.post(this.actionUrl + '/datasetcreate', datasetCreateWizardModel, { headers: this.headers }); + return this.http.post(this.actionUrl + 'datasetcreate', datasetCreateWizardModel, { headers: this.headers }); } } diff --git a/dmp-frontend/src/app/ui/dataset/dataset-wizard/dataset-wizard.component.ts b/dmp-frontend/src/app/ui/dataset/dataset-wizard/dataset-wizard.component.ts index da50966da..c41f91a09 100644 --- a/dmp-frontend/src/app/ui/dataset/dataset-wizard/dataset-wizard.component.ts +++ b/dmp-frontend/src/app/ui/dataset/dataset-wizard/dataset-wizard.component.ts @@ -55,6 +55,8 @@ export class DatasetWizardComponent extends BaseComponent implements OnInit, IBr availableProfiles: DatasetProfileModel[] = []; itemId: string; + publicId: string; + downloadDocumentId: string; isLinear = false; constructor( @@ -118,7 +120,10 @@ export class DatasetWizardComponent extends BaseComponent implements OnInit, IBr this.itemId = params['id']; const dmpId = params['dmpId']; const newDmpId = queryParams['newDmpId']; - const publicId = params['publicId']; + this.publicId = params['publicId']; + + this.itemId ? this.downloadDocumentId = this.itemId : this.downloadDocumentId = this.publicId + if (this.itemId != null && newDmpId == null) { this.isNew = false; this.datasetWizardService.getSingle(this.itemId) @@ -230,8 +235,8 @@ export class DatasetWizardComponent extends BaseComponent implements OnInit, IBr // if (this.viewOnly) { this.formGroup.disable(); } // For future use, to make Dataset edit like DMP. this.loadDatasetProfiles(); }); - } else if (publicId != null) { - this.datasetWizardService.getSinglePublic(publicId) + } else if (this.publicId != null) { + this.datasetWizardService.getSinglePublic(this.publicId) .pipe(takeUntil(this._destroyed)) .catch((error: any) => { this.uiNotificationService.snackBarNotification(error.error.message, SnackBarNotificationLevel.Error); @@ -399,7 +404,9 @@ export class DatasetWizardComponent extends BaseComponent implements OnInit, IBr } downloadPDF(): void { - this.datasetWizardService.downloadPDF(this.itemId) + + + this.datasetWizardService.downloadPDF(this.downloadDocumentId) .pipe(takeUntil(this._destroyed)) .subscribe(response => { const blob = new Blob([response.body], { type: 'application/pdf' }); @@ -410,7 +417,7 @@ export class DatasetWizardComponent extends BaseComponent implements OnInit, IBr } downloadDOCX(): void { - this.datasetWizardService.downloadDOCX(this.itemId) + this.datasetWizardService.downloadDOCX(this.downloadDocumentId) .pipe(takeUntil(this._destroyed)) .subscribe(response => { const blob = new Blob([response.body], { type: 'application/msword' }); @@ -422,7 +429,7 @@ export class DatasetWizardComponent extends BaseComponent implements OnInit, IBr } downloadXML(): void { - this.datasetWizardService.downloadXML(this.itemId) + this.datasetWizardService.downloadXML(this.downloadDocumentId) .pipe(takeUntil(this._destroyed)) .subscribe(response => { const blob = new Blob([response.body], { type: 'application/xml' }); diff --git a/dmp-frontend/src/app/ui/quick-wizard/quick-wizard-editor/quick-wizard-editor.component.ts b/dmp-frontend/src/app/ui/quick-wizard/quick-wizard-editor/quick-wizard-editor.component.ts index 17f8002bf..9dd8f4f92 100644 --- a/dmp-frontend/src/app/ui/quick-wizard/quick-wizard-editor/quick-wizard-editor.component.ts +++ b/dmp-frontend/src/app/ui/quick-wizard/quick-wizard-editor/quick-wizard-editor.component.ts @@ -140,7 +140,7 @@ export class QuickWizardEditorComponent extends BaseComponent implements OnInit, if (result) { this.datasetEditorWizardComponent.addDataset(); } else if (result === false) { - this.quickWizardService.createQuickDatasetWizard(this.formGroup.value) + this.quickWizardService.createQuickWizard(this.formGroup.value) .pipe(takeUntil(this._destroyed)) .subscribe( complete => this.onCallbackSuccess()