From 83f9aec4752026bf3ac077865f8efc7646386697 Mon Sep 17 00:00:00 2001 From: SonnyBA Date: Tue, 26 Nov 2024 12:36:25 +0100 Subject: [PATCH] Release 2.4.0 --------- Co-authored-by: Sonny Bakker Co-authored-by: Conor Holden --- .bumpversion.cfg | 2 +- CHANGELOG.rst | 34 ++++++++++++++++--- README.rst | 28 ++++++++------- package.json | 2 +- requirements/dev.in | 1 + requirements/dev.txt | 2 ++ src/openklant/__init__.py | 2 +- .../api/serializers/digitaal_adres.py | 10 ++++++ .../components/klantinteracties/openapi.yaml | 14 +++++--- 9 files changed, 72 insertions(+), 23 deletions(-) diff --git a/.bumpversion.cfg b/.bumpversion.cfg index 1ec13b4f..2d08431c 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,7 +1,7 @@ [bumpversion] commit = False tag = False -current_version = 2.3.0 +current_version = 2.4.0 [bumpversion:file:README.rst] diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 1bdfdb6f..231bfa8c 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -2,19 +2,45 @@ Change history ============== -2.x.x +2.4.0 ===== -*TBD* +*November, 26, 2024* **New features** -* Updated OAF version to 0.9.0. This upgrade allows admin users managing their sessions through the admin. +* [#256] Added the ``hadBetrokkene__wasPartij__url`` and ``hadBetrokkene__wasPartij__uuid`` + query parameters to allow filtering ``KlantenContact`` by ``Partij`` +* [#251] Added admin inlines for the ``InterneTaak`` and ``Actor`` to allow managing + the relations between both. Also added search fields for both admins to search for both relations. * [#197] Added a ``migrate_to_v2`` management command which allows users of version ``1.0.0`` to migrate to version ``2.4.0`` More information can be found in the `documentation ` +* [#246] Added ``isStandaardAdres`` for ``DigitaalAdres`` +* Updated OAF version to 0.9.0. This upgrade allows admin users managing their sessions through the admin. +* [#147] Added ``/maak-klantcontact`` convenience endpoint. This allows creating + a ``KlantContact``, a ``Betrokkene`` and a ``OnderwerpObject`` through a + single API request +* [#232] Added ``soortDigitaalAdres`` enum for ``DigitaalAdres`` **Bugfixes/QoL**: -* [#258] Use correct API root in redoc OAS +* [#235] Added extra validation for phone numbers for ``DigitaalAdres.adres`` + when ``DigitaalAdres.soortDigitaalAdres`` is ``telefoonnummer``. +* [#243] Fix expand query parameters. Shows the ``_expand`` field in the response body + even though it might be empty. This behavior is applied to all available + ``_expand`` parameters. +* [#258] Added correct API root paths in redoc OAS +* [#234] Added validation for ``DigitaalAdres.adres`` when it's type is ``email`` +* [#227] Fixed ``partijen`` creation endpoint crash when ``partijIdentificatie`` is not provided +* [#261] Fixed ``Onderwerpobject`` admin inline to use ``klantcontact`` instead of + ``was_klantcontact`` +* [#226] Made ``betrokkene`` a non-required form field in the admin +* [#229] Fixed partijen admin search + +**Project maintenance** + +* [#247] Added CI check to verify open API framework is updated to the latest version +* Upgraded commonground-api-common to 1.13.4 +* [#13] Implemented open-api-workflows 2.3.0 ===== diff --git a/README.rst b/README.rst index b032de97..8acb885a 100644 --- a/README.rst +++ b/README.rst @@ -2,7 +2,7 @@ Open Klant ========== -:Version: 2.3.0 +:Version: 2.4.0 :Source: https://github.com/maykinmedia/open-klant :Keywords: klanten, klantinteracties, contactmomenten, api, common ground :License: EUPL @@ -12,26 +12,26 @@ Open Klant Registratiecomponent voor de opslag en ontsluiting van klantgegevens volgens de Klantinteracties API-specificatie. (`English version`_) -Ontwikkeld door `Maykin B.V.`_ in samenwerking met gemeente Amsterdam, gemeente +Ontwikkeld door `Maykin B.V.`_ in samenwerking met gemeente Amsterdam, gemeente Den Haag, gemeente Utrecht en VNG Realisatie. Introductie =========== -Open Klant implementeert de (concept) `Klantinteracties API`_ specificatie van +Open Klant implementeert de (concept) `Klantinteracties API`_ specificatie van `VNG`_ welke een beperkte set aan gegevens over klanten en hun interactie met de gemeente kan opslaan en ontsluiten. -Samen met gemeenten, die volop bezig zijn met de implementatie van Common -Ground, en VNG, wordt gewerkt aan standaardisatie van de API en realisatie van +Samen met gemeenten, die volop bezig zijn met de implementatie van Common +Ground, en VNG, wordt gewerkt aan standaardisatie van de API en realisatie van Open Klant als beproeving van de toekomstige API standaard. API specificatie ================ -Hieronder staat de versie van Open Klant en welke versie van de +Hieronder staat de versie van Open Klant en welke versie van de API-specificatie wordt aangeboden. ================== ============== ============= ================ @@ -39,13 +39,17 @@ Open Klant versie API versie Release datum API specificatie ================== ============== ============= ================ master/latest n/a n/a `ReDoc `_, `Swagger `_, - (`diff `_) + (`diff `_) +2.4.0 0.0.3+ 2024-11-22 `ReDoc `_, + `Swagger `_, + + (`diff `_) 2.3.0 0.0.3+ 2024-09-05 `ReDoc `_, `Swagger `_, - (`diff `_) + (`diff `_) 2.1.0 0.0.3+ 2024-07-16 `ReDoc `_, `Swagger `_, - (`diff `_) + (`diff `_) 2.0.0 0.0.3 2024-03-15 `ReDoc `_, `Swagger `_ 1.0.0 0.0.1 2023-08-05 Klanten: @@ -56,8 +60,8 @@ master/latest n/a n/a `ReDoc `_ ================== ============== ============= ================ -Vorige versies worden nog 6 maanden ondersteund nadat de volgende versie is -uitgebracht. Open Klant versie 1.0.0 bevat nog de Klanten en Contactmomenten +Vorige versies worden nog 6 maanden ondersteund nadat de volgende versie is +uitgebracht. Open Klant versie 1.0.0 bevat nog de Klanten en Contactmomenten API-specificatie die door VNG is geschrapt en beschouwd moet worden als legacy. Zie: `Alle versies en wijzigingen `_ @@ -68,7 +72,7 @@ Ready-to-go implementatie |build-status| |coverage| |code-style| |codeql| |black| |python-versions| -Deze implementatie is bedoeld als referentie implementatie van de API +Deze implementatie is bedoeld als referentie implementatie van de API specificaties maar tevens een productiewaardig component dat ingezet kan worden in het ICT landschap van de overheid. diff --git a/package.json b/package.json index df3f7516..2cf3d510 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "openklant", - "version": "2.3.0", + "version": "2.4.0", "description": "openklant project", "main": "src/static/openklant/js/openklant.js", "directories": { diff --git a/requirements/dev.in b/requirements/dev.in index e36d8e90..cd67c099 100644 --- a/requirements/dev.in +++ b/requirements/dev.in @@ -1,6 +1,7 @@ # Helpers pip-tools gitpython +bump2version # Debug tooling django-debug-toolbar diff --git a/requirements/dev.txt b/requirements/dev.txt index 905a441d..f7635801 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -53,6 +53,8 @@ boltons==24.0.0 # glom build==1.2.1 # via pip-tools +bump2version==1.0.1 + # via -r requirements/dev.in cbor2==5.6.4 # via # -r requirements/base.txt diff --git a/src/openklant/__init__.py b/src/openklant/__init__.py index ee74eb8e..efba30b6 100644 --- a/src/openklant/__init__.py +++ b/src/openklant/__init__.py @@ -1,6 +1,6 @@ from .celery import app as celery_app __all__ = ("celery_app",) -__version__ = "2.3.0" +__version__ = "2.4.0" __author__ = "Maykin" __homepage__ = "https://github.com/maykinmedia/open-klant" diff --git a/src/openklant/components/klantinteracties/api/serializers/digitaal_adres.py b/src/openklant/components/klantinteracties/api/serializers/digitaal_adres.py index 786a4b94..1fc7a3cd 100644 --- a/src/openklant/components/klantinteracties/api/serializers/digitaal_adres.py +++ b/src/openklant/components/klantinteracties/api/serializers/digitaal_adres.py @@ -84,6 +84,16 @@ class Meta: ) extra_kwargs = { "uuid": {"read_only": True}, + "adres": { + "help_text": _( + "Validatie van dit veld is afhankelijk van het opgegeven " + "`soortDigitaalAdres`. De validatie die toegepast wordt voor " + " e-mailadressen is te lezen via de volgende URL: " + "https://github.com/django/django/blob/4.2/django/core/validators.py#L174." + "Voor telefoonnummers wordt de volgende regex expressie toegepast ter " + "validatie: `(0[8-9]00[0-9]{4,7})|(0[1-9][0-9]{8})|(\\+[0-9]{9,20}|1400|140[0-9]{2,3})`." + ) + }, "url": { "view_name": "klantinteracties:digitaaladres-detail", "lookup_field": "uuid", diff --git a/src/openklant/components/klantinteracties/openapi.yaml b/src/openklant/components/klantinteracties/openapi.yaml index a0b49122..68e0fff1 100644 --- a/src/openklant/components/klantinteracties/openapi.yaml +++ b/src/openklant/components/klantinteracties/openapi.yaml @@ -3489,8 +3489,11 @@ components: contact met de gemeente. adres: type: string - description: Digitaal adres waarmee een persoon of organisatie bereikt kan - worden. + description: 'Validatie van dit veld is afhankelijk van het opgegeven `soortDigitaalAdres`. + De validatie die toegepast wordt voor e-mailadressen is te lezen via + de volgende URL: https://github.com/django/django/blob/4.2/django/core/validators.py#L174.Voor + telefoonnummers wordt de volgende regex expressie toegepast ter validatie: + `(0[8-9]00[0-9]{4,7})|(0[1-9][0-9]{8})|(\+[0-9]{9,20}|1400|140[0-9]{2,3})`.' maxLength: 80 soortDigitaalAdres: allOf: @@ -4898,8 +4901,11 @@ components: contact met de gemeente. adres: type: string - description: Digitaal adres waarmee een persoon of organisatie bereikt kan - worden. + description: 'Validatie van dit veld is afhankelijk van het opgegeven `soortDigitaalAdres`. + De validatie die toegepast wordt voor e-mailadressen is te lezen via + de volgende URL: https://github.com/django/django/blob/4.2/django/core/validators.py#L174.Voor + telefoonnummers wordt de volgende regex expressie toegepast ter validatie: + `(0[8-9]00[0-9]{4,7})|(0[1-9][0-9]{8})|(\+[0-9]{9,20}|1400|140[0-9]{2,3})`.' maxLength: 80 soortDigitaalAdres: allOf: