1
0
Fork 0
mirror of https://github.com/seanmorley15/AdventureLog.git synced 2025-08-02 19:55:18 +02:00

feat: Add flag URL to Country type and update CountryCard component

This commit is contained in:
Sean Morley 2024-08-05 14:17:41 -04:00
parent 77c11fefea
commit d9e554ad42
14 changed files with 96 additions and 56 deletions

View file

@ -0,0 +1,18 @@
# Generated by Django 5.0.7 on 2024-08-05 17:51
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('adventures', '0018_note_links'),
]
operations = [
migrations.AddField(
model_name='collection',
name='updated_at',
field=models.DateTimeField(auto_now=True),
),
]

View file

@ -71,6 +71,8 @@ class Collection(models.Model):
created_at = models.DateTimeField(auto_now_add=True)
start_date = models.DateField(blank=True, null=True)
end_date = models.DateField(blank=True, null=True)
updated_at = models.DateTimeField(auto_now=True)
# if connected adventures are private and collection is public, raise an error
def clean(self):

View file

@ -98,4 +98,5 @@ class CollectionSerializer(serializers.ModelSerializer):
class Meta:
model = Collection
# fields are all plus the adventures field
fields = ['id', 'description', 'user_id', 'name', 'is_public', 'adventures', 'created_at', 'start_date', 'end_date', 'transportations', 'notes']
fields = ['id', 'description', 'user_id', 'name', 'is_public', 'adventures', 'created_at', 'start_date', 'end_date', 'transportations', 'notes', 'updated_at']
read_only_fields = ['id', 'created_at', 'updated_at']

View file

@ -217,9 +217,9 @@ class CollectionViewSet(viewsets.ModelViewSet):
order_by = self.request.query_params.get('order_by', 'name')
order_direction = self.request.query_params.get('order_direction', 'asc')
valid_order_by = ['name']
valid_order_by = ['name', 'upated_at']
if order_by not in valid_order_by:
order_by = 'name'
order_by = 'updated_at'
if order_direction not in ['asc', 'desc']:
order_direction = 'asc'
@ -228,13 +228,15 @@ class CollectionViewSet(viewsets.ModelViewSet):
if order_by == 'name':
queryset = queryset.annotate(lower_name=Lower('name'))
ordering = 'lower_name'
if order_direction == 'desc':
ordering = f'-{ordering}'
else:
ordering = order_by
order_by == 'updated_at'
ordering = 'updated_at'
if order_direction == 'asc':
ordering = '-updated_at'
if order_direction == 'desc':
ordering = f'-{ordering}'
print(f"Ordering by: {ordering}") # For debugging
#print(f"Ordering by: {ordering}") # For debugging
return queryset.order_by(ordering)