From cc6359e0fcf5d9e720703ad4e15306c2c8522928 Mon Sep 17 00:00:00 2001 From: amentis Date: Wed, 21 Feb 2024 15:18:41 +0200 Subject: [PATCH] add dmpUser section ui --- dmp-frontend/src/app/core/model/dmp/dmp.ts | 2 ++ .../dmp-editor-blueprint/dmp-editor.component.html | 12 ++++++++++++ .../ui/dmp/dmp-editor-blueprint/dmp-editor.model.ts | 6 +++++- dmp-frontend/src/assets/i18n/en.json | 3 ++- 4 files changed, 21 insertions(+), 2 deletions(-) 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",