From cc7c04b0ec532a86cc15988c37f0dde59e4d9ad0 Mon Sep 17 00:00:00 2001 From: Sean Morley Date: Fri, 13 Sep 2024 20:33:44 -0400 Subject: [PATCH] Redownload when region data version changes --- backend/server/adventures/admin.py | 3 +- .../management/commands/download-countries.py | 2 +- backend/server/worldtravel/views.py | 2 +- .../src/routes/worldtravel/[id]/+page.svelte | 28 +++++++++++++++++++ 4 files changed, 32 insertions(+), 3 deletions(-) diff --git a/backend/server/adventures/admin.py b/backend/server/adventures/admin.py index 226074d..70eedc9 100644 --- a/backend/server/adventures/admin.py +++ b/backend/server/adventures/admin.py @@ -22,7 +22,7 @@ class AdventureAdmin(admin.ModelAdmin): class CountryAdmin(admin.ModelAdmin): list_display = ('name', 'country_code', 'number_of_regions') - list_filter = ('country_code', 'subregion') + list_filter = ('subregion',) def number_of_regions(self, obj): return Region.objects.filter(country=obj).count() @@ -32,6 +32,7 @@ class CountryAdmin(admin.ModelAdmin): class RegionAdmin(admin.ModelAdmin): list_display = ('name', 'country', 'number_of_visits') + list_filter = ('country',) # list_filter = ('country', 'number_of_visits') def number_of_visits(self, obj): diff --git a/backend/server/worldtravel/management/commands/download-countries.py b/backend/server/worldtravel/management/commands/download-countries.py index 48a6238..c9dff83 100644 --- a/backend/server/worldtravel/management/commands/download-countries.py +++ b/backend/server/worldtravel/management/commands/download-countries.py @@ -38,7 +38,7 @@ class Command(BaseCommand): help = 'Imports the world travel data' def handle(self, *args, **options): - countries_json_path = os.path.join(settings.MEDIA_ROOT, 'countries+regions.json') + countries_json_path = os.path.join(settings.MEDIA_ROOT, f'countries+regions-{COUNTRY_REGION_JSON_VERSION}.json') if not os.path.exists(countries_json_path): res = requests.get(f'https://raw.githubusercontent.com/dr5hn/countries-states-cities-database/{COUNTRY_REGION_JSON_VERSION}/countries%2Bstates.json') if res.status_code == 200: diff --git a/backend/server/worldtravel/views.py b/backend/server/worldtravel/views.py index 1332b1e..ba4c3cc 100644 --- a/backend/server/worldtravel/views.py +++ b/backend/server/worldtravel/views.py @@ -34,7 +34,7 @@ def visits_by_country(request, country_code): return Response(serializer.data) class CountryViewSet(viewsets.ReadOnlyModelViewSet): - queryset = Country.objects.all() + queryset = Country.objects.all().order_by('name') serializer_class = CountrySerializer permission_classes = [IsAuthenticated] diff --git a/frontend/src/routes/worldtravel/[id]/+page.svelte b/frontend/src/routes/worldtravel/[id]/+page.svelte index 2b4cf33..3ea1f41 100644 --- a/frontend/src/routes/worldtravel/[id]/+page.svelte +++ b/frontend/src/routes/worldtravel/[id]/+page.svelte @@ -1,6 +1,17 @@