mirror of
https://github.com/seanmorley15/AdventureLog.git
synced 2025-07-24 15:29:36 +02:00
fixed
This commit is contained in:
parent
8a1acb5d04
commit
7d9bc16588
2 changed files with 17 additions and 22 deletions
|
@ -17,14 +17,19 @@ class AdventureImageSerializer(serializers.ModelSerializer):
|
||||||
public_url = public_url.replace("'", "")
|
public_url = public_url.replace("'", "")
|
||||||
representation['image'] = f"{public_url}/media/{instance.image.name}"
|
representation['image'] = f"{public_url}/media/{instance.image.name}"
|
||||||
return representation
|
return representation
|
||||||
|
|
||||||
|
class VisitSerializer(serializers.ModelSerializer):
|
||||||
|
class Meta:
|
||||||
|
model = Visit
|
||||||
|
fields = ['id', 'start_date', 'end_date', 'notes']
|
||||||
|
read_only_fields = ['id']
|
||||||
|
|
||||||
class AdventureSerializer(serializers.ModelSerializer):
|
class AdventureSerializer(serializers.ModelSerializer):
|
||||||
images = AdventureImageSerializer(many=True, read_only=True)
|
images = AdventureImageSerializer(many=True, read_only=True)
|
||||||
|
visits = VisitSerializer(many=True, read_only=False)
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Adventure
|
model = Adventure
|
||||||
fields = ['id', 'user_id', 'name', 'description', 'rating', 'activity_types', 'location', 'is_public', 'collection', 'created_at', 'updated_at', 'images', 'link', 'type', 'longitude', 'latitude']
|
fields = ['id', 'user_id', 'name', 'description', 'rating', 'activity_types', 'location', 'is_public', 'collection', 'created_at', 'updated_at', 'images', 'link', 'type', 'longitude', 'latitude', 'visits']
|
||||||
read_only_fields = ['id', 'created_at', 'updated_at', 'user_id']
|
read_only_fields = ['id', 'created_at', 'updated_at', 'user_id']
|
||||||
|
|
||||||
def to_representation(self, instance):
|
def to_representation(self, instance):
|
||||||
|
@ -70,7 +75,7 @@ class AdventureSerializer(serializers.ModelSerializer):
|
||||||
instance.visits.filter(id__in=visits_to_delete).delete()
|
instance.visits.filter(id__in=visits_to_delete).delete()
|
||||||
|
|
||||||
return instance
|
return instance
|
||||||
|
|
||||||
class TransportationSerializer(serializers.ModelSerializer):
|
class TransportationSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
|
@ -99,17 +104,7 @@ class ChecklistItemSerializer(serializers.ModelSerializer):
|
||||||
'id', 'user_id', 'name', 'is_checked', 'checklist', 'created_at', 'updated_at'
|
'id', 'user_id', 'name', 'is_checked', 'checklist', 'created_at', 'updated_at'
|
||||||
]
|
]
|
||||||
read_only_fields = ['id', 'created_at', 'updated_at', 'user_id', 'checklist']
|
read_only_fields = ['id', 'created_at', 'updated_at', 'user_id', 'checklist']
|
||||||
|
|
||||||
# def validate(self, data):
|
|
||||||
# # Check if the checklist is public and the checklist item is not
|
|
||||||
# checklist = data.get('checklist')
|
|
||||||
# is_checked = data.get('is_checked', False)
|
|
||||||
# if checklist and checklist.is_public and not is_checked:
|
|
||||||
# raise serializers.ValidationError(
|
|
||||||
# 'Checklist items associated with a public checklist must be checked.'
|
|
||||||
# )
|
|
||||||
|
|
||||||
|
|
||||||
class ChecklistSerializer(serializers.ModelSerializer):
|
class ChecklistSerializer(serializers.ModelSerializer):
|
||||||
items = ChecklistItemSerializer(many=True, source='checklistitem_set')
|
items = ChecklistItemSerializer(many=True, source='checklistitem_set')
|
||||||
class Meta:
|
class Meta:
|
||||||
|
@ -173,9 +168,6 @@ class ChecklistSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
return data
|
return data
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class CollectionSerializer(serializers.ModelSerializer):
|
class CollectionSerializer(serializers.ModelSerializer):
|
||||||
adventures = AdventureSerializer(many=True, read_only=True, source='adventure_set')
|
adventures = AdventureSerializer(many=True, read_only=True, source='adventure_set')
|
||||||
transportations = TransportationSerializer(many=True, read_only=True, source='transportation_set')
|
transportations = TransportationSerializer(many=True, read_only=True, source='transportation_set')
|
||||||
|
|
|
@ -266,8 +266,11 @@ export function isAdventureVisited(adventure: Adventure) {
|
||||||
const currentTime = Date.now();
|
const currentTime = Date.now();
|
||||||
|
|
||||||
// Check if any visit's start_date is before the current time.
|
// Check if any visit's start_date is before the current time.
|
||||||
return adventure.visits.some((visit) => {
|
return (
|
||||||
const visitStartTime = new Date(visit.start_date).getTime();
|
adventure.visits &&
|
||||||
return visit.start_date && visitStartTime <= currentTime;
|
adventure.visits.some((visit) => {
|
||||||
});
|
const visitStartTime = new Date(visit.start_date).getTime();
|
||||||
|
return visit.start_date && visitStartTime <= currentTime;
|
||||||
|
})
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue