From 4e543fad55387a23c657aa311c801a6e9ff81f92 Mon Sep 17 00:00:00 2001 From: Sean Morley Date: Mon, 17 Mar 2025 10:38:41 -0400 Subject: [PATCH] feat: Enhance City and Lodging components with region and country names, and improve password disable functionality --- backend/server/worldtravel/serializers.py | 5 +- frontend/src/lib/components/CityCard.svelte | 6 +- .../src/lib/components/LodgingCard.svelte | 11 +++- frontend/src/lib/types.ts | 2 + frontend/src/routes/settings/+page.server.ts | 10 ++- frontend/src/routes/settings/+page.svelte | 63 ++++++++++--------- 6 files changed, 64 insertions(+), 33 deletions(-) diff --git a/backend/server/worldtravel/serializers.py b/backend/server/worldtravel/serializers.py index 99c7379..f8e35c9 100644 --- a/backend/server/worldtravel/serializers.py +++ b/backend/server/worldtravel/serializers.py @@ -43,10 +43,13 @@ class RegionSerializer(serializers.ModelSerializer): return City.objects.filter(region=obj).count() class CitySerializer(serializers.ModelSerializer): + region_name = serializers.CharField(source='region.name', read_only=True) + country_name = serializers.CharField(source='region.country.name', read_only=True + ) class Meta: model = City fields = '__all__' - read_only_fields = ['id', 'name', 'region', 'longitude', 'latitude'] + read_only_fields = ['id', 'name', 'region', 'longitude', 'latitude', 'region_name', 'country_name'] class VisitedRegionSerializer(CustomModelSerializer): longitude = serializers.DecimalField(source='region.longitude', max_digits=9, decimal_places=6, read_only=True) diff --git a/frontend/src/lib/components/CityCard.svelte b/frontend/src/lib/components/CityCard.svelte index 5678af6..3273d45 100644 --- a/frontend/src/lib/components/CityCard.svelte +++ b/frontend/src/lib/components/CityCard.svelte @@ -1,4 +1,5 @@