From c5f4db7367c5a531c6e5399cafa9d4b4da1554ad Mon Sep 17 00:00:00 2001 From: Sidney Richards Date: Mon, 7 Oct 2024 11:49:43 +0200 Subject: [PATCH] [WIP] parametrize OK2 params --- src/open_inwoner/openklant/services.py | 26 +++++++++++++------ .../tests/test_openklant2_service.py | 2 +- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/src/open_inwoner/openklant/services.py b/src/open_inwoner/openklant/services.py index c182e3eaa3..b688f0ee63 100644 --- a/src/open_inwoner/openklant/services.py +++ b/src/open_inwoner/openklant/services.py @@ -146,8 +146,16 @@ def from_klantcontact_and_answer( class OpenKlant2Service: client: OpenKlant2Client + + # TODO: When we hook up this service to the main application flows, these + # constants should be turned into configurable parameters. mijn_vragen_actor: uuid.UUID | None - MIJN_VRAGEN_KANAAL: str = "oip_mijn_vragen" + VRAGEN_DEFAULTS = { + "kanaal": "oip_mijn_vragen", + "oip_organisatie_naam": "Open Inwoner Platform", + "interne_taak_gevraagde_handeling": "Beantwoorden vraag Mijn Omgeving", + "interne_taak_toelichting": "Beantwoorden vraag", + } def __init__( self, client: OpenKlant2Client, mijn_vragen_actor: str | uuid.UUID | None = None @@ -466,7 +474,7 @@ def create_question( "inhoud": question, "onderwerp": subject, "taal": "nld", - "kanaal": self.MIJN_VRAGEN_KANAAL, + "kanaal": self.VRAGEN_DEFAULTS["kanaal"], "vertrouwelijk": False, "plaatsgevondenOp": timezone.now().isoformat(), } @@ -479,7 +487,7 @@ def create_question( "hadKlantcontact": {"uuid": klantcontact["uuid"]}, "initiator": True, "wasPartij": {"uuid": partij["uuid"]}, - "organisatienaam": "Open Inwoner Platform", + "organisatienaam": self.VRAGEN_DEFAULTS["oip_organisatie_naam"], } ) logger.info("Created betrokkene: %s", betrokkene["uuid"]) @@ -487,8 +495,10 @@ def create_question( taak = self.client.interne_taak.create( data={ "aanleidinggevendKlantcontact": {"uuid": klantcontact["uuid"]}, - "toelichting": "Beantwoorden vraag", - "gevraagdeHandeling": "Vraag beantwoorden in aanleiding gevend klant contact", + "toelichting": self.VRAGEN_DEFAULTS["interne_taak_toelichting"], + "gevraagdeHandeling": self.VRAGEN_DEFAULTS[ + "interne_taak_gevraagde_handeling" + ], "status": "te_verwerken", "toegewezenAanActor": {"uuid": str(self.mijn_vragen_actor)}, } @@ -513,7 +523,7 @@ def create_answer( "inhoud": answer, "onderwerp": question_klantcontact["onderwerp"], "taal": "nld", - "kanaal": self.MIJN_VRAGEN_KANAAL, + "kanaal": self.VRAGEN_DEFAULTS["kanaal"], "vertrouwelijk": False, "plaatsgevondenOp": timezone.now().isoformat(), } @@ -525,7 +535,7 @@ def create_answer( "hadKlantcontact": {"uuid": answer_klantcontact["uuid"]}, "initiator": True, "wasPartij": {"uuid": partij["uuid"]}, - "organisatienaam": "Open Inwoner Platform", + "organisatienaam": self.VRAGEN_DEFAULTS["oip_organisatie_naam"], } ) @@ -555,7 +565,7 @@ def klantcontacten_for_partij(self, partij: Partij) -> Iterable[KlantContact]: "hadBetrokkenen", "hadBetrokkenen.wasPartij", ], - "kanaal": self.MIJN_VRAGEN_KANAAL, + "kanaal": self.VRAGEN_DEFAULTS["kanaal"], } ) diff --git a/src/open_inwoner/openklant/tests/test_openklant2_service.py b/src/open_inwoner/openklant/tests/test_openklant2_service.py index 3600787852..deea0c3e4f 100644 --- a/src/open_inwoner/openklant/tests/test_openklant2_service.py +++ b/src/open_inwoner/openklant/tests/test_openklant2_service.py @@ -350,7 +350,7 @@ def test_create_question(self): (betrokkene,) = self.service.client.betrokkene.list_iter() (taak,) = self.service.client.interne_taak.list_iter() - self.assertEqual(klantcontact["kanaal"], self.service.MIJN_VRAGEN_KANAAL) + self.assertEqual(klantcontact["kanaal"], self.service.VRAGEN_DEFAULTS["kanaal"]) self.assertEqual(betrokkene["hadKlantcontact"]["uuid"], klantcontact["uuid"]) self.assertEqual(betrokkene["wasPartij"]["uuid"], self.een_persoon["uuid"]) self.assertEqual(