Skip to content

Commit

Permalink
fix(zaak-create): set group and user instead of by reference of ID (#…
Browse files Browse the repository at this point in the history
…2373)

also use `User`, `LoggedInUser` and `Group` from generated types

Make sure to set the default case worker when selecting a case type

Solves PZ-4857

---------

Co-authored-by: infonl-marcel <marcele@info.nl>
  • Loading branch information
xiduzo and infonl-marcel authored Jan 14, 2025
1 parent b845458 commit 1af1e2c
Show file tree
Hide file tree
Showing 37 changed files with 171 additions and 195 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ import { Observable } from "rxjs";
import { ConfiguratieService } from "../../configuratie/configuratie.service";
import { UtilService } from "../../core/service/util.service";
import { IdentityService } from "../../identity/identity.service";
import { Group } from "../../identity/model/group";
import { GeneratedType } from "../../shared/utils/generated-types";
import { AdminComponent } from "../admin/admin.component";
import { SignaleringenSettingsBeheerService } from "../signaleringen-settings-beheer.service";
Expand All @@ -27,7 +26,7 @@ export class GroepSignaleringenComponent
@ViewChild("menuSidenav") menuSidenav: MatSidenav;

isLoadingResults = false;
groepen: Observable<Group[]>;
groepen: Observable<GeneratedType<"RestGroup">[]>;
groepId: string;
columns: string[] = ["subjecttype", "type", "dashboard", "mail"];
dataSource = new MatTableDataSource<
Expand All @@ -48,7 +47,7 @@ export class GroepSignaleringenComponent
this.groepen = this.identityService.listGroups();
}

laadSignaleringSettings(groep: Group): void {
laadSignaleringSettings(groep: GeneratedType<"RestGroup">): void {
this.isLoadingResults = true;
this.service.list(groep.id).subscribe((instellingen) => {
this.dataSource.data = instellingen;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,6 @@ import { switchMap, tap } from "rxjs/operators";
import { ConfiguratieService } from "../../configuratie/configuratie.service";
import { UtilService } from "../../core/service/util.service";
import { IdentityService } from "../../identity/identity.service";
import { Group } from "../../identity/model/group";
import { User } from "../../identity/model/user";
import { GeneratedType } from "../../shared/utils/generated-types";
import { ZaakStatusmailOptie } from "../../zaken/model/zaak-statusmail-optie";
import { AdminComponent } from "../admin/admin.component";
Expand Down Expand Up @@ -94,8 +92,8 @@ export class ParameterEditComponent

caseDefinitions: CaseDefinition[];
domeinen: string[];
groepen: Group[];
medewerkers: User[];
groepen: GeneratedType<"RestGroup">[];
medewerkers: GeneratedType<"RestLoggedInUser">[];
resultaattypes: GeneratedType<"RestResultaattype">[];
referentieTabellen: ReferentieTabel[];
formulierDefinities: FormulierDefinitie[];
Expand Down
4 changes: 2 additions & 2 deletions src/main/app/src/app/core/toolbar/toolbar.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@ import { MatSidenav } from "@angular/material/sidenav";
import moment from "moment";
import { Observable, Subscription } from "rxjs";
import { IdentityService } from "../../identity/identity.service";
import { User } from "../../identity/model/user";
import { OverigeRechten } from "../../policy/model/overige-rechten";
import { WerklijstRechten } from "../../policy/model/werklijst-rechten";
import { PolicyService } from "../../policy/policy.service";
import { NavigationService } from "../../shared/navigation/navigation.service";
import { SessionStorageUtil } from "../../shared/storage/session-storage.util";
import { GeneratedType } from "../../shared/utils/generated-types";
import { SignaleringenService } from "../../signaleringen.service";
import { ZoekenService } from "../../zoeken/zoeken.service";
import { UtilService } from "../service/util.service";
Expand All @@ -35,7 +35,7 @@ export class ToolbarComponent implements OnInit, OnDestroy {

headerTitle$: Observable<string>;
hasNewSignaleringen: boolean;
ingelogdeMedewerker: User;
ingelogdeMedewerker: GeneratedType<"RestUser">;
overigeRechten = new OverigeRechten();
werklijstRechten = new WerklijstRechten();
medewerkerNaamToolbar = "";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@

import { SortDirection } from "@angular/material/sort";
import { ZoekFilters } from "../../gebruikersvoorkeuren/zoekopdracht/zoekopdracht.component";
import { User } from "../../identity/model/user";
import { ListParameters } from "../../shared/model/list-parameters";
import { GeneratedType } from "../../shared/utils/generated-types";
import { DatumRange } from "../../zoeken/model/datum-range";

export class OntkoppeldDocumentListParameters
Expand All @@ -15,7 +15,7 @@ export class OntkoppeldDocumentListParameters
{
readonly filtersType = "OntkoppeldDocumentListParameters";
zaakID: string;
ontkoppeldDoor: User;
ontkoppeldDoor: GeneratedType<"RestUser">;
ontkoppeldOp = new DatumRange();
creatiedatum = new DatumRange();
titel: string;
Expand Down
6 changes: 3 additions & 3 deletions src/main/app/src/app/documenten/model/ontkoppeld-document.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
/*
* SPDX-FileCopyrightText: 2022 Atos
* SPDX-FileCopyrightText: 2022 Atosm 2024 Lifely
* SPDX-License-Identifier: EUPL-1.2+
*/

import { User } from "../../identity/model/user";
import { GeneratedType } from "../../shared/utils/generated-types";

export class OntkoppeldDocument {
id: number;
Expand All @@ -13,7 +13,7 @@ export class OntkoppeldDocument {
creatiedatum: string;
titel: string;
bestandsnaam: string;
ontkoppeldDoor: User;
ontkoppeldDoor: GeneratedType<"RestUser">;
ontkoppeldOp: string;
reden: string;
}
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
/*
* SPDX-FileCopyrightText: 2022 Atos
* SPDX-FileCopyrightText: 2022 Atos, 2024 Lifely
* SPDX-License-Identifier: EUPL-1.2+
*/

import { User } from "../../identity/model/user";
import { Resultaat } from "../../shared/model/resultaat";
import { GeneratedType } from "../../shared/utils/generated-types";
import { OntkoppeldDocument } from "./ontkoppeld-document";

export class OntkoppeldeDocumentenResultaat extends Resultaat<OntkoppeldDocument> {
filterOntkoppeldDoor: User[];
filterOntkoppeldDoor: GeneratedType<"RestUser">[];
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ import { UtilService } from "../../core/service/util.service";
import { GebruikersvoorkeurenService } from "../../gebruikersvoorkeuren/gebruikersvoorkeuren.service";
import { Werklijst } from "../../gebruikersvoorkeuren/model/werklijst";
import { Zoekopdracht } from "../../gebruikersvoorkeuren/model/zoekopdracht";
import { User } from "../../identity/model/user";
import { InformatieObjectVerplaatsService } from "../../informatie-objecten/informatie-object-verplaats.service";
import { InformatieObjectenService } from "../../informatie-objecten/informatie-objecten.service";
import {
Expand All @@ -31,6 +30,7 @@ import {
} from "../../shared/confirm-dialog/confirm-dialog.component";
import { WerklijstComponent } from "../../shared/dynamic-table/datasource/werklijst-component";
import { SessionStorageUtil } from "../../shared/storage/session-storage.util";
import { GeneratedType } from "../../shared/utils/generated-types";
import { OntkoppeldDocument } from "../model/ontkoppeld-document";
import { OntkoppeldDocumentListParameters } from "../model/ontkoppeld-document-list-parameters";
import { OntkoppeldeDocumentenService } from "../ontkoppelde-documenten.service";
Expand Down Expand Up @@ -67,7 +67,7 @@ export class OntkoppeldeDocumentenListComponent
"actions_filter",
];
listParameters: OntkoppeldDocumentListParameters;
filterOntkoppeldDoor: User[] = [];
filterOntkoppeldDoor: GeneratedType<"RestUser">[] = [];
filterChange: EventEmitter<void> = new EventEmitter<void>();
clearZoekopdracht: EventEmitter<void> = new EventEmitter<void>();

Expand Down Expand Up @@ -210,7 +210,10 @@ export class OntkoppeldeDocumentenListComponent
return new OntkoppeldDocumentListParameters("ontkoppeldOp", "desc");
}

compareUser = (user1: User, user2: User): boolean => {
compareUser = (
user1: GeneratedType<"RestUser">,
user2: GeneratedType<"RestUser">,
) => {
return user1?.id === user2?.id;
};

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2023 Atos
* SPDX-FileCopyrightText: 2023 Atos, 2024 Lifely
* SPDX-License-Identifier: EUPL-1.2+
*/

Expand All @@ -11,8 +11,7 @@ import { FormulierDefinitie } from "../../admin/model/formulieren/formulier-defi
import { FormulierVeldDefinitie } from "../../admin/model/formulieren/formulier-veld-definitie";
import { FormulierVeldtype } from "../../admin/model/formulieren/formulier-veld-type.enum";
import { IdentityService } from "../../identity/identity.service";
import { Group } from "../../identity/model/group";
import { User } from "../../identity/model/user";
import { GeneratedType } from "../../shared/utils/generated-types";
import { Zaak } from "../../zaken/model/zaak";

@Component({
Expand All @@ -37,8 +36,8 @@ export class FormulierComponent implements OnInit {
>();
referentietabellen: Map<string, string[]> = new Map<string, string[]>();

medewerkers: User[];
groepen: Group[];
medewerkers: GeneratedType<"RestUser">[];
groepen: GeneratedType<"RestGroup">[];

bezigMetOpslaan = false;

Expand Down
13 changes: 6 additions & 7 deletions src/main/app/src/app/formulieren/taken/taak-formulier-builder.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
/*
* SPDX-FileCopyrightText: 2021 - 2022 Atos
* SPDX-FileCopyrightText: 2021 - 2022 Atos, 2024 Lifely
* SPDX-License-Identifier: EUPL-1.2+
*/

import { Group } from "../../identity/model/group";
import { HumanTaskData } from "../../plan-items/model/human-task-data";
import { PlanItem } from "../../plan-items/model/plan-item";
import { DividerFormFieldBuilder } from "../../shared/material-form-builder/form-components/divider/divider-form-field-builder";
import { MedewerkerGroepFieldBuilder } from "../../shared/material-form-builder/form-components/medewerker-groep/medewerker-groep-field-builder";
import { GeneratedType } from "../../shared/utils/generated-types";
import { Taak } from "../../taken/model/taak";
import { TaakStatus } from "../../taken/model/taak-status.enum";
import { Zaak } from "../../zaken/model/zaak";
Expand All @@ -30,11 +30,10 @@ export class TaakFormulierBuilder {
this._formulier.humanTaskData.fataledatum = planItem.fataleDatum;
}
this._formulier.initStartForm();
let groep = null;
if (planItem.groepId) {
groep = new Group();
groep.id = planItem.groepId;
}
const groep: GeneratedType<"RestGroup"> | null = planItem
? { id: planItem.groepId, naam: planItem.naam }
: null;

this._formulier.form.push(
[new DividerFormFieldBuilder().build()],
[
Expand Down
22 changes: 10 additions & 12 deletions src/main/app/src/app/identity/identity.service.ts
Original file line number Diff line number Diff line change
@@ -1,18 +1,16 @@
/*
* SPDX-FileCopyrightText: 2021 Atos
* SPDX-FileCopyrightText: 2021 Atos, 2024 Lifely
* SPDX-License-Identifier: EUPL-1.2+
*/

import { Injectable } from "@angular/core";

import { Observable, of } from "rxjs";
import { of } from "rxjs";
import { catchError, tap } from "rxjs/operators";
import { FoutAfhandelingService } from "../fout-afhandeling/fout-afhandeling.service";
import { ZacHttpClient } from "../shared/http/zac-http-client";
import { SessionStorageUtil } from "../shared/storage/session-storage.util";
import { Group } from "./model/group";
import { LoggedInUser } from "./model/logged-in-user";
import { User } from "./model/user";
import { GeneratedType } from "../shared/utils/generated-types";

@Injectable({
providedIn: "root",
Expand All @@ -25,15 +23,15 @@ export class IdentityService {
private foutAfhandelingService: FoutAfhandelingService,
) {}

listGroups(): Observable<Group[]> {
listGroups() {
return this.zacHttp
.GET("/rest/identity/groups")
.pipe(
catchError((err) => this.foutAfhandelingService.foutAfhandelen(err)),
);
}

listUsersInGroup(groupId: string): Observable<User[]> {
listUsersInGroup(groupId: string) {
return this.zacHttp
.GET("/rest/identity/groups/{groupId}/users", {
pathParams: { path: { groupId } },
Expand All @@ -43,18 +41,18 @@ export class IdentityService {
);
}

listUsers(): Observable<User[]> {
listUsers() {
return this.zacHttp
.GET(`/rest/identity/users`)
.pipe(
catchError((err) => this.foutAfhandelingService.foutAfhandelen(err)),
);
}

readLoggedInUser(): Observable<LoggedInUser> {
const loggedInUser = SessionStorageUtil.getItem(
IdentityService.LOGGED_IN_USER_KEY,
) as LoggedInUser;
readLoggedInUser() {
const loggedInUser = SessionStorageUtil.getItem<
GeneratedType<"RestLoggedInUser">
>(IdentityService.LOGGED_IN_USER_KEY);
if (loggedInUser) {
return of(loggedInUser);
}
Expand Down
9 changes: 0 additions & 9 deletions src/main/app/src/app/identity/model/group.ts

This file was deleted.

10 changes: 0 additions & 10 deletions src/main/app/src/app/identity/model/logged-in-user.ts

This file was deleted.

9 changes: 0 additions & 9 deletions src/main/app/src/app/identity/model/user.ts

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ import { MatDrawer } from "@angular/material/sidenav";
import { TranslateService } from "@ngx-translate/core";
import moment from "moment";
import { BehaviorSubject, Subscription, combineLatest, map, tap } from "rxjs";
import { LoggedInUser } from "src/app/identity/model/logged-in-user";
import { FileInputFormFieldBuilder } from "src/app/shared/material-form-builder/form-components/file-input/file-input-form-field-builder";
import { ConfiguratieService } from "../../configuratie/configuratie.service";
import { UtilService } from "../../core/service/util.service";
Expand Down Expand Up @@ -81,7 +80,7 @@ export class InformatieObjectAddComponent implements AfterViewInit, OnDestroy {
private status: SelectFormField;
private subscriptions: Subscription[] = [];

private getInputs(deps: { loggedInUser: LoggedInUser }) {
private getInputs(deps: { loggedInUser: GeneratedType<"RestLoggedInUser"> }) {
const { loggedInUser } = deps;
this.formConfig = new FormConfigBuilder()
.saveText("actie.toevoegen")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ import moment from "moment";
import { BehaviorSubject, Subscription, firstValueFrom } from "rxjs";
import { first } from "rxjs/operators";
import { SmartDocumentsService } from "src/app/admin/smart-documents.service";
import { User } from "src/app/identity/model/user";
import { AutocompleteFormFieldBuilder } from "src/app/shared/material-form-builder/form-components/autocomplete/autocomplete-form-field-builder";
import { HiddenFormFieldBuilder } from "src/app/shared/material-form-builder/form-components/hidden/hidden-form-field-builder";
import { AbstractFormField } from "src/app/shared/material-form-builder/model/abstract-form-field";
Expand All @@ -37,6 +36,7 @@ import {
NotificationDialogComponent,
NotificationDialogData,
} from "../../shared/notification-dialog/notification-dialog.component";
import { GeneratedType } from "../../shared/utils/generated-types";
import { Zaak } from "../../zaken/model/zaak";
import { InformatieObjectenService } from "../informatie-objecten.service";
import { DocumentCreationData } from "../model/document-creation-data";
Expand All @@ -58,7 +58,7 @@ export class InformatieObjectCreateAttendedComponent

fields: Array<AbstractFormField[]>;
formConfig: FormConfig;
private ingelogdeMedewerker: User;
private ingelogdeMedewerker: GeneratedType<"RestLoggedInUser">;
private informatieObjectTypes: any;
private subscriptions$: Subscription[] = [];
private sjabloonOptions$: BehaviorSubject<any[]> = new BehaviorSubject([]);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ import { VertrouwelijkaanduidingToTranslationKeyPipe } from "src/app/shared/pipe
import { ConfiguratieService } from "../../configuratie/configuratie.service";
import { UtilService } from "../../core/service/util.service";
import { IdentityService } from "../../identity/identity.service";
import { User } from "../../identity/model/user";
import { DateFormFieldBuilder } from "../../shared/material-form-builder/form-components/date/date-form-field-builder";
import { InputFormFieldBuilder } from "../../shared/material-form-builder/form-components/input/input-form-field-builder";
import { SelectFormFieldBuilder } from "../../shared/material-form-builder/form-components/select/select-form-field-builder";
Expand Down Expand Up @@ -54,7 +53,7 @@ export class InformatieObjectEditComponent implements OnInit, OnDestroy {

fields: Array<AbstractFormField[]>;
formConfig: FormConfig;
ingelogdeMedewerker: User;
ingelogdeMedewerker: GeneratedType<"RestLoggedInUser">;

private subscriptions$: Subscription[] = [];

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ import { Subject } from "rxjs";
import { Mail } from "../../admin/model/mail";
import { UtilService } from "../../core/service/util.service";
import { IdentityService } from "../../identity/identity.service";
import { User } from "../../identity/model/user";
import { InformatieObjectenService } from "../../informatie-objecten/informatie-objecten.service";
import { InformatieobjectZoekParameters } from "../../informatie-objecten/model/informatieobject-zoek-parameters";
import { KlantenService } from "../../klanten/klanten.service";
Expand Down Expand Up @@ -55,7 +54,7 @@ export class MailCreateComponent implements OnInit {
@Input() sideNav: MatDrawer;
@Output() mailVerstuurd = new EventEmitter<boolean>();
fields: Array<AbstractFormField[]>;
ingelogdeMedewerker: User;
ingelogdeMedewerker: GeneratedType<"RestLoggedInUser">;

verzenderFormField: SelectFormField;
ontvangerFormField: InputFormField;
Expand Down
Loading

0 comments on commit 1af1e2c

Please sign in to comment.