From dab6efbe329d51754165c8b1c39ee509f19b1df7 Mon Sep 17 00:00:00 2001 From: Sean Morley Date: Fri, 23 Aug 2024 18:41:59 -0400 Subject: [PATCH] Region check - frontend --- backend/server/worldtravel/views.py | 2 +- frontend/src/routes/settings/+page.svelte | 25 +++++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/backend/server/worldtravel/views.py b/backend/server/worldtravel/views.py index 3a79690..1332b1e 100644 --- a/backend/server/worldtravel/views.py +++ b/backend/server/worldtravel/views.py @@ -54,7 +54,7 @@ class CountryViewSet(viewsets.ReadOnlyModelViewSet): # make a post action that will get all of the users adventures and check if the point is in any of the regions if so make a visited region object for that user if it does not already exist @action(detail=False, methods=['post']) def region_check_all_adventures(self, request): - adventures = Adventure.objects.filter(user_id=request.user.id) + adventures = Adventure.objects.filter(user_id=request.user.id, type='visited') count = 0 for adventure in adventures: if adventure.latitude is not None and adventure.longitude is not None: diff --git a/frontend/src/routes/settings/+page.svelte b/frontend/src/routes/settings/+page.svelte index 7ea4660..b67944f 100644 --- a/frontend/src/routes/settings/+page.svelte +++ b/frontend/src/routes/settings/+page.svelte @@ -44,6 +44,21 @@ a.click(); URL.revokeObjectURL(url); } + + async function checkVisitedRegions() { + let res = await fetch('/api/countries/region_check_all_adventures/', { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + } + }); + let data = await res.json(); + if (res.ok) { + addToast('success', `${data.regions_visited} regions updated`); + } else { + addToast('error', 'Error updating visited regions'); + } + }

Settings Page

@@ -157,6 +172,16 @@

This may take a few seconds...

+
+

Visited Region Check

+

+ By selecting this, the server will check all of your visited adventures and mark the regions + they are located in as "visited" in world travel. +

+ +

This may take longer depending on the number of adventures you have.

+
For Debug Use: Server PK={user.pk} | Date Joined: {user.date_joined