diff --git a/src/openforms/forms/api/serializers/form_definition.py b/src/openforms/forms/api/serializers/form_definition.py index 967c154483..f645407cc6 100644 --- a/src/openforms/forms/api/serializers/form_definition.py +++ b/src/openforms/forms/api/serializers/form_definition.py @@ -114,8 +114,7 @@ class Meta: "view_name": "api:formdefinition-detail", "lookup_field": "uuid", }, - # TODO: enable this in v3, deprecate writing this field - # "name": {"read_only": True}, # writing is done via the `translations` field + "name": {"read_only": True}, # writing is done via the `translations` field "slug": { "required": False, }, diff --git a/src/openforms/forms/tests/admin/test_form.py b/src/openforms/forms/tests/admin/test_form.py index b5d45b0847..e87bb4c794 100644 --- a/src/openforms/forms/tests/admin/test_form.py +++ b/src/openforms/forms/tests/admin/test_form.py @@ -281,6 +281,10 @@ def test_form_admin_import_feedback_messages(self): } ] }, + "translations": { + "en": {"name": "testform"}, + "nl": {"name": "testformulier"}, + }, } ] ).encode("utf-8") diff --git a/src/openforms/forms/tests/exports/formDefinitions.json b/src/openforms/forms/tests/exports/formDefinitions.json index 38f0595d26..375fbd6f5a 100644 --- a/src/openforms/forms/tests/exports/formDefinitions.json +++ b/src/openforms/forms/tests/exports/formDefinitions.json @@ -12,6 +12,10 @@ "internal_name": "Test Definition Internal 1", "slug": "test-definition-1", "url": "http://testserver/api/v2/form-definitions/f0dad93b-333b-49af-868b-a6bcb94fa1b8", - "uuid": "f0dad93b-333b-49af-868b-a6bcb94fa1b8" + "uuid": "f0dad93b-333b-49af-868b-a6bcb94fa1b8", + "translations": { + "en": {"name": "Test Definition 1"}, + "nl": {"name": "Test Definitie 1"} + } } ] diff --git a/src/openforms/forms/tests/test_api_form_versions.py b/src/openforms/forms/tests/test_api_form_versions.py index 7916a24b41..edf90c239e 100644 --- a/src/openforms/forms/tests/test_api_form_versions.py +++ b/src/openforms/forms/tests/test_api_form_versions.py @@ -1,6 +1,7 @@ import datetime from django.urls import reverse +from django.utils import translation from freezegun import freeze_time from rest_framework import status @@ -191,7 +192,9 @@ def test_restore_version(self): form_step = form_steps.get() restored_form_definition = form_step.form_definition - self.assertEqual("Test Definition 1", restored_form_definition.name) + with translation.override("en"): + self.assertEqual("Test Definition 1", restored_form_definition.name) + self.assertEqual("Test Definitie 1", restored_form_definition.name_nl) self.assertEqual( "Test Definition Internal 1", restored_form_definition.internal_name ) diff --git a/src/openforms/forms/tests/test_api_formdefinition.py b/src/openforms/forms/tests/test_api_formdefinition.py index ea35f5f1db..4c5e3dfb5d 100644 --- a/src/openforms/forms/tests/test_api_formdefinition.py +++ b/src/openforms/forms/tests/test_api_formdefinition.py @@ -156,6 +156,10 @@ def test_update(self): ], }, "login_required": True, + "translations": { + "en": {"name": "Updated name"}, + "nl": {"name": "Bijgewerkte naam"}, + }, }, ) @@ -163,7 +167,8 @@ def test_update(self): definition.refresh_from_db() - self.assertEqual("Updated name", definition.name) + self.assertEqual("Bijgewerkte naam", definition.name) + self.assertEqual("Updated name", definition.name_en) self.assertEqual("updated-slug", definition.slug) self.assertEqual(True, definition.login_required) self.assertIn( @@ -217,6 +222,10 @@ def test_create(self): } ], }, + "translations": { + "en": {"name": "Name"}, + "nl": {"name": "Naam"}, + }, }, ) @@ -224,7 +233,8 @@ def test_create(self): definition = FormDefinition.objects.get() - self.assertEqual("Name", definition.name) + self.assertEqual("Naam", definition.name) + self.assertEqual("Name", definition.name_en) self.assertEqual("a-slug", definition.slug) self.assertEqual( [ diff --git a/src/openforms/forms/tests/test_restore_version.py b/src/openforms/forms/tests/test_restore_version.py index d0d49e9e2e..02a675c23a 100644 --- a/src/openforms/forms/tests/test_restore_version.py +++ b/src/openforms/forms/tests/test_restore_version.py @@ -3,6 +3,7 @@ import json from django.test import TestCase +from django.utils import translation from django.utils.translation import gettext as _ from freezegun import freeze_time @@ -63,7 +64,9 @@ def test_restoring_version(self): restored_form_definition = form_steps.get().form_definition - self.assertEqual("Test Definition 1", restored_form_definition.name) + with translation.override("en"): + self.assertEqual("Test Definition 1", restored_form_definition.name) + self.assertEqual("Test Definitie 1", restored_form_definition.name_nl) self.assertEqual( "Test Definition Internal 1", restored_form_definition.internal_name )