diff --git a/goofy-client/libs/forwarding/src/lib/vorgang-forwarding-container/vorgang-forward-formular/vorgang-forward-form/vorgang-forward-form.component.ts b/goofy-client/libs/forwarding/src/lib/vorgang-forwarding-container/vorgang-forward-formular/vorgang-forward-form/vorgang-forward-form.component.ts index 31d90c28ace71b20eb3494b9c6830992ec63f1b2..dc4c850b7afb090482054c0ce9cc471d2574ff08 100644 --- a/goofy-client/libs/forwarding/src/lib/vorgang-forwarding-container/vorgang-forward-formular/vorgang-forward-form/vorgang-forward-form.component.ts +++ b/goofy-client/libs/forwarding/src/lib/vorgang-forwarding-container/vorgang-forward-formular/vorgang-forward-form/vorgang-forward-form.component.ts @@ -3,6 +3,7 @@ import { FormGroup } from '@angular/forms'; import { CommandResource } from '@goofy-client/command-shared'; import { StateResource } from '@goofy-client/tech-shared'; import { VorgangForwardFormService } from './vorgang-forward.formservice'; +import { VorgangWithEingangResource } from '@goofy-client/vorgang-shared'; @Component({ selector: 'goofy-client-vorgang-forward-form', @@ -12,14 +13,18 @@ import { VorgangForwardFormService } from './vorgang-forward.formservice'; export class VorgangForwardFormComponent { @Input() forwardStateResource: StateResource<CommandResource>; + @Input() vorgang: VorgangWithEingangResource; @Output('doSubmit') submit: EventEmitter<void> = new EventEmitter(); readonly formServiceClass = VorgangForwardFormService; - constructor(private formService: VorgangForwardFormService) { } + constructor(private formService: VorgangForwardFormService) { + this.formService.patch({'email': 'test'}) + this.formService.patchField('email', this.vorgang.aktenzeichen) + } get form(): FormGroup { return this.formService.form; } -} \ No newline at end of file +} diff --git a/goofy-client/libs/forwarding/src/lib/vorgang-forwarding-container/vorgang-forward-formular/vorgang-forward-form/vorgang-forward.formservice.ts b/goofy-client/libs/forwarding/src/lib/vorgang-forwarding-container/vorgang-forward-formular/vorgang-forward-form/vorgang-forward.formservice.ts index 7adee7b208182b4214760fa4fb3c35e806dcfc23..ac2b91a6f743bb2ecbab6c0f5c3f12df5d510c41 100644 --- a/goofy-client/libs/forwarding/src/lib/vorgang-forwarding-container/vorgang-forward-formular/vorgang-forward-form/vorgang-forward.formservice.ts +++ b/goofy-client/libs/forwarding/src/lib/vorgang-forwarding-container/vorgang-forward-formular/vorgang-forward-form/vorgang-forward.formservice.ts @@ -20,6 +20,10 @@ export class VorgangForwardFormService extends AbstractFormService { super(formBuilder); } + patchField(fieldName: string, value: string) { + this.form.controls[fieldName].patchValue(value); + } + protected initForm(): FormGroup { return this.form = this.formBuilder.group({ [VorgangForwardFormService.FIELD_EMAIL]: new FormControl(), diff --git a/goofy-client/libs/forwarding/src/lib/vorgang-forwarding-container/vorgang-forward-formular/vorgang-forward-formular.component.html b/goofy-client/libs/forwarding/src/lib/vorgang-forwarding-container/vorgang-forward-formular/vorgang-forward-formular.component.html index 3c48acd6c7282dda4b41b769e258544dfbaec687..6f057eb6d4b5187de9da2245b1790304d653177a 100644 --- a/goofy-client/libs/forwarding/src/lib/vorgang-forwarding-container/vorgang-forward-formular/vorgang-forward-formular.component.html +++ b/goofy-client/libs/forwarding/src/lib/vorgang-forwarding-container/vorgang-forward-formular/vorgang-forward-formular.component.html @@ -1,11 +1,12 @@ <goofy-client-spinner data-test-id="forwarding-spinner" - [diameter]="24" - [show]="pendingForwardCommand.resource | hasLink: commandLinkRel.UPDATE" - padding="0" - text="Vorgang wird weitergeleitet"> + [diameter]="24" + [show]="pendingForwardCommand.resource | hasLink: commandLinkRel.UPDATE" + padding="0" + text="Vorgang wird weitergeleitet"> </goofy-client-spinner> <goofy-client-vorgang-forward-form *ngIf="vorgang | hasLink: vorgangLinkRel.FORWARD" data-test-id="forward-form" - [forwardStateResource]="pendingForwardCommand" - (doSubmit)="submit.emit()"> -</goofy-client-vorgang-forward-form> \ No newline at end of file + [vorgang]="vorgang" + [forwardStateResource]="pendingForwardCommand" + (doSubmit)="submit.emit()"> +</goofy-client-vorgang-forward-form> diff --git a/goofy-client/libs/vorgang-shared/src/lib/vorgang.model.ts b/goofy-client/libs/vorgang-shared/src/lib/vorgang.model.ts index f20ba6f8e2e687cfdaf89af1c99de6d26e911032..fcc348cdfc48e6fd775b575bc488e07ab69ddff8 100644 --- a/goofy-client/libs/vorgang-shared/src/lib/vorgang.model.ts +++ b/goofy-client/libs/vorgang-shared/src/lib/vorgang.model.ts @@ -17,6 +17,7 @@ export interface VorgangWithEingang extends Vorgang { export interface Eingang { id: string, antragsteller: Antragsteller, + zustaendigeStelle: string, header: EingangHeader, formData: ReadonlyMap<number, string> | object } @@ -97,4 +98,4 @@ export interface CreateAssignUserCommand extends CreateCommand { export interface AssignUserBody { assignedTo: ResourceUri; -} \ No newline at end of file +} diff --git a/goofy-server/src/main/java/de/itvsh/goofy/vorgang/Eingang.java b/goofy-server/src/main/java/de/itvsh/goofy/vorgang/Eingang.java index 8135edc9c8b91ba9a2fa9c5d27f99585898bc1fb..69fd514e917e48ed7930c8358c600175e5b8904d 100644 --- a/goofy-server/src/main/java/de/itvsh/goofy/vorgang/Eingang.java +++ b/goofy-server/src/main/java/de/itvsh/goofy/vorgang/Eingang.java @@ -14,7 +14,7 @@ public class Eingang { private int numberOfAttachments; private int numberOfRepresentations; - private String zustaendigestelle; + private ZustaendigeStelle zustaendigeStelle; private Antragsteller antragsteller; private EingangHeader header; diff --git a/goofy-server/src/main/java/de/itvsh/goofy/vorgang/EingangMapper.java b/goofy-server/src/main/java/de/itvsh/goofy/vorgang/EingangMapper.java index c3fe7ecf53a1e820e5a0189522a47c51f432cd98..dbee10fb9e6582ae9af5122a8c623d1d41692c44 100644 --- a/goofy-server/src/main/java/de/itvsh/goofy/vorgang/EingangMapper.java +++ b/goofy-server/src/main/java/de/itvsh/goofy/vorgang/EingangMapper.java @@ -16,7 +16,7 @@ import de.itvsh.ozg.pluto.vorgang.GrpcFormField; import de.itvsh.ozg.pluto.vorgang.GrpcSubForm; @Mapper(uses = { AntragstellerMapper.class, - EingangHeaderMapper.class }, collectionMappingStrategy = CollectionMappingStrategy.ADDER_PREFERRED) + EingangHeaderMapper.class, ZustaendigeStelleMapper.class }, collectionMappingStrategy = CollectionMappingStrategy.ADDER_PREFERRED) interface EingangMapper { @Mapping(source = "formData", target = "formData") @@ -45,4 +45,4 @@ interface EingangMapper { return fields.stream().collect(Collectors.toMap(GrpcFormField::getName, GrpcFormField::getValue)); } -} \ No newline at end of file +} diff --git a/goofy-server/src/main/java/de/itvsh/goofy/vorgang/ZustaendigeStelle.java b/goofy-server/src/main/java/de/itvsh/goofy/vorgang/ZustaendigeStelle.java new file mode 100644 index 0000000000000000000000000000000000000000..b575c496e4f7ba669db1f5cd9f62cc45fcabe3c4 --- /dev/null +++ b/goofy-server/src/main/java/de/itvsh/goofy/vorgang/ZustaendigeStelle.java @@ -0,0 +1,9 @@ +package de.itvsh.goofy.vorgang; + +import lombok.Builder; + +@Builder +public class ZustaendigeStelle { + private String organisationseinheitenId; + private String email; +} diff --git a/goofy-server/src/main/java/de/itvsh/goofy/vorgang/ZustaendigeStelleMapper.java b/goofy-server/src/main/java/de/itvsh/goofy/vorgang/ZustaendigeStelleMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..6b79ea7b4cef481a95152ae39cb983b5af4c8f81 --- /dev/null +++ b/goofy-server/src/main/java/de/itvsh/goofy/vorgang/ZustaendigeStelleMapper.java @@ -0,0 +1,10 @@ +package de.itvsh.goofy.vorgang; + +import de.itvsh.ozg.pluto.vorgang.GrpcZustaendigeStelle; +import org.mapstruct.Mapper; + +@Mapper +interface ZustaendigeStelleMapper { + + ZustaendigeStelle mapToZustaendigeStelle(GrpcZustaendigeStelle grpcZustaendigeStelle); +} diff --git a/goofy-server/src/test/java/de/itvsh/goofy/vorgang/GrpcZustaendigeStelleTestFactory.java b/goofy-server/src/test/java/de/itvsh/goofy/vorgang/GrpcZustaendigeStelleTestFactory.java new file mode 100644 index 0000000000000000000000000000000000000000..9f30e7a53841781c836e37b63da5b9738f75f42a --- /dev/null +++ b/goofy-server/src/test/java/de/itvsh/goofy/vorgang/GrpcZustaendigeStelleTestFactory.java @@ -0,0 +1,18 @@ +package de.itvsh.goofy.vorgang; + +import de.itvsh.ozg.pluto.vorgang.GrpcZustaendigeStelle; + +public class GrpcZustaendigeStelleTestFactory { + private static final String EMAIL = ZustaendigeStelleTestFactory.EMAIL; + private static final String ORGANISATIONSEINHEITEN_ID = ZustaendigeStelleTestFactory.ORGANISATIONSEINHEITEN_ID; + + public static GrpcZustaendigeStelle create() { + return createBuilder().build(); + } + + public static GrpcZustaendigeStelle.Builder createBuilder() { + return GrpcZustaendigeStelle.newBuilder() + .setEmail(EMAIL) + .setOrganisationseinheitenId(ORGANISATIONSEINHEITEN_ID); + } +} diff --git a/goofy-server/src/test/java/de/itvsh/goofy/vorgang/ZustaendigeStelleMapperTest.java b/goofy-server/src/test/java/de/itvsh/goofy/vorgang/ZustaendigeStelleMapperTest.java new file mode 100644 index 0000000000000000000000000000000000000000..c488746f42d6f06d86bfb7520ceafb803e8a5b68 --- /dev/null +++ b/goofy-server/src/test/java/de/itvsh/goofy/vorgang/ZustaendigeStelleMapperTest.java @@ -0,0 +1,21 @@ +package de.itvsh.goofy.vorgang; + +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.Test; +import org.mapstruct.factory.Mappers; + +import static org.assertj.core.api.Assertions.*; + +public class ZustaendigeStelleMapperTest { + private final ZustaendigeStelleMapper mapper = Mappers.getMapper(ZustaendigeStelleMapper.class); + + @Nested + class TestMapToZustaendigeStelle { + + @Test + void shouldMap() { + var zustaendigeStelle = mapper.mapToZustaendigeStelle(GrpcZustaendigeStelleTestFactory.create()); + assertThat(zustaendigeStelle).usingRecursiveComparison().isEqualTo(ZustaendigeStelleTestFactory.create()); + } + } +} diff --git a/goofy-server/src/test/java/de/itvsh/goofy/vorgang/ZustaendigeStelleTestFactory.java b/goofy-server/src/test/java/de/itvsh/goofy/vorgang/ZustaendigeStelleTestFactory.java new file mode 100644 index 0000000000000000000000000000000000000000..fb7735f92a7633a53a38d7594eb15379709d6374 --- /dev/null +++ b/goofy-server/src/test/java/de/itvsh/goofy/vorgang/ZustaendigeStelleTestFactory.java @@ -0,0 +1,16 @@ +package de.itvsh.goofy.vorgang; + +public class ZustaendigeStelleTestFactory { + public static final String EMAIL = "test@test.de"; + public static final String ORGANISATIONSEINHEITEN_ID = "123456"; + + public static ZustaendigeStelle create() { + return createBuilder().build(); + } + + public static ZustaendigeStelle.ZustaendigeStelleBuilder createBuilder() { + return ZustaendigeStelle.builder() + .email(EMAIL) + .organisationseinheitenId(ORGANISATIONSEINHEITEN_ID); + } +}