diff --git a/backend/server/adventures/views.py b/backend/server/adventures/views.py index 1a91b2b..8f506f8 100644 --- a/backend/server/adventures/views.py +++ b/backend/server/adventures/views.py @@ -534,7 +534,7 @@ class ChecklistViewSet(viewsets.ModelViewSet): class AdventureImageViewSet(viewsets.ModelViewSet): serializer_class = AdventureImageSerializer - permission_classes = [IsAuthenticated]\ + permission_classes = [IsAuthenticated] # make sure that when creating and updating an image, the user is authenticated and the adventure user is the same as the authenticated user def create(self, request, *args, **kwargs): @@ -566,16 +566,16 @@ class AdventureImageViewSet(viewsets.ModelViewSet): return super().update(request, *args, **kwargs) - def destroy(self, request, *args, **kwargs): - if not request.user.is_authenticated: - return Response({"error": "User is not authenticated"}, status=status.HTTP_401_UNAUTHORIZED) + # def destroy(self, request, *args, **kwargs): + # if not request.user.is_authenticated: + # return Response({"error": "User is not authenticated"}, status=status.HTTP_401_UNAUTHORIZED) - instance = self.get_object() - adventure = instance.adventure - if adventure.user_id != request.user: - return Response({"error": "User does not own this adventure"}, status=status.HTTP_403_FORBIDDEN) + # instance = self.get_object() + # adventure = instance.adventure + # if adventure.user_id != request.user: + # return Response({"error": "User does not own this adventure"}, status=status.HTTP_403_FORBIDDEN) - return super().destroy(request, *args, **kwargs) + # return super().destroy(request, *args, **kwargs) def partial_update(self, request, *args, **kwargs): if not request.user.is_authenticated: diff --git a/frontend/src/lib/components/EditAdventure.svelte b/frontend/src/lib/components/EditAdventure.svelte index 5f02074..9ccbd1a 100644 --- a/frontend/src/lib/components/EditAdventure.svelte +++ b/frontend/src/lib/components/EditAdventure.svelte @@ -5,8 +5,6 @@ import { enhance } from '$app/forms'; import { addToast } from '$lib/toasts'; - export let type: string = 'visited'; - export let longitude: number | null = null; export let latitude: number | null = null; @@ -19,6 +17,7 @@ import Earth from '~icons/mdi/earth'; import ActivityComplete from './ActivityComplete.svelte'; import { appVersion } from '$lib/config'; + import NewAdventure from './NewAdventure.svelte'; export let startDate: string | null = null; export let endDate: string | null = null; @@ -39,6 +38,19 @@ } } + async function removeImage(id: string) { + let res = await fetch(`/api/images/${id}/`, { + method: 'DELETE' + }); + let data = await res.json(); + if (data.id) { + images = images.filter((image) => image.id !== id); + addToast('success', 'Image removed'); + } else { + addToast('error', 'Failed to remove image'); + } + } + let isDetails: boolean = true; function saveAndClose() { @@ -172,7 +184,7 @@