From 5a66754cbdb30d345f386491ea71e90cd248508c Mon Sep 17 00:00:00 2001 From: George Kalampokis Date: Fri, 29 Oct 2021 15:08:58 +0300 Subject: [PATCH] Make DMP language Mandatory and set default language to English --- .../main/java/eu/eudat/models/rda/mapper/DmpRDAMapper.java | 6 +++--- .../dmp/editor/general-tab/extra-properties-form.model.ts | 4 ++-- .../app/ui/dmp/editor/main-info/main-info.component.html | 4 ++-- .../src/app/ui/dmp/editor/main-info/main-info.component.ts | 3 +++ 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/dmp-backend/web/src/main/java/eu/eudat/models/rda/mapper/DmpRDAMapper.java b/dmp-backend/web/src/main/java/eu/eudat/models/rda/mapper/DmpRDAMapper.java index 84799b0f3..5a3574a33 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/models/rda/mapper/DmpRDAMapper.java +++ b/dmp-backend/web/src/main/java/eu/eudat/models/rda/mapper/DmpRDAMapper.java @@ -39,9 +39,9 @@ public class DmpRDAMapper { throw new IllegalArgumentException("DMP is missing language and contact properties"); } else { extraProperties = new org.json.JSONObject(dmp.getExtraProperties()).toMap(); - if (extraProperties.get("language") == null) { + /*if (extraProperties.get("language") == null) { throw new IllegalArgumentException("DMP must have it's language property defined"); - } + }*/ if (extraProperties.get("contact") == null) { throw new IllegalArgumentException("DMP must have it's contact property defined"); } @@ -72,7 +72,7 @@ public class DmpRDAMapper { } else { rda.setEthicalIssuesExist(Dmp.EthicalIssuesExist.UNKNOWN); } - rda.setLanguage(LanguageRDAMapper.mapLanguageIsoToRDAIso(extraProperties.get("language").toString())); + rda.setLanguage(LanguageRDAMapper.mapLanguageIsoToRDAIso(extraProperties.get("language") != null ? extraProperties.get("language").toString() : "en")); if (extraProperties.get("costs") != null) { rda.setCost(new ArrayList<>()); ((List) extraProperties.get("costs")).forEach(costl -> { diff --git a/dmp-frontend/src/app/ui/dmp/editor/general-tab/extra-properties-form.model.ts b/dmp-frontend/src/app/ui/dmp/editor/general-tab/extra-properties-form.model.ts index 6d55a0fd4..061348b2d 100644 --- a/dmp-frontend/src/app/ui/dmp/editor/general-tab/extra-properties-form.model.ts +++ b/dmp-frontend/src/app/ui/dmp/editor/general-tab/extra-properties-form.model.ts @@ -55,11 +55,11 @@ export class ExtraPropertiesFormModel { createValidationContext(): ValidationContext { const baseContext: ValidationContext = new ValidationContext(); - baseContext.validation.push({ key: 'language', validators: [BackendErrorValidator(this.validationErrorModel, 'language')] }); + baseContext.validation.push({ key: 'language', validators: [Validators.required, BackendErrorValidator(this.validationErrorModel, 'language')] }); baseContext.validation.push({ key: 'license', validators: [BackendErrorValidator(this.validationErrorModel, 'license')] }); baseContext.validation.push({ key: 'visible', validators: [BackendErrorValidator(this.validationErrorModel, 'visible')] }); baseContext.validation.push({ key: 'publicDate', validators: [BackendErrorValidator(this.validationErrorModel, 'publicDate')] }); - baseContext.validation.push({ key: 'contact', validators: [BackendErrorValidator(this.validationErrorModel, 'contact')] }); + baseContext.validation.push({ key: 'contact', validators: [Validators.required, BackendErrorValidator(this.validationErrorModel, 'contact')] }); baseContext.validation.push({ key: 'costs', validators: [BackendErrorValidator(this.validationErrorModel, 'costs')] }); return baseContext; } diff --git a/dmp-frontend/src/app/ui/dmp/editor/main-info/main-info.component.html b/dmp-frontend/src/app/ui/dmp/editor/main-info/main-info.component.html index 29c17b5a0..38fb47a86 100644 --- a/dmp-frontend/src/app/ui/dmp/editor/main-info/main-info.component.html +++ b/dmp-frontend/src/app/ui/dmp/editor/main-info/main-info.component.html @@ -34,11 +34,11 @@
-
1.3 {{'DMP-EDITOR.FIELDS.LANGUAGE' | translate}}
+
1.3 {{'DMP-EDITOR.FIELDS.LANGUAGE' | translate}}*
{{'DMP-EDITOR.FIELDS.LANGUAGE-HINT' | translate}}
- + {{ lang.name }} diff --git a/dmp-frontend/src/app/ui/dmp/editor/main-info/main-info.component.ts b/dmp-frontend/src/app/ui/dmp/editor/main-info/main-info.component.ts index e6c422196..56fedce6f 100644 --- a/dmp-frontend/src/app/ui/dmp/editor/main-info/main-info.component.ts +++ b/dmp-frontend/src/app/ui/dmp/editor/main-info/main-info.component.ts @@ -111,6 +111,9 @@ export class MainInfoComponent extends BaseComponent implements OnInit { if (isNullOrUndefined(this.formGroup.get('extraProperties').get('contact').value)) { this.formGroup.get('extraProperties').get('contact').patchValue(associate.id); } + if (isNullOrUndefined(this.formGroup.get('extraProperties').get('language').value)) { + this.formGroup.get('extraProperties').get('language').patchValue('en'); + } } // Researchers