2025-02-19 20:51:19 +01:00
|
|
|
from rest_framework import serializers
|
2025-03-05 16:21:16 +01:00
|
|
|
from django.utils.timezone import localtime
|
2025-02-19 20:51:19 +01:00
|
|
|
|
2025-03-09 11:20:03 +01:00
|
|
|
from tko.models import Contact, Article, Event, ArticleImage
|
2025-02-19 20:51:19 +01:00
|
|
|
|
|
|
|
|
|
|
|
class ContactSerializer(serializers.ModelSerializer):
|
|
|
|
class Meta:
|
|
|
|
model = Contact
|
|
|
|
fields = '__all__'
|
|
|
|
|
|
|
|
|
2025-03-09 11:20:03 +01:00
|
|
|
class ArticleImageSerializer(serializers.ModelSerializer):
|
|
|
|
class Meta:
|
|
|
|
model = ArticleImage
|
|
|
|
fields = ['image']
|
|
|
|
|
|
|
|
|
2025-02-19 20:51:19 +01:00
|
|
|
class ArticleListSerializer(serializers.ModelSerializer):
|
2025-03-05 16:21:16 +01:00
|
|
|
date = serializers.SerializerMethodField()
|
2025-03-09 11:20:03 +01:00
|
|
|
images = ArticleImageSerializer(many=True, read_only=True)
|
2025-03-05 16:21:16 +01:00
|
|
|
|
2025-02-19 20:51:19 +01:00
|
|
|
class Meta:
|
|
|
|
model = Article
|
2025-03-09 11:20:03 +01:00
|
|
|
fields = ["id", "author", "content", "date", "image", "title", "images"]
|
2025-03-05 16:21:16 +01:00
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
def get_date(obj):
|
|
|
|
return obj.date.strftime("%-d. %-m. %Y")
|
2025-02-19 20:51:19 +01:00
|
|
|
|
|
|
|
|
|
|
|
class EventListSerializer(serializers.ModelSerializer):
|
2025-03-05 16:21:16 +01:00
|
|
|
start = serializers.SerializerMethodField()
|
|
|
|
end = serializers.SerializerMethodField()
|
|
|
|
|
2025-02-19 20:51:19 +01:00
|
|
|
class Meta:
|
|
|
|
model = Event
|
2025-03-05 16:21:16 +01:00
|
|
|
fields = ["title", "end", "start", "color"]
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
def get_start(obj):
|
|
|
|
return localtime(obj.start_date).isoformat() if obj.start_date else None
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
def get_end(obj):
|
|
|
|
return localtime(obj.end_date).isoformat() if obj.end_date else None
|