diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/proxy/fetching/RemoteFetcher.java b/dmp-backend/web/src/main/java/eu/eudat/logic/proxy/fetching/RemoteFetcher.java index efc0b1db4..f3a416982 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/logic/proxy/fetching/RemoteFetcher.java +++ b/dmp-backend/web/src/main/java/eu/eudat/logic/proxy/fetching/RemoteFetcher.java @@ -138,7 +138,7 @@ public class RemoteFetcher { private void ifFunderQueryExist(UrlConfiguration urlConfiguration, ExternalUrlCriteria externalUrlCriteria) { if (urlConfiguration.getFunderQuery() != null) { - if (externalUrlCriteria.getFunderId() != null && urlConfiguration.getFunderQuery().startsWith("dmp:")) { + if (externalUrlCriteria.getFunderId() != null && !urlConfiguration.getFunderQuery().startsWith("dmp:")) { urlConfiguration.setUrl(urlConfiguration.getUrl().replace("{funderQuery}", urlConfiguration.getFunderQuery())); } else { diff --git a/dmp-backend/web/src/main/java/eu/eudat/models/data/dmp/Researcher.java b/dmp-backend/web/src/main/java/eu/eudat/models/data/dmp/Researcher.java index 9cf079480..c610c92e6 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/models/data/dmp/Researcher.java +++ b/dmp-backend/web/src/main/java/eu/eudat/models/data/dmp/Researcher.java @@ -74,10 +74,10 @@ public class Researcher implements DataModel
-
+
diff --git a/dmp-frontend/src/app/ui/dmp/editor/add-researcher/add-researcher.component.ts b/dmp-frontend/src/app/ui/dmp/editor/add-researcher/add-researcher.component.ts index 08d3940aa..7d677020e 100644 --- a/dmp-frontend/src/app/ui/dmp/editor/add-researcher/add-researcher.component.ts +++ b/dmp-frontend/src/app/ui/dmp/editor/add-researcher/add-researcher.component.ts @@ -37,4 +37,8 @@ export class AddResearcherComponent extends BaseComponent implements OnInit { addResearcher() { this.dialogRef.close(this.formGroup.value); } + + isFormValid() { + return this.formGroup.valid; + } } diff --git a/dmp-frontend/src/app/ui/dmp/editor/add-researcher/add-researcher.model.ts b/dmp-frontend/src/app/ui/dmp/editor/add-researcher/add-researcher.model.ts index 529a0bb3d..a5fa6df33 100644 --- a/dmp-frontend/src/app/ui/dmp/editor/add-researcher/add-researcher.model.ts +++ b/dmp-frontend/src/app/ui/dmp/editor/add-researcher/add-researcher.model.ts @@ -1,5 +1,8 @@ import { FormBuilder, FormGroup } from '@angular/forms'; import { ResearcherModel } from '../../../../core/model/researcher/researcher'; +import { ValidationContext } from "../../../../common/forms/validation/validation-context"; +import { BackendErrorValidator } from "../../../../common/forms/validation/custom-validator"; +import { ValidationErrorModel } from "../../../../common/forms/validation/error-model/validation-error-model"; export class ResearcherEditorModel { public id: String; @@ -7,6 +10,7 @@ export class ResearcherEditorModel { public lastName: String; public uri: String; public email: String; + public validationErrorModel: ValidationErrorModel = new ValidationErrorModel(); fromModel(item: ResearcherModel): ResearcherEditorModel { this.id = item.id; @@ -17,13 +21,20 @@ export class ResearcherEditorModel { return this; } - buildForm(): FormGroup { + buildForm(context: ValidationContext = null, disabled: boolean = false): FormGroup { + if (context == null) { context = this.createValidationContext(); } const formGroup = new FormBuilder().group({ - firstName: [this.name], - lastName: [this.lastName] + firstName: [{ value: this.name, disabled: disabled }, context.getValidation('firstName').validators], + lastName: [{ value: this.lastName, disabled: disabled }, context.getValidation('lastName').validators] }); return formGroup; } + createValidationContext(): ValidationContext { + const baseContext: ValidationContext = new ValidationContext(); + baseContext.validation.push({ key: 'firstName', validators: [BackendErrorValidator(this.validationErrorModel, 'firstName')] }); + baseContext.validation.push({ key: 'lastName', validators: [BackendErrorValidator(this.validationErrorModel, 'lastName')] }); + return baseContext; + } } diff --git a/dmp-frontend/src/app/ui/dmp/editor/general-tab/general-tab.component.ts b/dmp-frontend/src/app/ui/dmp/editor/general-tab/general-tab.component.ts index 817786f8b..d678e2dab 100644 --- a/dmp-frontend/src/app/ui/dmp/editor/general-tab/general-tab.component.ts +++ b/dmp-frontend/src/app/ui/dmp/editor/general-tab/general-tab.component.ts @@ -154,7 +154,7 @@ export class GeneralTabComponent extends BaseComponent implements OnInit { name: fullName, id: "dmp:" + fullName, status: 0, - tag: null, + tag: "Internal", }); } });