diff --git a/src/openklant/components/contactgegevens/admin.py b/src/openklant/components/contactgegevens/admin.py index 50eaad90..293b6b8a 100644 --- a/src/openklant/components/contactgegevens/admin.py +++ b/src/openklant/components/contactgegevens/admin.py @@ -27,6 +27,11 @@ class PersoonAdmin(admin.ModelAdmin): _("Adres gegevens"), { "fields": [ + "adres_straatnaam", + "adres_huisnummer", + "adres_huisnummertoevoeging", + "adres_postcode", + "adres_stad", "adres_adresregel1", "adres_adresregel2", "adres_adresregel3", @@ -58,6 +63,11 @@ class OrganisatieAdmin(admin.ModelAdmin): _("Adres gegevens"), { "fields": [ + "adres_straatnaam", + "adres_huisnummer", + "adres_huisnummertoevoeging", + "adres_postcode", + "adres_stad", "adres_adresregel1", "adres_adresregel2", "adres_adresregel3", diff --git a/src/openklant/components/contactgegevens/api/tests/test_apis.py b/src/openklant/components/contactgegevens/api/tests/test_apis.py index df130f51..9abe23af 100644 --- a/src/openklant/components/contactgegevens/api/tests/test_apis.py +++ b/src/openklant/components/contactgegevens/api/tests/test_apis.py @@ -18,6 +18,11 @@ def test_persoon_detail(self): voorvoegsel="", voornamen="John", adres_nummeraanduiding_id="1234567890000001", + adres_straatnaam="straat", + adres_huisnummer="10", + adres_huisnummertoevoeging="A2", + adres_postcode="1008DG", + adres_stad="Amsterdam", adres_adresregel1="adresregel1", adres_adresregel2="adresregel2", adres_adresregel3="adresregel3", @@ -31,6 +36,11 @@ def test_persoon_detail(self): expected_adres = { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adresregel1", "adresregel2": "adresregel2", "adresregel3": "adresregel3", @@ -65,6 +75,11 @@ def test_create_persoon(self): "voornamen": "Devin", "adres": { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adresregel1", "adresregel2": "adresregel2", "adresregel3": "adresregel3", @@ -89,6 +104,11 @@ def test_create_persoon(self): data["adres"], { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adresregel1", "adresregel2": "adresregel2", "adresregel3": "adresregel3", @@ -106,6 +126,11 @@ def test_update_persoon(self): voorvoegsel="", voornamen="Devin", adres_nummeraanduiding_id="1234567890000001", + adres_straatnaam="straat", + adres_huisnummer="10", + adres_huisnummertoevoeging="A2", + adres_postcode="1008DG", + adres_stad="Amsterdam", adres_adresregel1="adresregel1", adres_adresregel2="adresregel2", adres_adresregel3="adresregel3", @@ -133,6 +158,11 @@ def test_update_persoon(self): data["adres"], { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adresregel1", "adresregel2": "adresregel2", "adresregel3": "adresregel3", @@ -150,6 +180,11 @@ def test_update_persoon(self): "voornamen": "changed", "adres": { "nummeraanduidingId": "1234567890000002", + "straatnaam": "changed", + "huisnummer": "10", + "huisnummertoevoeging": "changed", + "postcode": "1001AB", + "stad": "Amsterdam", "adresregel1": "changed", "adresregel2": "changed", "adresregel3": "changed", @@ -170,6 +205,11 @@ def test_update_persoon(self): data["adres"], { "nummeraanduidingId": "1234567890000002", + "straatnaam": "changed", + "huisnummer": "10", + "huisnummertoevoeging": "changed", + "postcode": "1001AB", + "stad": "Amsterdam", "adresregel1": "changed", "adresregel2": "changed", "adresregel3": "changed", @@ -187,6 +227,11 @@ def test_update_partial_persoon(self): voorvoegsel="", voornamen="Devin", adres_nummeraanduiding_id="1234567890000001", + adres_straatnaam="straat", + adres_huisnummer="10", + adres_huisnummertoevoeging="A2", + adres_postcode="1008DG", + adres_stad="Amsterdam", adres_adresregel1="adresregel1", adres_adresregel2="adresregel2", adres_adresregel3="adresregel3", @@ -214,6 +259,11 @@ def test_update_partial_persoon(self): data["adres"], { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adresregel1", "adresregel2": "adresregel2", "adresregel3": "adresregel3", @@ -238,6 +288,11 @@ def test_update_partial_persoon(self): data["adres"], { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adresregel1", "adresregel2": "adresregel2", "adresregel3": "adresregel3", @@ -267,6 +322,11 @@ def test_organisatie_detail(self): oprichtingsdatum="1980-02-23", opheffingsdatum="2020-09-05", adres_nummeraanduiding_id="1234567890000001", + adres_straatnaam="straat", + adres_huisnummer="10", + adres_huisnummertoevoeging="A2", + adres_postcode="1008DG", + adres_stad="Amsterdam", adres_adresregel1="adresregel1", adres_adresregel2="adresregel2", adres_adresregel3="adresregel3", @@ -280,6 +340,11 @@ def test_organisatie_detail(self): expected_adres = { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adresregel1", "adresregel2": "adresregel2", "adresregel3": "adresregel3", @@ -309,6 +374,11 @@ def test_create_organisatie(self): "oprichtingsdatum": "1996-03-12", "adres": { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adresregel1", "adresregel2": "adresregel2", "adresregel3": "adresregel3", @@ -330,6 +400,11 @@ def test_create_organisatie(self): data["adres"], { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adresregel1", "adresregel2": "adresregel2", "adresregel3": "adresregel3", @@ -344,6 +419,11 @@ def test_update_organisatie(self): oprichtingsdatum="1996-03-12", opheffingsdatum=None, adres_nummeraanduiding_id="1234567890000001", + adres_straatnaam="straat", + adres_huisnummer="10", + adres_huisnummertoevoeging="A2", + adres_postcode="1008DG", + adres_stad="Amsterdam", adres_adresregel1="adresregel1", adres_adresregel2="adresregel2", adres_adresregel3="adresregel3", @@ -368,6 +448,11 @@ def test_update_organisatie(self): data["adres"], { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adresregel1", "adresregel2": "adresregel2", "adresregel3": "adresregel3", @@ -382,6 +467,11 @@ def test_update_organisatie(self): "opheffingsdatum": "2023-11-22", "adres": { "nummeraanduidingId": "1234567890000002", + "straatnaam": "changed", + "huisnummer": "10", + "huisnummertoevoeging": "changed", + "postcode": "1001AB", + "stad": "Amsterdam", "adresregel1": "changed", "adresregel2": "changed", "adresregel3": "changed", @@ -398,6 +488,11 @@ def test_update_organisatie(self): data["adres"], { "nummeraanduidingId": "1234567890000002", + "straatnaam": "changed", + "huisnummer": "10", + "huisnummertoevoeging": "changed", + "postcode": "1001AB", + "stad": "Amsterdam", "adresregel1": "changed", "adresregel2": "changed", "adresregel3": "changed", @@ -412,6 +507,11 @@ def test_update_partial_organisatie(self): oprichtingsdatum="1996-03-12", opheffingsdatum=None, adres_nummeraanduiding_id="1234567890000001", + adres_straatnaam="straat", + adres_huisnummer="10", + adres_huisnummertoevoeging="A2", + adres_postcode="1008DG", + adres_stad="Amsterdam", adres_adresregel1="adresregel1", adres_adresregel2="adresregel2", adres_adresregel3="adresregel3", @@ -436,6 +536,11 @@ def test_update_partial_organisatie(self): data["adres"], { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adresregel1", "adresregel2": "adresregel2", "adresregel3": "adresregel3", @@ -458,6 +563,11 @@ def test_update_partial_organisatie(self): data["adres"], { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adresregel1", "adresregel2": "adresregel2", "adresregel3": "adresregel3", diff --git a/src/openklant/components/contactgegevens/migrations/0006_organisatie_adres_huisnummer_and_more.py b/src/openklant/components/contactgegevens/migrations/0006_organisatie_adres_huisnummer_and_more.py new file mode 100644 index 00000000..7974aaaa --- /dev/null +++ b/src/openklant/components/contactgegevens/migrations/0006_organisatie_adres_huisnummer_and_more.py @@ -0,0 +1,289 @@ +# Generated by Django 4.2.17 on 2025-02-11 13:52 + +import django.core.validators +from django.db import migrations, models +import openklant.utils.validators + + +def handle_null_values(apps, schema_editor): + Organisatie = apps.get_model("contactgegevens", "Organisatie") + Persoon = apps.get_model("contactgegevens", "Persoon") + + Organisatie.objects.filter( + adres_huisnummer__isnull=True, + adres_huisnummertoevoeging__isnull=True, + adres_postcode__isnull=True, + adres_stad__isnull=True, + adres_straatnaam__isnull=True, + ).update( + adres_huisnummer="", + adres_huisnummertoevoeging="", + adres_postcode="", + adres_stad="", + adres_straatnaam="", + ) + + Persoon.objects.filter( + adres_huisnummer__isnull=True, + adres_huisnummertoevoeging__isnull=True, + adres_postcode__isnull=True, + adres_stad__isnull=True, + adres_straatnaam__isnull=True, + ).update( + adres_huisnummer="", + adres_huisnummertoevoeging="", + adres_postcode="", + adres_stad="", + adres_straatnaam="", + ) + + +class Migration(migrations.Migration): + + dependencies = [ + ( + "contactgegevens", + "0005_alter_organisatie_adres_nummeraanduiding_id_and_more", + ), + ] + + operations = [ + migrations.AddField( + model_name="organisatie", + name="adres_huisnummer", + field=models.CharField( + blank=True, + help_text="Huisnummer van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + null=True, + max_length=5, + validators=[django.core.validators.validate_integer], + verbose_name="huisnummer", + ), + ), + migrations.AddField( + model_name="organisatie", + name="adres_huisnummertoevoeging", + field=models.CharField( + blank=True, + help_text="Huisnummertoevoeging van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=20, + null=True, + verbose_name="huisnummertoevoeging", + ), + ), + migrations.AddField( + model_name="organisatie", + name="adres_postcode", + field=models.CharField( + blank=True, + help_text="Postcode van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=7, + null=True, + validators=[ + openklant.utils.validators.CustomRegexValidator( + message="Ongeldige postcode", regex="^[1-9][0-9]{3} ?[A-Z]{2}$" + ) + ], + verbose_name="postcode", + ), + ), + migrations.AddField( + model_name="organisatie", + name="adres_stad", + field=models.CharField( + blank=True, + help_text="Stad van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=255, + null=True, + verbose_name="stad", + ), + ), + migrations.AddField( + model_name="organisatie", + name="adres_straatnaam", + field=models.CharField( + blank=True, + help_text="Straatnaam van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=255, + null=True, + verbose_name="straatnaam", + ), + ), + migrations.AddField( + model_name="persoon", + name="adres_huisnummer", + field=models.CharField( + blank=True, + help_text="Huisnummer van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + null=True, + max_length=5, + validators=[django.core.validators.validate_integer], + verbose_name="huisnummer", + ), + ), + migrations.AddField( + model_name="persoon", + name="adres_huisnummertoevoeging", + field=models.CharField( + blank=True, + help_text="Huisnummertoevoeging van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=20, + null=True, + verbose_name="huisnummertoevoeging", + ), + ), + migrations.AddField( + model_name="persoon", + name="adres_postcode", + field=models.CharField( + blank=True, + help_text="Postcode van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=7, + null=True, + validators=[ + openklant.utils.validators.CustomRegexValidator( + message="Ongeldige postcode", regex="^[1-9][0-9]{3} ?[A-Z]{2}$" + ) + ], + verbose_name="postcode", + ), + ), + migrations.AddField( + model_name="persoon", + name="adres_stad", + field=models.CharField( + blank=True, + help_text="Stad van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=255, + null=True, + verbose_name="stad", + ), + ), + migrations.AddField( + model_name="persoon", + name="adres_straatnaam", + field=models.CharField( + blank=True, + help_text="Straatnaam van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=255, + null=True, + verbose_name="straatnaam", + ), + ), + migrations.RunPython( + code=handle_null_values, + reverse_code=migrations.RunPython.noop, + ), + migrations.AlterField( + model_name="organisatie", + name="adres_huisnummer", + field=models.CharField( + blank=True, + help_text="Huisnummer van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=5, + validators=[django.core.validators.validate_integer], + verbose_name="huisnummer", + ), + ), + migrations.AlterField( + model_name="organisatie", + name="adres_huisnummertoevoeging", + field=models.CharField( + blank=True, + help_text="Huisnummertoevoeging van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=20, + verbose_name="huisnummertoevoeging", + ), + ), + migrations.AlterField( + model_name="organisatie", + name="adres_postcode", + field=models.CharField( + blank=True, + help_text="Postcode van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=7, + validators=[ + openklant.utils.validators.CustomRegexValidator( + message="Ongeldige postcode", regex="^[1-9][0-9]{3} ?[A-Z]{2}$" + ) + ], + verbose_name="postcode", + ), + ), + migrations.AlterField( + model_name="organisatie", + name="adres_stad", + field=models.CharField( + blank=True, + help_text="Stad van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=255, + verbose_name="stad", + ), + ), + migrations.AlterField( + model_name="organisatie", + name="adres_straatnaam", + field=models.CharField( + blank=True, + help_text="Straatnaam van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=255, + verbose_name="straatnaam", + ), + ), + migrations.AlterField( + model_name="persoon", + name="adres_huisnummer", + field=models.CharField( + blank=True, + help_text="Huisnummer van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=5, + validators=[django.core.validators.validate_integer], + verbose_name="huisnummer", + ), + ), + migrations.AlterField( + model_name="persoon", + name="adres_huisnummertoevoeging", + field=models.CharField( + blank=True, + help_text="Huisnummertoevoeging van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=20, + verbose_name="huisnummertoevoeging", + ), + ), + migrations.AlterField( + model_name="persoon", + name="adres_postcode", + field=models.CharField( + blank=True, + help_text="Postcode van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=7, + validators=[ + openklant.utils.validators.CustomRegexValidator( + message="Ongeldige postcode", regex="^[1-9][0-9]{3} ?[A-Z]{2}$" + ) + ], + verbose_name="postcode", + ), + ), + migrations.AlterField( + model_name="persoon", + name="adres_stad", + field=models.CharField( + blank=True, + help_text="Stad van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=255, + verbose_name="stad", + ), + ), + migrations.AlterField( + model_name="persoon", + name="adres_straatnaam", + field=models.CharField( + blank=True, + help_text="Straatnaam van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=255, + verbose_name="straatnaam", + ), + ), + ] diff --git a/src/openklant/components/contactgegevens/mixins.py b/src/openklant/components/contactgegevens/mixins.py index c9fa5764..76fa153c 100644 --- a/src/openklant/components/contactgegevens/mixins.py +++ b/src/openklant/components/contactgegevens/mixins.py @@ -1,75 +1,3 @@ -from django.core.validators import MinLengthValidator -from django.db import models -from django.utils.translation import gettext_lazy as _ +from openklant.components.utils.mixins import create_prefixed_mixin -from vng_api_common.descriptors import GegevensGroepType - -from openklant.utils.validators import validate_bag_id, validate_country - - -class AdresMixin(models.Model): - adres_nummeraanduiding_id = models.CharField( - _("nummeraanduiding ID"), - help_text=_( - "Identificatie van het adres bij de Basisregistratie Adressen en Gebouwen." - ), - max_length=16, - validators=[validate_bag_id], - blank=True, - ) - adres_adresregel1 = models.CharField( - _("adresregel 1"), - help_text=_( - "Eerste deel van het adres dat niet voorkomt in de Basisregistratie Adressen en Gebouwen." - ), - max_length=80, - blank=True, - ) - adres_adresregel2 = models.CharField( - _("adresregel 2"), - help_text=_( - "Tweede deel van het adres dat niet voorkomt in de Basisregistratie Adressen en Gebouwen." - ), - max_length=80, - blank=True, - ) - adres_adresregel3 = models.CharField( - _("adresregel 3"), - help_text=_( - "Derde deel van het adres dat niet voorkomt in de Basisregistratie Adressen en Gebouwen." - ), - max_length=80, - blank=True, - ) - adres_land = models.CharField( - _("land"), - help_text=_( - "ISO 3166-code die het land (buiten Nederland) aangeeft alwaar de ingeschrevene verblijft." - ), - validators=[ - MinLengthValidator(limit_value=2), - validate_country, - ], - max_length=2, - blank=True, - ) - - adres = GegevensGroepType( - { - "nummeraanduiding_id": adres_nummeraanduiding_id, - "adresregel_1": adres_adresregel1, - "adresregel_2": adres_adresregel2, - "adresregel_3": adres_adresregel3, - "land": adres_land, - }, - optional=( - "nummeraanduiding_id", - "adresregel_1", - "adresregel_2", - "adresregel_3", - "land", - ), - ) - - class Meta: - abstract = True +AdresMixin = create_prefixed_mixin("adres") diff --git a/src/openklant/components/contactgegevens/openapi.yaml b/src/openklant/components/contactgegevens/openapi.yaml index 060d9610..6ffb53ae 100644 --- a/src/openklant/components/contactgegevens/openapi.yaml +++ b/src/openklant/components/contactgegevens/openapi.yaml @@ -384,6 +384,32 @@ components: en Gebouwen. pattern: ^[0-9]{16}$ maxLength: 16 + straatnaam: + type: string + description: Straatnaam van het adres (indien het een Nederlands adres betreft + zonder BAG-id). + maxLength: 255 + huisnummer: + type: string + description: Huisnummer van het adres (indien het een Nederlands adres betreft + zonder BAG-id). + maxLength: 5 + huisnummertoevoeging: + type: string + description: Huisnummertoevoeging van het adres (indien het een Nederlands + adres betreft zonder BAG-id). + maxLength: 20 + postcode: + type: string + description: Postcode van het adres (indien het een Nederlands adres betreft + zonder BAG-id). + pattern: ^[1-9][0-9]{3} ?[A-Z]{2}$ + maxLength: 7 + stad: + type: string + description: Stad van het adres (indien het een Nederlands adres betreft + zonder BAG-id). + maxLength: 255 adresregel1: type: string description: Eerste deel van het adres dat niet voorkomt in de Basisregistratie @@ -645,6 +671,32 @@ components: en Gebouwen. pattern: ^[0-9]{16}$ maxLength: 16 + straatnaam: + type: string + description: Straatnaam van het adres (indien het een Nederlands adres betreft + zonder BAG-id). + maxLength: 255 + huisnummer: + type: string + description: Huisnummer van het adres (indien het een Nederlands adres betreft + zonder BAG-id). + maxLength: 5 + huisnummertoevoeging: + type: string + description: Huisnummertoevoeging van het adres (indien het een Nederlands + adres betreft zonder BAG-id). + maxLength: 20 + postcode: + type: string + description: Postcode van het adres (indien het een Nederlands adres betreft + zonder BAG-id). + pattern: ^[1-9][0-9]{3} ?[A-Z]{2}$ + maxLength: 7 + stad: + type: string + description: Stad van het adres (indien het een Nederlands adres betreft + zonder BAG-id). + maxLength: 255 adresregel1: type: string description: Eerste deel van het adres dat niet voorkomt in de Basisregistratie diff --git a/src/openklant/components/contactgegevens/tests/test_migrations.py b/src/openklant/components/contactgegevens/tests/test_migrations.py index 379cef4d..bd549a61 100644 --- a/src/openklant/components/contactgegevens/tests/test_migrations.py +++ b/src/openklant/components/contactgegevens/tests/test_migrations.py @@ -332,3 +332,65 @@ def test_ko_migration_persoon_model_wrong_code(self): self.assertEqual(records.count(), 1) self.assertEqual(records[0].adres_nummeraanduiding_id, "1234567890000001") self.assertNotEqual(records[0].adres_nummeraanduiding_id, "123456") + + +class TestNewAadresFields(BaseMigrationTest): + app = "contactgegevens" + migrate_from = "0005_alter_organisatie_adres_nummeraanduiding_id_and_more" + migrate_to = "0006_organisatie_adres_huisnummer_and_more" + + def test_ok_migration_organisatie_model(self): + + Organisatie = self.old_app_state.get_model("contactgegevens", "Organisatie") + org = Organisatie.objects.create(adres_nummeraanduiding_id="1234567890000001") + self.assertFalse(hasattr(org, "adres_straatnaam")) + self.assertFalse(hasattr(org, "adres_huisnummer")) + self.assertFalse(hasattr(org, "adres_huisnummertoevoeging")) + self.assertFalse(hasattr(org, "adres_postcode")) + self.assertFalse(hasattr(org, "adres_stad")) + + self._perform_migration() + + Organisatie = self.apps.get_model("contactgegevens", "Organisatie") + org = Organisatie.objects.get() + + self.assertTrue(hasattr(org, "adres_straatnaam")) + self.assertTrue(hasattr(org, "adres_huisnummer")) + self.assertTrue(hasattr(org, "adres_huisnummertoevoeging")) + self.assertTrue(hasattr(org, "adres_postcode")) + self.assertTrue(hasattr(org, "adres_stad")) + self.assertEqual(org.adres_straatnaam, "") + self.assertEqual(org.adres_huisnummer, "") + self.assertEqual(org.adres_huisnummertoevoeging, "") + self.assertEqual(org.adres_postcode, "") + self.assertEqual(org.adres_stad, "") + + def test_ok_migration_persoon_model(self): + + Persoon = self.old_app_state.get_model("contactgegevens", "Persoon") + + persoon = Persoon.objects.create( + adres_nummeraanduiding_id="1234567890000001", geboortedatum="1980-02-23" + ) + + self.assertFalse(hasattr(persoon, "adres_straatnaam")) + self.assertFalse(hasattr(persoon, "adres_huisnummer")) + self.assertFalse(hasattr(persoon, "adres_huisnummertoevoeging")) + self.assertFalse(hasattr(persoon, "adres_postcode")) + self.assertFalse(hasattr(persoon, "adres_stad")) + + self._perform_migration() + Persoon = self.apps.get_model("contactgegevens", "Persoon") + + persoon = Persoon.objects.get() + + self.assertTrue(hasattr(persoon, "adres_straatnaam")) + self.assertTrue(hasattr(persoon, "adres_huisnummer")) + self.assertTrue(hasattr(persoon, "adres_huisnummertoevoeging")) + self.assertTrue(hasattr(persoon, "adres_postcode")) + self.assertTrue(hasattr(persoon, "adres_stad")) + self.assertEqual(persoon.adres_straatnaam, "") + self.assertEqual(persoon.adres_huisnummer, "") + self.assertEqual(persoon.adres_huisnummertoevoeging, "") + self.assertEqual(persoon.adres_postcode, "") + self.assertEqual(persoon.adres_stad, "") diff --git a/src/openklant/components/klantinteracties/admin/klantcontacten.py b/src/openklant/components/klantinteracties/admin/klantcontacten.py index 155d2bbe..de3f52ae 100644 --- a/src/openklant/components/klantinteracties/admin/klantcontacten.py +++ b/src/openklant/components/klantinteracties/admin/klantcontacten.py @@ -35,6 +35,11 @@ class BetrokkeneInlineAdmin(admin.StackedInline): { "fields": [ "bezoekadres_nummeraanduiding_id", + "bezoekadres_straatnaam", + "bezoekadres_huisnummer", + "bezoekadres_huisnummertoevoeging", + "bezoekadres_postcode", + "bezoekadres_stad", "bezoekadres_adresregel1", "bezoekadres_adresregel2", "bezoekadres_adresregel3", @@ -47,6 +52,11 @@ class BetrokkeneInlineAdmin(admin.StackedInline): { "fields": [ "correspondentieadres_nummeraanduiding_id", + "correspondentieadres_straatnaam", + "correspondentieadres_huisnummer", + "correspondentieadres_huisnummertoevoeging", + "correspondentieadres_postcode", + "correspondentieadres_stad", "correspondentieadres_adresregel1", "correspondentieadres_adresregel2", "correspondentieadres_adresregel3", @@ -109,6 +119,11 @@ class BetrokkeneAdmin(admin.ModelAdmin): { "fields": [ "bezoekadres_nummeraanduiding_id", + "bezoekadres_straatnaam", + "bezoekadres_huisnummer", + "bezoekadres_huisnummertoevoeging", + "bezoekadres_postcode", + "bezoekadres_stad", "bezoekadres_adresregel1", "bezoekadres_adresregel2", "bezoekadres_adresregel3", @@ -121,6 +136,11 @@ class BetrokkeneAdmin(admin.ModelAdmin): { "fields": [ "correspondentieadres_nummeraanduiding_id", + "correspondentieadres_straatnaam", + "correspondentieadres_huisnummer", + "correspondentieadres_huisnummertoevoeging", + "correspondentieadres_postcode", + "correspondentieadres_stad", "correspondentieadres_adresregel1", "correspondentieadres_adresregel2", "correspondentieadres_adresregel3", diff --git a/src/openklant/components/klantinteracties/admin/partijen.py b/src/openklant/components/klantinteracties/admin/partijen.py index a26e58f8..501ca72b 100644 --- a/src/openklant/components/klantinteracties/admin/partijen.py +++ b/src/openklant/components/klantinteracties/admin/partijen.py @@ -128,6 +128,11 @@ class PartijAdmin(admin.ModelAdmin): { "fields": [ "bezoekadres_nummeraanduiding_id", + "bezoekadres_straatnaam", + "bezoekadres_huisnummer", + "bezoekadres_huisnummertoevoeging", + "bezoekadres_postcode", + "bezoekadres_stad", "bezoekadres_adresregel1", "bezoekadres_adresregel2", "bezoekadres_adresregel3", @@ -140,6 +145,11 @@ class PartijAdmin(admin.ModelAdmin): { "fields": [ "correspondentieadres_nummeraanduiding_id", + "correspondentieadres_straatnaam", + "correspondentieadres_huisnummer", + "correspondentieadres_huisnummertoevoeging", + "correspondentieadres_postcode", + "correspondentieadres_stad", "correspondentieadres_adresregel1", "correspondentieadres_adresregel2", "correspondentieadres_adresregel3", diff --git a/src/openklant/components/klantinteracties/api/filterset/partijen.py b/src/openklant/components/klantinteracties/api/filterset/partijen.py index 3825a46e..8d3011d8 100644 --- a/src/openklant/components/klantinteracties/api/filterset/partijen.py +++ b/src/openklant/components/klantinteracties/api/filterset/partijen.py @@ -77,11 +77,21 @@ class Meta: "indicatie_actief", "soort_partij", "bezoekadres_nummeraanduiding_id", + "bezoekadres_straatnaam", + "bezoekadres_huisnummer", + "bezoekadres_huisnummertoevoeging", + "bezoekadres_postcode", + "bezoekadres_stad", "bezoekadres_adresregel1", "bezoekadres_adresregel2", "bezoekadres_adresregel3", "bezoekadres_land", "correspondentieadres_nummeraanduiding_id", + "correspondentieadres_straatnaam", + "correspondentieadres_huisnummer", + "correspondentieadres_huisnummertoevoeging", + "correspondentieadres_postcode", + "correspondentieadres_stad", "correspondentieadres_adresregel1", "correspondentieadres_adresregel2", "correspondentieadres_adresregel3", diff --git a/src/openklant/components/klantinteracties/api/tests/factories.py b/src/openklant/components/klantinteracties/api/tests/factories.py index 33648b70..40d7a06f 100644 --- a/src/openklant/components/klantinteracties/api/tests/factories.py +++ b/src/openklant/components/klantinteracties/api/tests/factories.py @@ -14,6 +14,11 @@ class KlantContactDataFactory(factory.DictFactory): class BezoekAdresDataFactory(factory.DictFactory): nummeraanduidingId = "1234567890000001" + straatnaam = "straat" + huisnummer = "10" + huisnummertoevoeging = "A2" + postcode = "1008DG" + stad = "Amsterdam" adresregel1 = "adres1" adresregel2 = "adres2" adresregel3 = "adres3" @@ -22,6 +27,11 @@ class BezoekAdresDataFactory(factory.DictFactory): class CorrespondentieAdresDataFactory(factory.DictFactory): nummeraanduidingId = "1234567890000002" + straatnaam = "straat" + huisnummer = "10" + huisnummertoevoeging = "A2" + postcode = "1008DG" + stad = "Amsterdam" adresregel1 = "adres1" adresregel2 = "adres2" adresregel3 = "adres3" diff --git a/src/openklant/components/klantinteracties/api/tests/test_expand.py b/src/openklant/components/klantinteracties/api/tests/test_expand.py index 5c38ff70..dc4a935b 100644 --- a/src/openklant/components/klantinteracties/api/tests/test_expand.py +++ b/src/openklant/components/klantinteracties/api/tests/test_expand.py @@ -65,6 +65,11 @@ def test_list_single_expansion(self): expand["bezoekadres"], { "nummeraanduidingId": self.betrokkene.bezoekadres_nummeraanduiding_id, + "straatnaam": self.betrokkene.bezoekadres_straatnaam, + "huisnummer": self.betrokkene.bezoekadres_huisnummer, + "huisnummertoevoeging": self.betrokkene.bezoekadres_huisnummertoevoeging, + "postcode": self.betrokkene.bezoekadres_postcode, + "stad": self.betrokkene.bezoekadres_stad, "adresregel1": self.betrokkene.bezoekadres_adresregel1, "adresregel2": self.betrokkene.bezoekadres_adresregel2, "adresregel3": self.betrokkene.bezoekadres_adresregel3, @@ -75,6 +80,11 @@ def test_list_single_expansion(self): expand["correspondentieadres"], { "nummeraanduidingId": self.betrokkene.correspondentieadres_nummeraanduiding_id, + "straatnaam": self.betrokkene.correspondentieadres_straatnaam, + "huisnummer": self.betrokkene.correspondentieadres_huisnummer, + "huisnummertoevoeging": self.betrokkene.correspondentieadres_huisnummertoevoeging, + "postcode": self.betrokkene.correspondentieadres_postcode, + "stad": self.betrokkene.correspondentieadres_stad, "adresregel1": self.betrokkene.correspondentieadres_adresregel1, "adresregel2": self.betrokkene.correspondentieadres_adresregel2, "adresregel3": self.betrokkene.correspondentieadres_adresregel3, @@ -117,6 +127,11 @@ def test_list_multiple_level_expansion(self): expand["bezoekadres"], { "nummeraanduidingId": self.betrokkene.bezoekadres_nummeraanduiding_id, + "straatnaam": self.betrokkene.bezoekadres_straatnaam, + "huisnummer": self.betrokkene.bezoekadres_huisnummer, + "huisnummertoevoeging": self.betrokkene.bezoekadres_huisnummertoevoeging, + "postcode": self.betrokkene.bezoekadres_postcode, + "stad": self.betrokkene.bezoekadres_stad, "adresregel1": self.betrokkene.bezoekadres_adresregel1, "adresregel2": self.betrokkene.bezoekadres_adresregel2, "adresregel3": self.betrokkene.bezoekadres_adresregel3, @@ -127,6 +142,11 @@ def test_list_multiple_level_expansion(self): expand["correspondentieadres"], { "nummeraanduidingId": self.betrokkene.correspondentieadres_nummeraanduiding_id, + "straatnaam": self.betrokkene.correspondentieadres_straatnaam, + "huisnummer": self.betrokkene.correspondentieadres_huisnummer, + "huisnummertoevoeging": self.betrokkene.correspondentieadres_huisnummertoevoeging, + "postcode": self.betrokkene.correspondentieadres_postcode, + "stad": self.betrokkene.correspondentieadres_stad, "adresregel1": self.betrokkene.correspondentieadres_adresregel1, "adresregel2": self.betrokkene.correspondentieadres_adresregel2, "adresregel3": self.betrokkene.correspondentieadres_adresregel3, @@ -166,6 +186,11 @@ def test_list_multiple_level_expansion(self): expand["bezoekadres"], { "nummeraanduidingId": self.partij.bezoekadres_nummeraanduiding_id, + "straatnaam": self.betrokkene.correspondentieadres_straatnaam, + "huisnummer": self.betrokkene.correspondentieadres_huisnummer, + "huisnummertoevoeging": self.betrokkene.correspondentieadres_huisnummertoevoeging, + "postcode": self.betrokkene.correspondentieadres_postcode, + "stad": self.betrokkene.correspondentieadres_stad, "adresregel1": self.partij.bezoekadres_adresregel1, "adresregel2": self.partij.bezoekadres_adresregel2, "adresregel3": self.partij.bezoekadres_adresregel3, @@ -176,6 +201,11 @@ def test_list_multiple_level_expansion(self): expand["correspondentieadres"], { "nummeraanduidingId": self.partij.correspondentieadres_nummeraanduiding_id, + "straatnaam": self.betrokkene.correspondentieadres_straatnaam, + "huisnummer": self.betrokkene.correspondentieadres_huisnummer, + "huisnummertoevoeging": self.betrokkene.correspondentieadres_huisnummertoevoeging, + "postcode": self.betrokkene.correspondentieadres_postcode, + "stad": self.betrokkene.correspondentieadres_stad, "adresregel1": self.partij.correspondentieadres_adresregel1, "adresregel2": self.partij.correspondentieadres_adresregel2, "adresregel3": self.partij.correspondentieadres_adresregel3, @@ -202,6 +232,11 @@ def test_detail_single_expansion(self): expand["bezoekadres"], { "nummeraanduidingId": self.betrokkene.bezoekadres_nummeraanduiding_id, + "straatnaam": self.betrokkene.correspondentieadres_straatnaam, + "huisnummer": self.betrokkene.correspondentieadres_huisnummer, + "huisnummertoevoeging": self.betrokkene.correspondentieadres_huisnummertoevoeging, + "postcode": self.betrokkene.correspondentieadres_postcode, + "stad": self.betrokkene.correspondentieadres_stad, "adresregel1": self.betrokkene.bezoekadres_adresregel1, "adresregel2": self.betrokkene.bezoekadres_adresregel2, "adresregel3": self.betrokkene.bezoekadres_adresregel3, @@ -212,6 +247,11 @@ def test_detail_single_expansion(self): expand["correspondentieadres"], { "nummeraanduidingId": self.betrokkene.correspondentieadres_nummeraanduiding_id, + "straatnaam": self.betrokkene.correspondentieadres_straatnaam, + "huisnummer": self.betrokkene.correspondentieadres_huisnummer, + "huisnummertoevoeging": self.betrokkene.correspondentieadres_huisnummertoevoeging, + "postcode": self.betrokkene.correspondentieadres_postcode, + "stad": self.betrokkene.correspondentieadres_stad, "adresregel1": self.betrokkene.correspondentieadres_adresregel1, "adresregel2": self.betrokkene.correspondentieadres_adresregel2, "adresregel3": self.betrokkene.correspondentieadres_adresregel3, @@ -253,6 +293,11 @@ def test_detail_multiple_level_expansion(self): expand["bezoekadres"], { "nummeraanduidingId": self.betrokkene.bezoekadres_nummeraanduiding_id, + "straatnaam": self.betrokkene.correspondentieadres_straatnaam, + "huisnummer": self.betrokkene.correspondentieadres_huisnummer, + "huisnummertoevoeging": self.betrokkene.correspondentieadres_huisnummertoevoeging, + "postcode": self.betrokkene.correspondentieadres_postcode, + "stad": self.betrokkene.correspondentieadres_stad, "adresregel1": self.betrokkene.bezoekadres_adresregel1, "adresregel2": self.betrokkene.bezoekadres_adresregel2, "adresregel3": self.betrokkene.bezoekadres_adresregel3, @@ -263,6 +308,11 @@ def test_detail_multiple_level_expansion(self): expand["correspondentieadres"], { "nummeraanduidingId": self.betrokkene.correspondentieadres_nummeraanduiding_id, + "straatnaam": self.betrokkene.correspondentieadres_straatnaam, + "huisnummer": self.betrokkene.correspondentieadres_huisnummer, + "huisnummertoevoeging": self.betrokkene.correspondentieadres_huisnummertoevoeging, + "postcode": self.betrokkene.correspondentieadres_postcode, + "stad": self.betrokkene.correspondentieadres_stad, "adresregel1": self.betrokkene.correspondentieadres_adresregel1, "adresregel2": self.betrokkene.correspondentieadres_adresregel2, "adresregel3": self.betrokkene.correspondentieadres_adresregel3, @@ -302,6 +352,11 @@ def test_detail_multiple_level_expansion(self): expand["bezoekadres"], { "nummeraanduidingId": self.partij.bezoekadres_nummeraanduiding_id, + "straatnaam": self.betrokkene.correspondentieadres_straatnaam, + "huisnummer": self.betrokkene.correspondentieadres_huisnummer, + "huisnummertoevoeging": self.betrokkene.correspondentieadres_huisnummertoevoeging, + "postcode": self.betrokkene.correspondentieadres_postcode, + "stad": self.betrokkene.correspondentieadres_stad, "adresregel1": self.partij.bezoekadres_adresregel1, "adresregel2": self.partij.bezoekadres_adresregel2, "adresregel3": self.partij.bezoekadres_adresregel3, @@ -312,6 +367,11 @@ def test_detail_multiple_level_expansion(self): expand["correspondentieadres"], { "nummeraanduidingId": self.partij.correspondentieadres_nummeraanduiding_id, + "straatnaam": self.betrokkene.correspondentieadres_straatnaam, + "huisnummer": self.betrokkene.correspondentieadres_huisnummer, + "huisnummertoevoeging": self.betrokkene.correspondentieadres_huisnummertoevoeging, + "postcode": self.betrokkene.correspondentieadres_postcode, + "stad": self.betrokkene.correspondentieadres_stad, "adresregel1": self.partij.correspondentieadres_adresregel1, "adresregel2": self.partij.correspondentieadres_adresregel2, "adresregel3": self.partij.correspondentieadres_adresregel3, diff --git a/src/openklant/components/klantinteracties/api/tests/test_klantcontacten.py b/src/openklant/components/klantinteracties/api/tests/test_klantcontacten.py index 933ab11a..1f35a6fe 100644 --- a/src/openklant/components/klantinteracties/api/tests/test_klantcontacten.py +++ b/src/openklant/components/klantinteracties/api/tests/test_klantcontacten.py @@ -411,6 +411,11 @@ def test_create_betrokkene_with_partij(self): "wasPartij": {"uuid": str(partij.uuid)}, "bezoekadres": { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -418,6 +423,11 @@ def test_create_betrokkene_with_partij(self): }, "correspondentieadres": { "nummeraanduidingId": "1234567890000002", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -445,6 +455,11 @@ def test_create_betrokkene_with_partij(self): data["bezoekadres"], { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -455,6 +470,11 @@ def test_create_betrokkene_with_partij(self): data["correspondentieadres"], { "nummeraanduidingId": "1234567890000002", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -484,6 +504,11 @@ def test_create_betrokkene(self): "wasPartij": None, "bezoekadres": { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -491,6 +516,11 @@ def test_create_betrokkene(self): }, "correspondentieadres": { "nummeraanduidingId": "1234567890000002", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -518,6 +548,11 @@ def test_create_betrokkene(self): data["bezoekadres"], { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -528,6 +563,11 @@ def test_create_betrokkene(self): data["correspondentieadres"], { "nummeraanduidingId": "1234567890000002", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -556,11 +596,21 @@ def test_update_betrokkene(self): klantcontact=klantcontact, partij=partij, bezoekadres_nummeraanduiding_id="1234567890000001", + bezoekadres_straatnaam="straat", + bezoekadres_huisnummer="10", + bezoekadres_huisnummertoevoeging="A2", + bezoekadres_postcode="1008DG", + bezoekadres_stad="Amsterdam", bezoekadres_adresregel1="adres1", bezoekadres_adresregel2="adres2", bezoekadres_adresregel3="adres3", bezoekadres_land="NL", correspondentieadres_nummeraanduiding_id="1234567890000002", + correspondentieadres_straatnaam="straat", + correspondentieadres_huisnummer="10", + correspondentieadres_huisnummertoevoeging="A2", + correspondentieadres_postcode="1008DG", + correspondentieadres_stad="Amsterdam", correspondentieadres_adresregel1="adres1", correspondentieadres_adresregel2="adres2", correspondentieadres_adresregel3="adres3", @@ -585,6 +635,11 @@ def test_update_betrokkene(self): data["bezoekadres"], { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -595,6 +650,11 @@ def test_update_betrokkene(self): data["correspondentieadres"], { "nummeraanduidingId": "1234567890000002", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -621,6 +681,11 @@ def test_update_betrokkene(self): "hadKlantcontact": {"uuid": str(klantcontact2.uuid)}, "bezoekadres": { "nummeraanduidingId": "1234567890000001", + "straatnaam": "changed", + "huisnummer": "10", + "huisnummertoevoeging": "changed", + "postcode": "1001AB", + "stad": "Amsterdam", "adresregel1": "changed", "adresregel2": "changed", "adresregel3": "changed", @@ -628,6 +693,11 @@ def test_update_betrokkene(self): }, "correspondentieadres": { "nummeraanduidingId": "1234567890000002", + "straatnaam": "changed", + "huisnummer": "10", + "huisnummertoevoeging": "changed", + "postcode": "1001AB", + "stad": "Amsterdam", "adresregel1": "changed", "adresregel2": "changed", "adresregel3": "changed", @@ -655,6 +725,11 @@ def test_update_betrokkene(self): data["bezoekadres"], { "nummeraanduidingId": "1234567890000001", + "straatnaam": "changed", + "huisnummer": "10", + "huisnummertoevoeging": "changed", + "postcode": "1001AB", + "stad": "Amsterdam", "adresregel1": "changed", "adresregel2": "changed", "adresregel3": "changed", @@ -665,6 +740,11 @@ def test_update_betrokkene(self): data["correspondentieadres"], { "nummeraanduidingId": "1234567890000002", + "straatnaam": "changed", + "huisnummer": "10", + "huisnummertoevoeging": "changed", + "postcode": "1001AB", + "stad": "Amsterdam", "adresregel1": "changed", "adresregel2": "changed", "adresregel3": "changed", @@ -693,11 +773,21 @@ def test_partial_update_betrokkene(self): klantcontact=klantcontact, partij=partij, bezoekadres_nummeraanduiding_id="1234567890000001", + bezoekadres_straatnaam="straat", + bezoekadres_huisnummer="10", + bezoekadres_huisnummertoevoeging="A2", + bezoekadres_postcode="1008DG", + bezoekadres_stad="Amsterdam", bezoekadres_adresregel1="adres1", bezoekadres_adresregel2="adres2", bezoekadres_adresregel3="adres3", bezoekadres_land="NL", correspondentieadres_nummeraanduiding_id="1234567890000002", + correspondentieadres_straatnaam="straat", + correspondentieadres_huisnummer="10", + correspondentieadres_huisnummertoevoeging="A2", + correspondentieadres_postcode="1008DG", + correspondentieadres_stad="Amsterdam", correspondentieadres_adresregel1="adres1", correspondentieadres_adresregel2="adres2", correspondentieadres_adresregel3="adres3", @@ -722,6 +812,11 @@ def test_partial_update_betrokkene(self): data["bezoekadres"], { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -732,6 +827,11 @@ def test_partial_update_betrokkene(self): data["correspondentieadres"], { "nummeraanduidingId": "1234567890000002", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -756,6 +856,11 @@ def test_partial_update_betrokkene(self): data = { "bezoekadres": { "nummeraanduidingId": "1234567890000001", + "straatnaam": "changed", + "huisnummer": "10", + "huisnummertoevoeging": "changed", + "postcode": "1001AB", + "stad": "Amsterdam", "adresregel1": "changed", "adresregel2": "changed", "adresregel3": "changed", @@ -772,6 +877,11 @@ def test_partial_update_betrokkene(self): data["bezoekadres"], { "nummeraanduidingId": "1234567890000001", + "straatnaam": "changed", + "huisnummer": "10", + "huisnummertoevoeging": "changed", + "postcode": "1001AB", + "stad": "Amsterdam", "adresregel1": "changed", "adresregel2": "changed", "adresregel3": "changed", @@ -782,6 +892,11 @@ def test_partial_update_betrokkene(self): data["correspondentieadres"], { "nummeraanduidingId": "1234567890000002", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -1575,6 +1690,11 @@ def test_create_success(self): "digitaleAdressen": [], "bezoekadres": { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -1582,6 +1702,11 @@ def test_create_success(self): }, "correspondentieadres": { "nummeraanduidingId": "1234567890000002", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", diff --git a/src/openklant/components/klantinteracties/api/tests/test_partijen.py b/src/openklant/components/klantinteracties/api/tests/test_partijen.py index 5f36e120..7826e85e 100644 --- a/src/openklant/components/klantinteracties/api/tests/test_partijen.py +++ b/src/openklant/components/klantinteracties/api/tests/test_partijen.py @@ -111,6 +111,11 @@ def test_create_partij(self): "indicatieActief": True, "bezoekadres": { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -118,6 +123,11 @@ def test_create_partij(self): }, "correspondentieadres": { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -157,6 +167,11 @@ def test_create_partij(self): data["bezoekadres"], { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -167,6 +182,11 @@ def test_create_partij(self): data["correspondentieadres"], { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -213,6 +233,11 @@ def test_create_partij(self): response_data["bezoekadres"], { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -223,6 +248,11 @@ def test_create_partij(self): response_data["correspondentieadres"], { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -392,6 +422,11 @@ def test_create_persoon(self): "indicatieActief": True, "bezoekadres": { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -399,6 +434,11 @@ def test_create_persoon(self): }, "correspondentieadres": { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -435,6 +475,11 @@ def test_create_persoon(self): response_data["bezoekadres"], { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -445,6 +490,11 @@ def test_create_persoon(self): response_data["correspondentieadres"], { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -484,6 +534,11 @@ def test_create_organisatie(self): "indicatieActief": True, "bezoekadres": { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -491,6 +546,11 @@ def test_create_organisatie(self): }, "correspondentieadres": { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -523,6 +583,11 @@ def test_create_organisatie(self): response_data["bezoekadres"], { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -533,6 +598,11 @@ def test_create_organisatie(self): response_data["correspondentieadres"], { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -559,6 +629,11 @@ def test_create_contactpersoon(self): "indicatieActief": True, "bezoekadres": { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -566,6 +641,11 @@ def test_create_contactpersoon(self): }, "correspondentieadres": { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -605,6 +685,11 @@ def test_create_contactpersoon(self): response_data["bezoekadres"], { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -615,6 +700,11 @@ def test_create_contactpersoon(self): response_data["correspondentieadres"], { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -649,11 +739,21 @@ def test_update_partij(self): voorkeurstaal="ndl", indicatie_actief=True, bezoekadres_nummeraanduiding_id="1234567890000001", + bezoekadres_straatnaam="straat", + bezoekadres_huisnummer="10", + bezoekadres_huisnummertoevoeging="A2", + bezoekadres_postcode="1008DG", + bezoekadres_stad="Amsterdam", bezoekadres_adresregel1="adres1", bezoekadres_adresregel2="adres2", bezoekadres_adresregel3="adres3", bezoekadres_land="NL", correspondentieadres_nummeraanduiding_id="1234567890000001", + correspondentieadres_straatnaam="straat", + correspondentieadres_huisnummer="10", + correspondentieadres_huisnummertoevoeging="A2", + correspondentieadres_postcode="1008DG", + correspondentieadres_stad="Amsterdam", correspondentieadres_adresregel1="adres1", correspondentieadres_adresregel2="adres2", correspondentieadres_adresregel3="adres3", @@ -709,6 +809,12 @@ def test_update_partij(self): data["bezoekadres"], { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", + "adresregel1": "adres1", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -719,6 +825,11 @@ def test_update_partij(self): data["correspondentieadres"], { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -751,6 +862,11 @@ def test_update_partij(self): "indicatieActief": False, "bezoekadres": { "nummeraanduidingId": "1234567890000002", + "straatnaam": "changed", + "huisnummer": "10", + "huisnummertoevoeging": "changed", + "postcode": "1001AB", + "stad": "Amsterdam", "adresregel1": "changed", "adresregel2": "changed", "adresregel3": "changed", @@ -758,6 +874,11 @@ def test_update_partij(self): }, "correspondentieadres": { "nummeraanduidingId": "1234567890000003", + "straatnaam": "changed", + "huisnummer": "10", + "huisnummertoevoeging": "changed", + "postcode": "1001AB", + "stad": "Amsterdam", "adresregel1": "changed", "adresregel2": "changed", "adresregel3": "changed", @@ -811,6 +932,11 @@ def test_update_partij(self): data["bezoekadres"], { "nummeraanduidingId": "1234567890000002", + "straatnaam": "changed", + "huisnummer": "10", + "huisnummertoevoeging": "changed", + "postcode": "1001AB", + "stad": "Amsterdam", "adresregel1": "changed", "adresregel2": "changed", "adresregel3": "changed", @@ -821,6 +947,11 @@ def test_update_partij(self): data["correspondentieadres"], { "nummeraanduidingId": "1234567890000003", + "straatnaam": "changed", + "huisnummer": "10", + "huisnummertoevoeging": "changed", + "postcode": "1001AB", + "stad": "Amsterdam", "adresregel1": "changed", "adresregel2": "changed", "adresregel3": "changed", @@ -929,6 +1060,11 @@ def test_update_partij(self): "indicatieActief": False, "bezoekadres": { "nummeraanduidingId": "1234567890000002", + "straatnaam": "changed", + "huisnummer": "10", + "huisnummertoevoeging": "changed", + "postcode": "1001AB", + "stad": "Amsterdam", "adresregel1": "changed", "adresregel2": "changed", "adresregel3": "changed", @@ -936,6 +1072,11 @@ def test_update_partij(self): }, "correspondentieadres": { "nummeraanduidingId": "1234567890000003", + "straatnaam": "changed", + "huisnummer": "10", + "huisnummertoevoeging": "changed", + "postcode": "1001AB", + "stad": "Amsterdam", "adresregel1": "changed", "adresregel2": "changed", "adresregel3": "changed", @@ -961,6 +1102,11 @@ def test_update_partij(self): data["bezoekadres"], { "nummeraanduidingId": "1234567890000002", + "straatnaam": "changed", + "huisnummer": "10", + "huisnummertoevoeging": "changed", + "postcode": "1001AB", + "stad": "Amsterdam", "adresregel1": "changed", "adresregel2": "changed", "adresregel3": "changed", @@ -971,6 +1117,11 @@ def test_update_partij(self): data["correspondentieadres"], { "nummeraanduidingId": "1234567890000003", + "straatnaam": "changed", + "huisnummer": "10", + "huisnummertoevoeging": "changed", + "postcode": "1001AB", + "stad": "Amsterdam", "adresregel1": "changed", "adresregel2": "changed", "adresregel3": "changed", @@ -989,11 +1140,21 @@ def test_update_partij_persoon(self): voorkeurstaal="ndl", indicatie_actief=True, bezoekadres_nummeraanduiding_id="1234567890000001", + bezoekadres_straatnaam="straat", + bezoekadres_huisnummer="10", + bezoekadres_huisnummertoevoeging="A2", + bezoekadres_postcode="1008DG", + bezoekadres_stad="Amsterdam", bezoekadres_adresregel1="adres1", bezoekadres_adresregel2="adres2", bezoekadres_adresregel3="adres3", bezoekadres_land="NL", correspondentieadres_nummeraanduiding_id="1234567890000001", + correspondentieadres_straatnaam="straat", + correspondentieadres_huisnummer="10", + correspondentieadres_huisnummertoevoeging="A2", + correspondentieadres_postcode="1008DG", + correspondentieadres_stad="Amsterdam", correspondentieadres_adresregel1="adres1", correspondentieadres_adresregel2="adres2", correspondentieadres_adresregel3="adres3", @@ -1026,6 +1187,11 @@ def test_update_partij_persoon(self): data["bezoekadres"], { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -1036,6 +1202,11 @@ def test_update_partij_persoon(self): data["correspondentieadres"], { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -1068,6 +1239,11 @@ def test_update_partij_persoon(self): "indicatieActief": False, "bezoekadres": { "nummeraanduidingId": "1234567890000002", + "straatnaam": "changed", + "huisnummer": "10", + "huisnummertoevoeging": "changed", + "postcode": "1001AB", + "stad": "Amsterdam", "adresregel1": "changed", "adresregel2": "changed", "adresregel3": "changed", @@ -1075,6 +1251,11 @@ def test_update_partij_persoon(self): }, "correspondentieadres": { "nummeraanduidingId": "1234567890000003", + "straatnaam": "changed", + "huisnummer": "10", + "huisnummertoevoeging": "changed", + "postcode": "1001AB", + "stad": "Amsterdam", "adresregel1": "changed", "adresregel2": "changed", "adresregel3": "changed", @@ -1108,6 +1289,11 @@ def test_update_partij_persoon(self): data["bezoekadres"], { "nummeraanduidingId": "1234567890000002", + "straatnaam": "changed", + "huisnummer": "10", + "huisnummertoevoeging": "changed", + "postcode": "1001AB", + "stad": "Amsterdam", "adresregel1": "changed", "adresregel2": "changed", "adresregel3": "changed", @@ -1118,6 +1304,11 @@ def test_update_partij_persoon(self): data["correspondentieadres"], { "nummeraanduidingId": "1234567890000003", + "straatnaam": "changed", + "huisnummer": "10", + "huisnummertoevoeging": "changed", + "postcode": "1001AB", + "stad": "Amsterdam", "adresregel1": "changed", "adresregel2": "changed", "adresregel3": "changed", @@ -1148,11 +1339,21 @@ def test_update_partij_organisatie(self): voorkeurstaal="ndl", indicatie_actief=True, bezoekadres_nummeraanduiding_id="1234567890000001", + bezoekadres_straatnaam="straat", + bezoekadres_huisnummer="10", + bezoekadres_huisnummertoevoeging="A2", + bezoekadres_postcode="1008DG", + bezoekadres_stad="Amsterdam", bezoekadres_adresregel1="adres1", bezoekadres_adresregel2="adres2", bezoekadres_adresregel3="adres3", bezoekadres_land="NL", correspondentieadres_nummeraanduiding_id="1234567890000001", + correspondentieadres_straatnaam="straat", + correspondentieadres_huisnummer="10", + correspondentieadres_huisnummertoevoeging="A2", + correspondentieadres_postcode="1008DG", + correspondentieadres_stad="Amsterdam", correspondentieadres_adresregel1="adres1", correspondentieadres_adresregel2="adres2", correspondentieadres_adresregel3="adres3", @@ -1179,6 +1380,11 @@ def test_update_partij_organisatie(self): data["bezoekadres"], { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -1189,6 +1395,11 @@ def test_update_partij_organisatie(self): data["correspondentieadres"], { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -1210,6 +1421,11 @@ def test_update_partij_organisatie(self): "indicatieActief": False, "bezoekadres": { "nummeraanduidingId": "1234567890000002", + "straatnaam": "changed", + "huisnummer": "10", + "huisnummertoevoeging": "changed", + "postcode": "1001AB", + "stad": "Amsterdam", "adresregel1": "changed", "adresregel2": "changed", "adresregel3": "changed", @@ -1217,6 +1433,11 @@ def test_update_partij_organisatie(self): }, "correspondentieadres": { "nummeraanduidingId": "1234567890000003", + "straatnaam": "changed", + "huisnummer": "10", + "huisnummertoevoeging": "changed", + "postcode": "1001AB", + "stad": "Amsterdam", "adresregel1": "changed", "adresregel2": "changed", "adresregel3": "changed", @@ -1245,6 +1466,11 @@ def test_update_partij_organisatie(self): data["bezoekadres"], { "nummeraanduidingId": "1234567890000002", + "straatnaam": "changed", + "huisnummer": "10", + "huisnummertoevoeging": "changed", + "postcode": "1001AB", + "stad": "Amsterdam", "adresregel1": "changed", "adresregel2": "changed", "adresregel3": "changed", @@ -1255,6 +1481,11 @@ def test_update_partij_organisatie(self): data["correspondentieadres"], { "nummeraanduidingId": "1234567890000003", + "straatnaam": "changed", + "huisnummer": "10", + "huisnummertoevoeging": "changed", + "postcode": "1001AB", + "stad": "Amsterdam", "adresregel1": "changed", "adresregel2": "changed", "adresregel3": "changed", @@ -1277,11 +1508,21 @@ def test_update_partij_contactpersoon(self): voorkeurstaal="ndl", indicatie_actief=True, bezoekadres_nummeraanduiding_id="1234567890000001", + bezoekadres_straatnaam="straat", + bezoekadres_huisnummer="10", + bezoekadres_huisnummertoevoeging="A2", + bezoekadres_postcode="1008DG", + bezoekadres_stad="Amsterdam", bezoekadres_adresregel1="adres1", bezoekadres_adresregel2="adres2", bezoekadres_adresregel3="adres3", bezoekadres_land="NL", correspondentieadres_nummeraanduiding_id="1234567890000001", + correspondentieadres_straatnaam="straat", + correspondentieadres_huisnummer="10", + correspondentieadres_huisnummertoevoeging="A2", + correspondentieadres_postcode="1008DG", + correspondentieadres_stad="Amsterdam", correspondentieadres_adresregel1="adres1", correspondentieadres_adresregel2="adres2", correspondentieadres_adresregel3="adres3", @@ -1324,6 +1565,11 @@ def test_update_partij_contactpersoon(self): data["bezoekadres"], { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -1334,6 +1580,11 @@ def test_update_partij_contactpersoon(self): data["correspondentieadres"], { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -1370,6 +1621,11 @@ def test_update_partij_contactpersoon(self): "indicatieActief": False, "bezoekadres": { "nummeraanduidingId": "1234567890000002", + "straatnaam": "changed", + "huisnummer": "10", + "huisnummertoevoeging": "changed", + "postcode": "1001AB", + "stad": "Amsterdam", "adresregel1": "changed", "adresregel2": "changed", "adresregel3": "changed", @@ -1377,6 +1633,11 @@ def test_update_partij_contactpersoon(self): }, "correspondentieadres": { "nummeraanduidingId": "1234567890000003", + "straatnaam": "changed", + "huisnummer": "10", + "huisnummertoevoeging": "changed", + "postcode": "1001AB", + "stad": "Amsterdam", "adresregel1": "changed", "adresregel2": "changed", "adresregel3": "changed", @@ -1411,6 +1672,11 @@ def test_update_partij_contactpersoon(self): data["bezoekadres"], { "nummeraanduidingId": "1234567890000002", + "straatnaam": "changed", + "huisnummer": "10", + "huisnummertoevoeging": "changed", + "postcode": "1001AB", + "stad": "Amsterdam", "adresregel1": "changed", "adresregel2": "changed", "adresregel3": "changed", @@ -1421,6 +1687,11 @@ def test_update_partij_contactpersoon(self): data["correspondentieadres"], { "nummeraanduidingId": "1234567890000003", + "straatnaam": "changed", + "huisnummer": "10", + "huisnummertoevoeging": "changed", + "postcode": "1001AB", + "stad": "Amsterdam", "adresregel1": "changed", "adresregel2": "changed", "adresregel3": "changed", @@ -1455,11 +1726,21 @@ def test_update_partij_contactpersoon_to_persoon(self): voorkeurstaal="ndl", indicatie_actief=True, bezoekadres_nummeraanduiding_id="1234567890000001", + bezoekadres_straatnaam="straat", + bezoekadres_huisnummer="10", + bezoekadres_huisnummertoevoeging="A2", + bezoekadres_postcode="1008DG", + bezoekadres_stad="Amsterdam", bezoekadres_adresregel1="adres1", bezoekadres_adresregel2="adres2", bezoekadres_adresregel3="adres3", bezoekadres_land="NL", correspondentieadres_nummeraanduiding_id="1234567890000001", + correspondentieadres_straatnaam="straat", + correspondentieadres_huisnummer="10", + correspondentieadres_huisnummertoevoeging="A2", + correspondentieadres_postcode="1008DG", + correspondentieadres_stad="Amsterdam", correspondentieadres_adresregel1="adres1", correspondentieadres_adresregel2="adres2", correspondentieadres_adresregel3="adres3", @@ -1494,6 +1775,11 @@ def test_update_partij_contactpersoon_to_persoon(self): data["bezoekadres"], { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -1504,6 +1790,11 @@ def test_update_partij_contactpersoon_to_persoon(self): data["correspondentieadres"], { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -1540,6 +1831,11 @@ def test_update_partij_contactpersoon_to_persoon(self): "indicatieActief": False, "bezoekadres": { "nummeraanduidingId": "1234567890000002", + "straatnaam": "changed", + "huisnummer": "10", + "huisnummertoevoeging": "changed", + "postcode": "1001AB", + "stad": "Amsterdam", "adresregel1": "changed", "adresregel2": "changed", "adresregel3": "changed", @@ -1547,6 +1843,11 @@ def test_update_partij_contactpersoon_to_persoon(self): }, "correspondentieadres": { "nummeraanduidingId": "1234567890000003", + "straatnaam": "changed", + "huisnummer": "10", + "huisnummertoevoeging": "changed", + "postcode": "1001AB", + "stad": "Amsterdam", "adresregel1": "changed", "adresregel2": "changed", "adresregel3": "changed", @@ -1580,6 +1881,11 @@ def test_update_partij_contactpersoon_to_persoon(self): data["bezoekadres"], { "nummeraanduidingId": "1234567890000002", + "straatnaam": "changed", + "huisnummer": "10", + "huisnummertoevoeging": "changed", + "postcode": "1001AB", + "stad": "Amsterdam", "adresregel1": "changed", "adresregel2": "changed", "adresregel3": "changed", @@ -1590,6 +1896,11 @@ def test_update_partij_contactpersoon_to_persoon(self): data["correspondentieadres"], { "nummeraanduidingId": "1234567890000003", + "straatnaam": "changed", + "huisnummer": "10", + "huisnummertoevoeging": "changed", + "postcode": "1001AB", + "stad": "Amsterdam", "adresregel1": "changed", "adresregel2": "changed", "adresregel3": "changed", @@ -1620,11 +1931,21 @@ def test_partial_update_parij(self): voorkeurstaal="ndl", indicatie_actief=True, bezoekadres_nummeraanduiding_id="1234567890000001", + bezoekadres_straatnaam="straat", + bezoekadres_huisnummer="10", + bezoekadres_huisnummertoevoeging="A2", + bezoekadres_postcode="1008DG", + bezoekadres_stad="Amsterdam", bezoekadres_adresregel1="adres1", bezoekadres_adresregel2="adres2", bezoekadres_adresregel3="adres3", bezoekadres_land="NL", correspondentieadres_nummeraanduiding_id="1234567890000001", + correspondentieadres_straatnaam="straat", + correspondentieadres_huisnummer="10", + correspondentieadres_huisnummertoevoeging="A2", + correspondentieadres_postcode="1008DG", + correspondentieadres_stad="Amsterdam", correspondentieadres_adresregel1="adres1", correspondentieadres_adresregel2="adres2", correspondentieadres_adresregel3="adres3", @@ -1663,6 +1984,11 @@ def test_partial_update_parij(self): data["bezoekadres"], { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -1673,6 +1999,11 @@ def test_partial_update_parij(self): data["correspondentieadres"], { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -1720,6 +2051,11 @@ def test_partial_update_parij(self): data["bezoekadres"], { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", @@ -1730,6 +2066,11 @@ def test_partial_update_parij(self): data["correspondentieadres"], { "nummeraanduidingId": "1234567890000001", + "straatnaam": "straat", + "huisnummer": "10", + "huisnummertoevoeging": "A2", + "postcode": "1008DG", + "stad": "Amsterdam", "adresregel1": "adres1", "adresregel2": "adres2", "adresregel3": "adres3", diff --git a/src/openklant/components/klantinteracties/migrations/0028_betrokkene_bezoekadres_huisnummer_and_more.py b/src/openklant/components/klantinteracties/migrations/0028_betrokkene_bezoekadres_huisnummer_and_more.py new file mode 100644 index 00000000..b92a0480 --- /dev/null +++ b/src/openklant/components/klantinteracties/migrations/0028_betrokkene_bezoekadres_huisnummer_and_more.py @@ -0,0 +1,543 @@ +# Generated by Django 4.2.17 on 2025-02-11 13:52 + +import django.core.validators +from django.db import migrations, models +import openklant.utils.validators + + +def handle_null_values(apps, schema_editor): + Betrokkene = apps.get_model("klantinteracties", "Betrokkene") + Partij = apps.get_model("klantinteracties", "Partij") + + Betrokkene.objects.filter( + bezoekadres_huisnummer__isnull=True, + bezoekadres_huisnummertoevoeging__isnull=True, + bezoekadres_postcode__isnull=True, + bezoekadres_stad__isnull=True, + bezoekadres_straatnaam__isnull=True, + correspondentieadres_huisnummer__isnull=True, + correspondentieadres_huisnummertoevoeging__isnull=True, + correspondentieadres_postcode__isnull=True, + correspondentieadres_stad__isnull=True, + correspondentieadres_straatnaam__isnull=True, + ).update( + bezoekadres_huisnummer="", + bezoekadres_huisnummertoevoeging="", + bezoekadres_postcode="", + bezoekadres_stad="", + bezoekadres_straatnaam="", + correspondentieadres_huisnummer="", + correspondentieadres_huisnummertoevoeging="", + correspondentieadres_postcode="", + correspondentieadres_stad="", + correspondentieadres_straatnaam="", + ) + + Partij.objects.filter( + bezoekadres_huisnummer__isnull=True, + bezoekadres_huisnummertoevoeging__isnull=True, + bezoekadres_postcode__isnull=True, + bezoekadres_stad__isnull=True, + bezoekadres_straatnaam__isnull=True, + correspondentieadres_huisnummer__isnull=True, + correspondentieadres_huisnummertoevoeging__isnull=True, + correspondentieadres_postcode__isnull=True, + correspondentieadres_stad__isnull=True, + correspondentieadres_straatnaam__isnull=True, + ).update( + bezoekadres_huisnummer="", + bezoekadres_huisnummertoevoeging="", + bezoekadres_postcode="", + bezoekadres_stad="", + bezoekadres_straatnaam="", + correspondentieadres_huisnummer="", + correspondentieadres_huisnummertoevoeging="", + correspondentieadres_postcode="", + correspondentieadres_stad="", + correspondentieadres_straatnaam="", + ) + + +class Migration(migrations.Migration): + + dependencies = [ + ( + "klantinteracties", + "0027_alter_betrokkene_bezoekadres_nummeraanduiding_id_and_more", + ), + ] + + operations = [ + migrations.AddField( + model_name="betrokkene", + name="bezoekadres_huisnummer", + field=models.CharField( + blank=True, + help_text="Huisnummer van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + null=True, + max_length=5, + validators=[django.core.validators.validate_integer], + verbose_name="huisnummer", + ), + ), + migrations.AddField( + model_name="betrokkene", + name="bezoekadres_huisnummertoevoeging", + field=models.CharField( + blank=True, + help_text="Huisnummertoevoeging van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=20, + null=True, + verbose_name="huisnummertoevoeging", + ), + ), + migrations.AddField( + model_name="betrokkene", + name="bezoekadres_postcode", + field=models.CharField( + blank=True, + help_text="Postcode van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=7, + null=True, + validators=[ + openklant.utils.validators.CustomRegexValidator( + message="Ongeldige postcode", regex="^[1-9][0-9]{3} ?[A-Z]{2}$" + ) + ], + verbose_name="postcode", + ), + ), + migrations.AddField( + model_name="betrokkene", + name="bezoekadres_stad", + field=models.CharField( + blank=True, + help_text="Stad van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=255, + null=True, + verbose_name="stad", + ), + ), + migrations.AddField( + model_name="betrokkene", + name="bezoekadres_straatnaam", + field=models.CharField( + blank=True, + help_text="Straatnaam van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=255, + null=True, + verbose_name="straatnaam", + ), + ), + migrations.AddField( + model_name="betrokkene", + name="correspondentieadres_huisnummer", + field=models.CharField( + blank=True, + help_text="Huisnummer van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + null=True, + max_length=5, + validators=[django.core.validators.validate_integer], + verbose_name="huisnummer", + ), + ), + migrations.AddField( + model_name="betrokkene", + name="correspondentieadres_huisnummertoevoeging", + field=models.CharField( + blank=True, + help_text="Huisnummertoevoeging van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=20, + null=True, + verbose_name="huisnummertoevoeging", + ), + ), + migrations.AddField( + model_name="betrokkene", + name="correspondentieadres_postcode", + field=models.CharField( + blank=True, + help_text="Postcode van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=7, + null=True, + validators=[ + openklant.utils.validators.CustomRegexValidator( + message="Ongeldige postcode", regex="^[1-9][0-9]{3} ?[A-Z]{2}$" + ) + ], + verbose_name="postcode", + ), + ), + migrations.AddField( + model_name="betrokkene", + name="correspondentieadres_stad", + field=models.CharField( + blank=True, + help_text="Stad van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=255, + null=True, + verbose_name="stad", + ), + ), + migrations.AddField( + model_name="betrokkene", + name="correspondentieadres_straatnaam", + field=models.CharField( + blank=True, + help_text="Straatnaam van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=255, + null=True, + verbose_name="straatnaam", + ), + ), + migrations.AddField( + model_name="partij", + name="bezoekadres_huisnummer", + field=models.CharField( + blank=True, + help_text="Huisnummer van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + null=True, + max_length=5, + validators=[django.core.validators.validate_integer], + verbose_name="huisnummer", + ), + ), + migrations.AddField( + model_name="partij", + name="bezoekadres_huisnummertoevoeging", + field=models.CharField( + blank=True, + help_text="Huisnummertoevoeging van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=20, + null=True, + verbose_name="huisnummertoevoeging", + ), + ), + migrations.AddField( + model_name="partij", + name="bezoekadres_postcode", + field=models.CharField( + blank=True, + help_text="Postcode van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=7, + null=True, + validators=[ + openklant.utils.validators.CustomRegexValidator( + message="Ongeldige postcode", regex="^[1-9][0-9]{3} ?[A-Z]{2}$" + ) + ], + verbose_name="postcode", + ), + ), + migrations.AddField( + model_name="partij", + name="bezoekadres_stad", + field=models.CharField( + blank=True, + help_text="Stad van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=255, + null=True, + verbose_name="stad", + ), + ), + migrations.AddField( + model_name="partij", + name="bezoekadres_straatnaam", + field=models.CharField( + blank=True, + help_text="Straatnaam van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=255, + null=True, + verbose_name="straatnaam", + ), + ), + migrations.AddField( + model_name="partij", + name="correspondentieadres_huisnummer", + field=models.CharField( + blank=True, + help_text="Huisnummer van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + null=True, + max_length=5, + validators=[django.core.validators.validate_integer], + verbose_name="huisnummer", + ), + ), + migrations.AddField( + model_name="partij", + name="correspondentieadres_huisnummertoevoeging", + field=models.CharField( + blank=True, + help_text="Huisnummertoevoeging van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=20, + null=True, + verbose_name="huisnummertoevoeging", + ), + ), + migrations.AddField( + model_name="partij", + name="correspondentieadres_postcode", + field=models.CharField( + blank=True, + help_text="Postcode van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=7, + null=True, + validators=[ + openklant.utils.validators.CustomRegexValidator( + message="Ongeldige postcode", regex="^[1-9][0-9]{3} ?[A-Z]{2}$" + ) + ], + verbose_name="postcode", + ), + ), + migrations.AddField( + model_name="partij", + name="correspondentieadres_stad", + field=models.CharField( + blank=True, + help_text="Stad van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=255, + null=True, + verbose_name="stad", + ), + ), + migrations.AddField( + model_name="partij", + name="correspondentieadres_straatnaam", + field=models.CharField( + blank=True, + help_text="Straatnaam van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=255, + null=True, + verbose_name="straatnaam", + ), + ), + migrations.RunPython( + code=handle_null_values, + reverse_code=migrations.RunPython.noop, + ), + migrations.AlterField( + model_name="betrokkene", + name="bezoekadres_huisnummer", + field=models.CharField( + blank=True, + help_text="Huisnummer van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=5, + validators=[django.core.validators.validate_integer], + verbose_name="huisnummer", + ), + ), + migrations.AlterField( + model_name="betrokkene", + name="bezoekadres_huisnummertoevoeging", + field=models.CharField( + blank=True, + help_text="Huisnummertoevoeging van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=20, + verbose_name="huisnummertoevoeging", + ), + ), + migrations.AlterField( + model_name="betrokkene", + name="bezoekadres_postcode", + field=models.CharField( + blank=True, + help_text="Postcode van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=7, + validators=[ + openklant.utils.validators.CustomRegexValidator( + message="Ongeldige postcode", regex="^[1-9][0-9]{3} ?[A-Z]{2}$" + ) + ], + verbose_name="postcode", + ), + ), + migrations.AlterField( + model_name="betrokkene", + name="bezoekadres_stad", + field=models.CharField( + blank=True, + help_text="Stad van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=255, + verbose_name="stad", + ), + ), + migrations.AlterField( + model_name="betrokkene", + name="bezoekadres_straatnaam", + field=models.CharField( + blank=True, + help_text="Straatnaam van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=255, + verbose_name="straatnaam", + ), + ), + migrations.AlterField( + model_name="betrokkene", + name="correspondentieadres_huisnummer", + field=models.CharField( + blank=True, + help_text="Huisnummer van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=5, + validators=[django.core.validators.validate_integer], + verbose_name="huisnummer", + ), + ), + migrations.AlterField( + model_name="betrokkene", + name="correspondentieadres_huisnummertoevoeging", + field=models.CharField( + blank=True, + help_text="Huisnummertoevoeging van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=20, + verbose_name="huisnummertoevoeging", + ), + ), + migrations.AlterField( + model_name="betrokkene", + name="correspondentieadres_postcode", + field=models.CharField( + blank=True, + help_text="Postcode van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=7, + validators=[ + openklant.utils.validators.CustomRegexValidator( + message="Ongeldige postcode", regex="^[1-9][0-9]{3} ?[A-Z]{2}$" + ) + ], + verbose_name="postcode", + ), + ), + migrations.AlterField( + model_name="betrokkene", + name="correspondentieadres_stad", + field=models.CharField( + blank=True, + help_text="Stad van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=255, + verbose_name="stad", + ), + ), + migrations.AlterField( + model_name="betrokkene", + name="correspondentieadres_straatnaam", + field=models.CharField( + blank=True, + help_text="Straatnaam van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=255, + verbose_name="straatnaam", + ), + ), + migrations.AlterField( + model_name="partij", + name="bezoekadres_huisnummer", + field=models.CharField( + blank=True, + help_text="Huisnummer van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=5, + validators=[django.core.validators.validate_integer], + verbose_name="huisnummer", + ), + ), + migrations.AlterField( + model_name="partij", + name="bezoekadres_huisnummertoevoeging", + field=models.CharField( + blank=True, + help_text="Huisnummertoevoeging van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=20, + verbose_name="huisnummertoevoeging", + ), + ), + migrations.AlterField( + model_name="partij", + name="bezoekadres_postcode", + field=models.CharField( + blank=True, + help_text="Postcode van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=7, + validators=[ + openklant.utils.validators.CustomRegexValidator( + message="Ongeldige postcode", regex="^[1-9][0-9]{3} ?[A-Z]{2}$" + ) + ], + verbose_name="postcode", + ), + ), + migrations.AlterField( + model_name="partij", + name="bezoekadres_stad", + field=models.CharField( + blank=True, + help_text="Stad van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=255, + verbose_name="stad", + ), + ), + migrations.AlterField( + model_name="partij", + name="bezoekadres_straatnaam", + field=models.CharField( + blank=True, + help_text="Straatnaam van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=255, + verbose_name="straatnaam", + ), + ), + migrations.AlterField( + model_name="partij", + name="correspondentieadres_huisnummer", + field=models.CharField( + blank=True, + help_text="Huisnummer van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=5, + validators=[django.core.validators.validate_integer], + verbose_name="huisnummer", + ), + ), + migrations.AlterField( + model_name="partij", + name="correspondentieadres_huisnummertoevoeging", + field=models.CharField( + blank=True, + help_text="Huisnummertoevoeging van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=20, + verbose_name="huisnummertoevoeging", + ), + ), + migrations.AlterField( + model_name="partij", + name="correspondentieadres_postcode", + field=models.CharField( + blank=True, + help_text="Postcode van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=7, + validators=[ + openklant.utils.validators.CustomRegexValidator( + message="Ongeldige postcode", regex="^[1-9][0-9]{3} ?[A-Z]{2}$" + ) + ], + verbose_name="postcode", + ), + ), + migrations.AlterField( + model_name="partij", + name="correspondentieadres_stad", + field=models.CharField( + blank=True, + help_text="Stad van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=255, + verbose_name="stad", + ), + ), + migrations.AlterField( + model_name="partij", + name="correspondentieadres_straatnaam", + field=models.CharField( + blank=True, + help_text="Straatnaam van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + max_length=255, + verbose_name="straatnaam", + ), + ), + ] diff --git a/src/openklant/components/klantinteracties/models/mixins.py b/src/openklant/components/klantinteracties/models/mixins.py index a2e13582..79a8b9ae 100644 --- a/src/openklant/components/klantinteracties/models/mixins.py +++ b/src/openklant/components/klantinteracties/models/mixins.py @@ -1,146 +1,12 @@ -from django.core.validators import MinLengthValidator from django.db import models from django.utils.translation import gettext_lazy as _ from vng_api_common.descriptors import GegevensGroepType -from openklant.utils.validators import validate_bag_id, validate_country +from openklant.components.utils.mixins import create_prefixed_mixin - -class BezoekadresMixin(models.Model): - bezoekadres_nummeraanduiding_id = models.CharField( - _("nummeraanduiding ID"), - help_text=_( - "Identificatie van het adres bij de Basisregistratie Adressen en Gebouwen." - ), - max_length=16, - validators=[validate_bag_id], - blank=True, - ) - bezoekadres_adresregel1 = models.CharField( - _("adresregel 1"), - help_text=_( - "Eerste deel van het adres dat niet voorkomt in de Basisregistratie Adressen en Gebouwen." - ), - max_length=80, - blank=True, - ) - bezoekadres_adresregel2 = models.CharField( - _("adresregel 2"), - help_text=_( - "Tweede deel van het adres dat niet voorkomt in de Basisregistratie Adressen en Gebouwen." - ), - max_length=80, - blank=True, - ) - bezoekadres_adresregel3 = models.CharField( - _("adresregel 3"), - help_text=_( - "Derde deel van het adres dat niet voorkomt in de Basisregistratie Adressen en Gebouwen." - ), - max_length=80, - blank=True, - ) - bezoekadres_land = models.CharField( - _("land"), - help_text=_( - "ISO 3166-code die het land (buiten Nederland) aangeeft alwaar de ingeschrevene verblijft." - ), - validators=[ - MinLengthValidator(limit_value=2), - validate_country, - ], - max_length=2, - blank=True, - ) - - bezoekadres = GegevensGroepType( - { - "nummeraanduiding_id": bezoekadres_nummeraanduiding_id, - "adresregel_1": bezoekadres_adresregel1, - "adresregel_2": bezoekadres_adresregel2, - "adresregel_3": bezoekadres_adresregel3, - "land": bezoekadres_land, - }, - optional=( - "nummeraanduiding_id", - "adresregel_1", - "adresregel_2", - "adresregel_3", - "land", - ), - ) - - class Meta: - abstract = True - - -class CorrespondentieadresMixin(models.Model): - correspondentieadres_nummeraanduiding_id = models.CharField( - _("nummeraanduiding ID"), - help_text=_( - "Identificatie van het adres bij de Basisregistratie Adressen en Gebouwen." - ), - max_length=16, - validators=[validate_bag_id], - blank=True, - ) - correspondentieadres_adresregel1 = models.CharField( - _("adresregel 1"), - help_text=_( - "Eerste deel van het adres dat niet voorkomt in de Basisregistratie Adressen en Gebouwen." - ), - max_length=80, - blank=True, - ) - correspondentieadres_adresregel2 = models.CharField( - _("adresregel 2"), - help_text=_( - "Tweede deel van het adres dat niet voorkomt in de Basisregistratie Adressen en Gebouwen." - ), - max_length=80, - blank=True, - ) - correspondentieadres_adresregel3 = models.CharField( - _("adresregel 3"), - help_text=_( - "Derde deel van het adres dat niet voorkomt in de Basisregistratie Adressen en Gebouwen." - ), - max_length=80, - blank=True, - ) - correspondentieadres_land = models.CharField( - _("land"), - help_text=_( - "ISO 3166-code die het land (buiten Nederland) aangeeft alwaar de ingeschrevene verblijft." - ), - validators=[ - MinLengthValidator(limit_value=2), - validate_country, - ], - max_length=2, - blank=True, - ) - - correspondentieadres = GegevensGroepType( - { - "nummeraanduiding_id": correspondentieadres_nummeraanduiding_id, - "adresregel_1": correspondentieadres_adresregel1, - "adresregel_2": correspondentieadres_adresregel2, - "adresregel_3": correspondentieadres_adresregel3, - "land": correspondentieadres_land, - }, - optional=( - "nummeraanduiding_id", - "adresregel_1", - "adresregel_2", - "adresregel_3", - "land", - ), - ) - - class Meta: - abstract = True +BezoekadresMixin = create_prefixed_mixin("bezoekadres") +CorrespondentieadresMixin = create_prefixed_mixin("correspondentieadres") class ContactnaamMixin(models.Model): diff --git a/src/openklant/components/klantinteracties/openapi.yaml b/src/openklant/components/klantinteracties/openapi.yaml index fb0120e5..0ec7b91c 100644 --- a/src/openklant/components/klantinteracties/openapi.yaml +++ b/src/openklant/components/klantinteracties/openapi.yaml @@ -2264,6 +2264,14 @@ paths: name: bezoekadresAdresregel3 schema: type: string + - in: query + name: bezoekadresHuisnummer + schema: + type: string + - in: query + name: bezoekadresHuisnummertoevoeging + schema: + type: string - in: query name: bezoekadresLand schema: @@ -2272,6 +2280,18 @@ paths: name: bezoekadresNummeraanduidingId schema: type: string + - in: query + name: bezoekadresPostcode + schema: + type: string + - in: query + name: bezoekadresStad + schema: + type: string + - in: query + name: bezoekadresStraatnaam + schema: + type: string - in: query name: categorierelatie__categorie__naam schema: @@ -2289,6 +2309,14 @@ paths: name: correspondentieadresAdresregel3 schema: type: string + - in: query + name: correspondentieadresHuisnummer + schema: + type: string + - in: query + name: correspondentieadresHuisnummertoevoeging + schema: + type: string - in: query name: correspondentieadresLand schema: @@ -2297,6 +2325,18 @@ paths: name: correspondentieadresNummeraanduidingId schema: type: string + - in: query + name: correspondentieadresPostcode + schema: + type: string + - in: query + name: correspondentieadresStad + schema: + type: string + - in: query + name: correspondentieadresStraatnaam + schema: + type: string - in: query name: expand schema: @@ -3206,6 +3246,32 @@ components: en Gebouwen. pattern: ^[0-9]{16}$ maxLength: 16 + straatnaam: + type: string + description: Straatnaam van het adres (indien het een Nederlands adres betreft + zonder BAG-id). + maxLength: 255 + huisnummer: + type: string + description: Huisnummer van het adres (indien het een Nederlands adres betreft + zonder BAG-id). + maxLength: 5 + huisnummertoevoeging: + type: string + description: Huisnummertoevoeging van het adres (indien het een Nederlands + adres betreft zonder BAG-id). + maxLength: 20 + postcode: + type: string + description: Postcode van het adres (indien het een Nederlands adres betreft + zonder BAG-id). + pattern: ^[1-9][0-9]{3} ?[A-Z]{2}$ + maxLength: 7 + stad: + type: string + description: Stad van het adres (indien het een Nederlands adres betreft + zonder BAG-id). + maxLength: 255 adresregel1: type: string description: Eerste deel van het adres dat niet voorkomt in de Basisregistratie @@ -3337,6 +3403,32 @@ components: en Gebouwen. pattern: ^[0-9]{16}$ maxLength: 16 + straatnaam: + type: string + description: Straatnaam van het adres (indien het een Nederlands adres betreft + zonder BAG-id). + maxLength: 255 + huisnummer: + type: string + description: Huisnummer van het adres (indien het een Nederlands adres betreft + zonder BAG-id). + maxLength: 5 + huisnummertoevoeging: + type: string + description: Huisnummertoevoeging van het adres (indien het een Nederlands + adres betreft zonder BAG-id). + maxLength: 20 + postcode: + type: string + description: Postcode van het adres (indien het een Nederlands adres betreft + zonder BAG-id). + pattern: ^[1-9][0-9]{3} ?[A-Z]{2}$ + maxLength: 7 + stad: + type: string + description: Stad van het adres (indien het een Nederlands adres betreft + zonder BAG-id). + maxLength: 255 adresregel1: type: string description: Eerste deel van het adres dat niet voorkomt in de Basisregistratie @@ -4633,6 +4725,32 @@ components: en Gebouwen. pattern: ^[0-9]{16}$ maxLength: 16 + straatnaam: + type: string + description: Straatnaam van het adres (indien het een Nederlands adres betreft + zonder BAG-id). + maxLength: 255 + huisnummer: + type: string + description: Huisnummer van het adres (indien het een Nederlands adres betreft + zonder BAG-id). + maxLength: 5 + huisnummertoevoeging: + type: string + description: Huisnummertoevoeging van het adres (indien het een Nederlands + adres betreft zonder BAG-id). + maxLength: 20 + postcode: + type: string + description: Postcode van het adres (indien het een Nederlands adres betreft + zonder BAG-id). + pattern: ^[1-9][0-9]{3} ?[A-Z]{2}$ + maxLength: 7 + stad: + type: string + description: Stad van het adres (indien het een Nederlands adres betreft + zonder BAG-id). + maxLength: 255 adresregel1: type: string description: Eerste deel van het adres dat niet voorkomt in de Basisregistratie @@ -4663,6 +4781,32 @@ components: en Gebouwen. pattern: ^[0-9]{16}$ maxLength: 16 + straatnaam: + type: string + description: Straatnaam van het adres (indien het een Nederlands adres betreft + zonder BAG-id). + maxLength: 255 + huisnummer: + type: string + description: Huisnummer van het adres (indien het een Nederlands adres betreft + zonder BAG-id). + maxLength: 5 + huisnummertoevoeging: + type: string + description: Huisnummertoevoeging van het adres (indien het een Nederlands + adres betreft zonder BAG-id). + maxLength: 20 + postcode: + type: string + description: Postcode van het adres (indien het een Nederlands adres betreft + zonder BAG-id). + pattern: ^[1-9][0-9]{3} ?[A-Z]{2}$ + maxLength: 7 + stad: + type: string + description: Stad van het adres (indien het een Nederlands adres betreft + zonder BAG-id). + maxLength: 255 adresregel1: type: string description: Eerste deel van het adres dat niet voorkomt in de Basisregistratie diff --git a/src/openklant/components/klantinteracties/tests/test_migrations.py b/src/openklant/components/klantinteracties/tests/test_migrations.py index 0db64006..b31df416 100644 --- a/src/openklant/components/klantinteracties/tests/test_migrations.py +++ b/src/openklant/components/klantinteracties/tests/test_migrations.py @@ -437,3 +437,111 @@ def test_ko_migration_partij_model_wrong_code(self): ) self.assertNotEqual(records[0].bezoekadres_nummeraanduiding_id, "ABC") self.assertNotEqual(records[0].correspondentieadres_nummeraanduiding_id, "DEF") + + +class TestNewAadresFields(BaseMigrationTest): + app = "klantinteracties" + migrate_from = "0027_alter_betrokkene_bezoekadres_nummeraanduiding_id_and_more" + migrate_to = "0028_betrokkene_bezoekadres_huisnummer_and_more" + + def test_ok_migration_betrokkene_model(self): + + Betrokkene = self.old_app_state.get_model("klantinteracties", "Betrokkene") + Klantcontact = self.old_app_state.get_model("klantinteracties", "Klantcontact") + + betrokkene = Betrokkene.objects.create( + partij=None, + klantcontact=Klantcontact.objects.create(vertrouwelijk=False), + initiator=False, + ) + self.assertFalse(hasattr(betrokkene, "bezoekadres_straatnaam")) + self.assertFalse(hasattr(betrokkene, "bezoekadres_huisnummer")) + self.assertFalse(hasattr(betrokkene, "bezoekadres_huisnummertoevoeging")) + self.assertFalse(hasattr(betrokkene, "bezoekadres_postcode")) + self.assertFalse(hasattr(betrokkene, "bezoekadres_stad")) + self.assertFalse(hasattr(betrokkene, "correspondentieadres_straatnaam")) + self.assertFalse(hasattr(betrokkene, "correspondentieadres_huisnummer")) + self.assertFalse( + hasattr(betrokkene, "correspondentieadres_huisnummertoevoeging") + ) + self.assertFalse(hasattr(betrokkene, "correspondentieadres_postcode")) + self.assertFalse(hasattr(betrokkene, "correspondentieadres_stad")) + + self._perform_migration() + + Betrokkene = self.apps.get_model("klantinteracties", "Betrokkene") + + betrokkene = Betrokkene.objects.get() + + self.assertTrue(hasattr(betrokkene, "bezoekadres_straatnaam")) + self.assertTrue(hasattr(betrokkene, "bezoekadres_huisnummer")) + self.assertTrue(hasattr(betrokkene, "bezoekadres_huisnummertoevoeging")) + self.assertTrue(hasattr(betrokkene, "bezoekadres_postcode")) + self.assertTrue(hasattr(betrokkene, "bezoekadres_stad")) + self.assertTrue(hasattr(betrokkene, "correspondentieadres_straatnaam")) + self.assertTrue(hasattr(betrokkene, "correspondentieadres_huisnummer")) + self.assertTrue( + hasattr(betrokkene, "correspondentieadres_huisnummertoevoeging") + ) + self.assertTrue(hasattr(betrokkene, "correspondentieadres_postcode")) + self.assertTrue(hasattr(betrokkene, "correspondentieadres_stad")) + + self.assertEqual(betrokkene.bezoekadres_straatnaam, "") + self.assertEqual(betrokkene.bezoekadres_huisnummer, "") + self.assertEqual(betrokkene.bezoekadres_huisnummertoevoeging, "") + self.assertEqual(betrokkene.bezoekadres_postcode, "") + self.assertEqual(betrokkene.bezoekadres_stad, "") + self.assertEqual(betrokkene.correspondentieadres_straatnaam, "") + self.assertEqual(betrokkene.correspondentieadres_huisnummer, "") + self.assertEqual(betrokkene.correspondentieadres_huisnummertoevoeging, "") + self.assertEqual(betrokkene.correspondentieadres_postcode, "") + self.assertEqual(betrokkene.correspondentieadres_stad, "") + + def test_ok_migration_partij_model(self): + + Partij = self.old_app_state.get_model("klantinteracties", "Partij") + + partij = Partij.objects.create( + indicatie_actief=True, + bezoekadres_nummeraanduiding_id="ABC", + correspondentieadres_nummeraanduiding_id="DEF", + ) + self.assertFalse(hasattr(partij, "bezoekadres_straatnaam")) + self.assertFalse(hasattr(partij, "bezoekadres_huisnummer")) + self.assertFalse(hasattr(partij, "bezoekadres_huisnummertoevoeging")) + self.assertFalse(hasattr(partij, "bezoekadres_postcode")) + self.assertFalse(hasattr(partij, "bezoekadres_stad")) + + self.assertFalse(hasattr(partij, "correspondentieadres_straatnaam")) + self.assertFalse(hasattr(partij, "correspondentieadres_huisnummer")) + self.assertFalse(hasattr(partij, "correspondentieadres_huisnummertoevoeging")) + self.assertFalse(hasattr(partij, "correspondentieadres_postcode")) + self.assertFalse(hasattr(partij, "correspondentieadres_stad")) + + self._perform_migration() + + Partij = self.apps.get_model("klantinteracties", "Partij") + + partij = Partij.objects.get() + self.assertTrue(hasattr(partij, "bezoekadres_straatnaam")) + self.assertTrue(hasattr(partij, "bezoekadres_huisnummer")) + self.assertTrue(hasattr(partij, "bezoekadres_huisnummertoevoeging")) + self.assertTrue(hasattr(partij, "bezoekadres_postcode")) + self.assertTrue(hasattr(partij, "bezoekadres_stad")) + + self.assertTrue(hasattr(partij, "correspondentieadres_straatnaam")) + self.assertTrue(hasattr(partij, "correspondentieadres_huisnummer")) + self.assertTrue(hasattr(partij, "correspondentieadres_huisnummertoevoeging")) + self.assertTrue(hasattr(partij, "correspondentieadres_postcode")) + self.assertTrue(hasattr(partij, "correspondentieadres_stad")) + + self.assertEqual(partij.bezoekadres_straatnaam, "") + self.assertEqual(partij.bezoekadres_huisnummer, "") + self.assertEqual(partij.bezoekadres_huisnummertoevoeging, "") + self.assertEqual(partij.bezoekadres_postcode, "") + self.assertEqual(partij.bezoekadres_stad, "") + self.assertEqual(partij.correspondentieadres_straatnaam, "") + self.assertEqual(partij.correspondentieadres_huisnummer, "") + self.assertEqual(partij.correspondentieadres_huisnummertoevoeging, "") + self.assertEqual(partij.correspondentieadres_postcode, "") + self.assertEqual(partij.correspondentieadres_stad, "") diff --git a/src/openklant/components/utils/mixins.py b/src/openklant/components/utils/mixins.py index b5fc1e18..adebe4e4 100644 --- a/src/openklant/components/utils/mixins.py +++ b/src/openklant/components/utils/mixins.py @@ -1,3 +1,15 @@ +from django.core.validators import MinLengthValidator, validate_integer +from django.db import models +from django.utils.translation import gettext_lazy as _ + +from vng_api_common.descriptors import GegevensGroepType + +from openklant.utils.validators import ( + validate_bag_id, + validate_country, + validate_postal_code, +) + from .expansion import ExpandJSONRenderer @@ -43,3 +55,143 @@ def get_requested_inclusions(self, request): if request.method == "POST": return ",".join(request.data.get(self.expand_param, [])) return request.GET.get(self.expand_param) + + +def create_prefixed_mixin(prefix: str): + """Dynamically mreate a Mixin with a prefix for Adres fields""" + + base_fields = { + "nummeraanduiding_id": models.CharField( + _("nummeraanduiding ID"), + help_text=_( + "Identificatie van het adres bij de Basisregistratie Adressen en Gebouwen." + ), + max_length=16, + validators=[validate_bag_id], + blank=True, + ), + "straatnaam": models.CharField( + _("straatnaam"), + help_text=_( + "Straatnaam van het adres (indien het een Nederlands adres betreft zonder BAG-id)." + ), + max_length=255, + blank=True, + ), + "huisnummer": models.CharField( + _("huisnummer"), + help_text=_( + "Huisnummer van het adres (indien het een Nederlands adres betreft zonder BAG-id)." + ), + validators=[ + validate_integer, + ], + max_length=5, + blank=True, + ), + "huisnummertoevoeging": models.CharField( + _("huisnummertoevoeging"), + help_text=_( + "Huisnummertoevoeging van het adres (indien het een Nederlands adres betreft zonder BAG-id).", + ), + max_length=20, + blank=True, + ), + "postcode": models.CharField( + _("postcode"), + help_text=_( + "Postcode van het adres (indien het een Nederlands adres betreft zonder BAG-id)." + ), + validators=[validate_postal_code], + max_length=7, + blank=True, + ), + "stad": models.CharField( + _("stad"), + help_text=_( + "Stad van het adres (indien het een Nederlands adres betreft zonder BAG-id)." + ), + max_length=255, + blank=True, + ), + "adresregel1": models.CharField( + _("adresregel 1"), + help_text=_( + "Eerste deel van het adres dat niet voorkomt in de Basisregistratie Adressen en Gebouwen." + ), + max_length=80, + blank=True, + ), + "adresregel2": models.CharField( + _("adresregel 2"), + help_text=_( + "Tweede deel van het adres dat niet voorkomt in de Basisregistratie Adressen en Gebouwen." + ), + max_length=80, + blank=True, + ), + "adresregel3": models.CharField( + _("adresregel 3"), + help_text=_( + "Derde deel van het adres dat niet voorkomt in de Basisregistratie Adressen en Gebouwen." + ), + max_length=80, + blank=True, + ), + "land": models.CharField( + _("land"), + help_text=_( + "ISO 3166-code die het land (buiten Nederland) aangeeft alwaar de ingeschrevene verblijft." + ), + validators=[ + MinLengthValidator(limit_value=2), + validate_country, + ], + max_length=2, + blank=True, + ), + } + + prefixed_fields = {f"{prefix}_{name}": field for name, field in base_fields.items()} + + class Meta: + abstract = True + + mixin_class = type( + f"{prefix.capitalize()}Mixin", + (models.Model,), + {**prefixed_fields, "__module__": __name__, "Meta": Meta}, + ) + + setattr( + mixin_class, + prefix, + GegevensGroepType( + { + "nummeraanduiding_id": base_fields["nummeraanduiding_id"], + "straatnaam": base_fields["straatnaam"], + "huisnummer": base_fields["huisnummer"], + "huisnummertoevoeging": base_fields["huisnummertoevoeging"], + "postcode": base_fields["postcode"], + "stad": base_fields["stad"], + "adresregel_1": base_fields["adresregel1"], + "adresregel_2": base_fields["adresregel2"], + "adresregel_3": base_fields["adresregel3"], + "land": base_fields["land"], + }, + optional=( + "nummeraanduiding_id", + "straatnaam", + "huisnummer", + "huisnummertoevoeging", + "postcode", + "stad", + "adresregel_1", + "adresregel_2", + "adresregel_3", + "land", + ), + ), + ) + + return mixin_class diff --git a/src/openklant/fixtures/contactgegevens.json b/src/openklant/fixtures/contactgegevens.json index a2833fcd..fee5afd9 100644 --- a/src/openklant/fixtures/contactgegevens.json +++ b/src/openklant/fixtures/contactgegevens.json @@ -4,6 +4,11 @@ "pk": 1, "fields": { "adres_nummeraanduiding_id": "1234567890000001", + "adres_straatnaam":"", + "adres_huisnummer":"", + "adres_huisnummertoevoeging":"", + "adres_postcode":"", + "adres_stad":"", "adres_adresregel1": "Keizersgracht 117", "adres_adresregel2": "1015 CJ Amsterdam", "adres_adresregel3": "Noord-Holland", @@ -20,6 +25,11 @@ "pk": 1, "fields": { "adres_nummeraanduiding_id": "1234567890000002", + "adres_straatnaam":"", + "adres_huisnummer":"", + "adres_huisnummertoevoeging":"", + "adres_postcode":"", + "adres_stad":"", "adres_adresregel1": "Keizersgracht 117", "adres_adresregel2": "1015 CJ Amsterdam", "adres_adresregel3": "Noord-Holland", diff --git a/src/openklant/fixtures/klantinteracties.json b/src/openklant/fixtures/klantinteracties.json index 8c0b7be7..cc13cb78 100644 --- a/src/openklant/fixtures/klantinteracties.json +++ b/src/openklant/fixtures/klantinteracties.json @@ -100,11 +100,21 @@ "pk": 1, "fields": { "bezoekadres_nummeraanduiding_id": "", + "bezoekadres_straatnaam":"", + "bezoekadres_huisnummer":"", + "bezoekadres_huisnummertoevoeging":"", + "bezoekadres_postcode":"", + "bezoekadres_stad":"", "bezoekadres_adresregel1": "", "bezoekadres_adresregel2": "", "bezoekadres_adresregel3": "", "bezoekadres_land": "", "correspondentieadres_nummeraanduiding_id": "", + "correspondentieadres_straatnaam":"", + "correspondentieadres_huisnummer":"", + "correspondentieadres_huisnummertoevoeging":"", + "correspondentieadres_postcode":"", + "correspondentieadres_stad":"", "correspondentieadres_adresregel1": "", "correspondentieadres_adresregel2": "", "correspondentieadres_adresregel3": "", @@ -126,11 +136,21 @@ "pk": 2, "fields": { "bezoekadres_nummeraanduiding_id": "", + "bezoekadres_straatnaam":"", + "bezoekadres_huisnummer":"", + "bezoekadres_huisnummertoevoeging":"", + "bezoekadres_postcode":"", + "bezoekadres_stad":"", "bezoekadres_adresregel1": "", "bezoekadres_adresregel2": "", "bezoekadres_adresregel3": "", "bezoekadres_land": "", "correspondentieadres_nummeraanduiding_id": "", + "correspondentieadres_straatnaam":"", + "correspondentieadres_huisnummer":"", + "correspondentieadres_huisnummertoevoeging":"", + "correspondentieadres_postcode":"", + "correspondentieadres_stad":"", "correspondentieadres_adresregel1": "", "correspondentieadres_adresregel2": "", "correspondentieadres_adresregel3": "", @@ -152,11 +172,21 @@ "pk": 3, "fields": { "bezoekadres_nummeraanduiding_id": "1234567890000001", + "bezoekadres_straatnaam":"", + "bezoekadres_huisnummer":"", + "bezoekadres_huisnummertoevoeging":"", + "bezoekadres_postcode":"", + "bezoekadres_stad":"", "bezoekadres_adresregel1": "Keizersgracht 117", "bezoekadres_adresregel2": "1015 CJ Amsterdam", "bezoekadres_adresregel3": "", "bezoekadres_land": "NL", "correspondentieadres_nummeraanduiding_id": "", + "correspondentieadres_straatnaam":"", + "correspondentieadres_huisnummer":"", + "correspondentieadres_huisnummertoevoeging":"", + "correspondentieadres_postcode":"", + "correspondentieadres_stad":"", "correspondentieadres_adresregel1": "", "correspondentieadres_adresregel2": "", "correspondentieadres_adresregel3": "", @@ -203,11 +233,21 @@ "pk": 1, "fields": { "bezoekadres_nummeraanduiding_id": "", + "bezoekadres_straatnaam":"", + "bezoekadres_huisnummer":"", + "bezoekadres_huisnummertoevoeging":"", + "bezoekadres_postcode":"", + "bezoekadres_stad":"", "bezoekadres_adresregel1": "", "bezoekadres_adresregel2": "", "bezoekadres_adresregel3": "", "bezoekadres_land": "", "correspondentieadres_nummeraanduiding_id": "", + "correspondentieadres_straatnaam":"", + "correspondentieadres_huisnummer":"", + "correspondentieadres_huisnummertoevoeging":"", + "correspondentieadres_postcode":"", + "correspondentieadres_stad":"", "correspondentieadres_adresregel1": "", "correspondentieadres_adresregel2": "", "correspondentieadres_adresregel3": "", @@ -228,11 +268,21 @@ "pk": 2, "fields": { "bezoekadres_nummeraanduiding_id": "1234567890000002", + "bezoekadres_straatnaam":"", + "bezoekadres_huisnummer":"", + "bezoekadres_huisnummertoevoeging":"", + "bezoekadres_postcode":"", + "bezoekadres_stad":"", "bezoekadres_adresregel1": "Keizersgracht 117", "bezoekadres_adresregel2": "1015 CJ Amsterdam", "bezoekadres_adresregel3": "", "bezoekadres_land": "NL", "correspondentieadres_nummeraanduiding_id": "", + "correspondentieadres_straatnaam":"", + "correspondentieadres_huisnummer":"", + "correspondentieadres_huisnummertoevoeging":"", + "correspondentieadres_postcode":"", + "correspondentieadres_stad":"", "correspondentieadres_adresregel1": "", "correspondentieadres_adresregel2": "", "correspondentieadres_adresregel3": "", @@ -253,11 +303,21 @@ "pk": 3, "fields": { "bezoekadres_nummeraanduiding_id": "", + "bezoekadres_straatnaam":"", + "bezoekadres_huisnummer":"", + "bezoekadres_huisnummertoevoeging":"", + "bezoekadres_postcode":"", + "bezoekadres_stad":"", "bezoekadres_adresregel1": "", "bezoekadres_adresregel2": "", "bezoekadres_adresregel3": "", "bezoekadres_land": "", "correspondentieadres_nummeraanduiding_id": "", + "correspondentieadres_straatnaam":"", + "correspondentieadres_huisnummer":"", + "correspondentieadres_huisnummertoevoeging":"", + "correspondentieadres_postcode":"", + "correspondentieadres_stad":"", "correspondentieadres_adresregel1": "", "correspondentieadres_adresregel2": "", "correspondentieadres_adresregel3": "", diff --git a/src/openklant/utils/tests/test_validators.py b/src/openklant/utils/tests/test_validators.py index ca86abba..cf197a78 100644 --- a/src/openklant/utils/tests/test_validators.py +++ b/src/openklant/utils/tests/test_validators.py @@ -49,6 +49,7 @@ def test_validate_postal_code(self): "1000 AAA", "1000AAA", "0000aa", + "0000 aa", "0999aa", "1000 aa", "1000 aaa", @@ -57,6 +58,8 @@ def test_validate_postal_code(self): "1111,a", '1111"a', '1111"aa', + "1111 Aa", + "1111 aA", ] for invalid_postal_code in invalid_postal_codes: self.assertRaisesMessage( @@ -68,12 +71,6 @@ def test_validate_postal_code(self): self.assertIsNone(validate_postal_code("1015CJ")) self.assertIsNone(validate_postal_code("1015 CJ")) - self.assertIsNone(validate_postal_code("1015cj")) - self.assertIsNone(validate_postal_code("1015 cj")) - self.assertIsNone(validate_postal_code("1015Cj")) - self.assertIsNone(validate_postal_code("1015 Cj")) - self.assertIsNone(validate_postal_code("1015cJ")) - self.assertIsNone(validate_postal_code("1015 cJ")) def test_validate_phone_number(self): valid_phone_numbers = [ diff --git a/src/openklant/utils/validators.py b/src/openklant/utils/validators.py index 32ba41ee..9617631f 100644 --- a/src/openklant/utils/validators.py +++ b/src/openklant/utils/validators.py @@ -59,7 +59,7 @@ def __call__(self, value): validate_postal_code = CustomRegexValidator( - regex="^[1-9][0-9]{3} ?[a-zA-Z]{2}$", message=_("Ongeldige postcode") + regex="^[1-9][0-9]{3} ?[A-Z]{2}$", message=_("Ongeldige postcode") ) # Doesn't truely validate if IBAN is valid but validated the basic pattern.