Merge branch 'develop' into feature/VBV-621-teilnehmer-profil

This commit is contained in:
Reto Aebersold 2024-01-15 14:40:19 +01:00
commit 1310bf1d3d
2 changed files with 22 additions and 7 deletions

View File

@ -11,6 +11,17 @@ from vbv_lernwelt.shop.serializers import CountrySerializer
@api_view(["GET"]) @api_view(["GET"])
@permission_classes([IsAuthenticated]) @permission_classes([IsAuthenticated])
def list_entities(request): def list_entities(request):
organisations = OrganisationSerializer(Organisation.objects.all(), many=True).data language_code = request.LANGUAGE_CODE if request.LANGUAGE_CODE else "de"
field_mapping = {
"de": "name_de",
"fr": "name_fr",
"it": "name_it",
}
field_name = field_mapping.get(language_code, field_mapping["de"])
organisations = OrganisationSerializer(
Organisation.objects.all().order_by(field_name), many=True
).data
countries = CountrySerializer(Country.objects.all(), many=True).data countries = CountrySerializer(Country.objects.all(), many=True).data
return Response({"organisations": organisations, "countries": countries}) return Response({"organisations": organisations, "countries": countries})

View File

@ -3,7 +3,7 @@ from rest_framework import status
from rest_framework.test import APITestCase from rest_framework.test import APITestCase
from vbv_lernwelt.core.model_utils import add_organisations from vbv_lernwelt.core.model_utils import add_organisations
from vbv_lernwelt.core.models import User from vbv_lernwelt.core.models import Organisation, User
from vbv_lernwelt.shop.model_utils import add_countries from vbv_lernwelt.shop.model_utils import add_countries
@ -17,6 +17,10 @@ class EntitiesViewTest(APITestCase):
add_countries() add_countries()
def test_list_entities(self) -> None: def test_list_entities(self) -> None:
# It seems that different locales handle ordering differently (especially with lower case letters)
# As such we delete entries that start with lower case letters
Organisation.objects.filter(organisation_id__in=[1, 2, 3]).delete()
# GIVEN # GIVEN
url = reverse("list_entities") url = reverse("list_entities")
@ -29,12 +33,12 @@ class EntitiesViewTest(APITestCase):
organisations = response.data["organisations"] organisations = response.data["organisations"]
self.assertEqual( self.assertEqual(
organisations[0], organisations[-1],
{ {
"organisation_id": 1, "organisation_id": 28,
"name_de": "andere Broker", "name_de": "Zürich",
"name_fr": "autres Broker", "name_fr": "Zurich",
"name_it": "altre Broker", "name_it": "Zurigo",
}, },
) )