diff --git a/dmp-frontend/src/app/core/model/dmp/dmp.ts b/dmp-frontend/src/app/core/model/dmp/dmp.ts
index 2fa7556b9..2e6480b11 100644
--- a/dmp-frontend/src/app/core/model/dmp/dmp.ts
+++ b/dmp-frontend/src/app/core/model/dmp/dmp.ts
@@ -56,6 +56,7 @@ export interface DmpUser extends BaseEntity {
dmp: Dmp;
user: User;
role: DmpUserRole;
+ sectionId: Guid;
}
export interface DmpDescriptionTemplate extends BaseEntity {
@@ -132,6 +133,7 @@ export interface DmpUserPersist {
user: Guid;
role: DmpUserRole;
email: string;
+ sectionId: Guid;
}
export interface DmpUserRemovePersist {
diff --git a/dmp-frontend/src/app/ui/dmp/dmp-editor-blueprint/dmp-editor.component.html b/dmp-frontend/src/app/ui/dmp/dmp-editor-blueprint/dmp-editor.component.html
index d63070150..ffc2c6f91 100644
--- a/dmp-frontend/src/app/ui/dmp/dmp-editor-blueprint/dmp-editor.component.html
+++ b/dmp-frontend/src/app/ui/dmp/dmp-editor-blueprint/dmp-editor.component.html
@@ -284,6 +284,18 @@
{{'GENERAL.VALIDATION.REQUIRED' | translate}}
+
+
+ {{'DMP-EDITOR.FIELDS1.SECTION' | translate}}
+
+
+ {{ section.label }}
+
+
+ {{user.get('sectionId').getError('backendError').message}}
+ {{'GENERAL.VALIDATION.REQUIRED' |translate}}
+
+
diff --git a/dmp-frontend/src/app/ui/dmp/dmp-editor-blueprint/dmp-editor.model.ts b/dmp-frontend/src/app/ui/dmp/dmp-editor-blueprint/dmp-editor.model.ts
index 568390e73..40ced4ea5 100644
--- a/dmp-frontend/src/app/ui/dmp/dmp-editor-blueprint/dmp-editor.model.ts
+++ b/dmp-frontend/src/app/ui/dmp/dmp-editor-blueprint/dmp-editor.model.ts
@@ -466,6 +466,7 @@ export class DmpUserEditorModel implements DmpUserPersist {
role: DmpUserRole;
email: string;
userType: DmpUserType= DmpUserType.Internal;
+ sectionId: Guid;
protected formBuilder: UntypedFormBuilder = new UntypedFormBuilder();
@@ -478,6 +479,7 @@ export class DmpUserEditorModel implements DmpUserPersist {
this.role = item.role;
// TODO this.email = item.email;
this.userType = (item == null || this.user != null) ? DmpUserType.Internal : DmpUserType.External;
+ this.sectionId = item.sectionId;
return this;
}
@@ -499,6 +501,7 @@ export class DmpUserEditorModel implements DmpUserPersist {
user: [{ value: this.user, disabled: disabled }, context.getValidation('user').validators],
role: [{ value: this.role, disabled: disabled }, context.getValidation('role').validators],
email: [{ value: this.role, disabled: disabled }, context.getValidation('email').validators],
+ sectionId: [{ value: this.role, disabled: disabled }, context.getValidation('sectionId').validators],
userType: [{ value: this.userType, disabled: disabled }, context.getValidation('userType').validators],
});
}
@@ -514,6 +517,7 @@ export class DmpUserEditorModel implements DmpUserPersist {
baseValidationArray.push({ key: 'user', validators: [BackendErrorValidator(validationErrorModel, `${rootPath}user`)] });
baseValidationArray.push({ key: 'role', validators: [Validators.required, BackendErrorValidator(validationErrorModel, `${rootPath}role`)] });
baseValidationArray.push({ key: 'email', validators: [BackendErrorValidator(validationErrorModel, `${rootPath}email`)] });
+ baseValidationArray.push({ key: 'sectionId', validators: [BackendErrorValidator(validationErrorModel, `${rootPath}sectionId`)] });
baseValidationArray.push({ key: 'userType', validators: [BackendErrorValidator(validationErrorModel, `${rootPath}userType`)] });
baseContext.validation = baseValidationArray;
@@ -532,7 +536,7 @@ export class DmpUserEditorModel implements DmpUserPersist {
validationErrorModel
});
- ['user', 'role', 'email'].forEach(keyField => {
+ ['user', 'role', 'email', 'sectionId'].forEach(keyField => {
const control = formGroup?.get(keyField);
control?.clearValidators();
control?.addValidators(context.getValidation(keyField).validators);
diff --git a/dmp-frontend/src/assets/i18n/en.json b/dmp-frontend/src/assets/i18n/en.json
index f5cc44c9c..babe55052 100644
--- a/dmp-frontend/src/assets/i18n/en.json
+++ b/dmp-frontend/src/assets/i18n/en.json
@@ -1746,7 +1746,8 @@
"FIRST-NAME": "First Name",
"LAST-NAME": "Last Name",
"EMAIL": "Email",
- "USER-ROLE": "Role"
+ "USER-ROLE": "Role",
+ "SECTION": "Specific DMP Section"
},
"ACTIONS1": {
"GO-TO-GRANT": "Go To DMP Grant",