Skip to content
Snippets Groups Projects
Select Git revision
  • 599aec3562b2ff67d8ab183e33beea8225b60fcf
  • main default protected
  • feature/export-filtering
  • feature/clear-schedule-button
  • fix/responsive-cols-in-polls
  • feature/preference-polling-form
  • feature/json-export-via-rest-framework
  • feature/json-schedule-import-tests
  • fix/add-room-import-only-once
  • ak-import
  • renovate/django-simple-history-3.x
  • renovate/django-debug-toolbar-4.x
  • renovate/django-5.x
  • renovate/mysqlclient-2.x
14 results

tests.py

Blame
  • Forked from KIF / AKPlanning
    Source project has a limited visibility.
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    serializers.py 1.79 KiB
    from rest_framework import serializers
    
    from AKModel.models import AK, Room, AKSlot, AKTrack, AKCategory, AKOwner
    
    
    class AKOwnerSerializer(serializers.ModelSerializer):
        """
        REST Framework Serializer for AKOwner
        """
        class Meta:
            model = AKOwner
            fields = '__all__'
    
    
    class AKCategorySerializer(serializers.ModelSerializer):
        """
        REST Framework Serializer for AKCategory
        """
        class Meta:
            model = AKCategory
            fields = '__all__'
    
    
    class AKTrackSerializer(serializers.ModelSerializer):
        """
        REST Framework Serializer for AKTrack
        """
        class Meta:
            model = AKTrack
            fields = '__all__'
    
    
    class AKSerializer(serializers.ModelSerializer):
        """
        REST Framework Serializer for AK
        """
        class Meta:
            model = AK
            fields = '__all__'
    
    
    class RoomSerializer(serializers.ModelSerializer):
        """
        REST Framework Serializer for Room
        """
        class Meta:
            model = Room
            fields = '__all__'
    
    
    class AKSlotSerializer(serializers.ModelSerializer):
        """
        REST Framework Serializer for AKSlot
        """
        class Meta:
            model = AKSlot
            fields = '__all__'
    
        treat_as_local = serializers.BooleanField(required=False, default=False, write_only=True)
    
        def create(self, validated_data:dict):
            # Handle timezone adaption based upon the control field "treat_as_local":
            # If it is set, ignore timezone submitted from the browser (will always be UTC)
            # and treat it as input in the events timezone instead
            if validated_data['treat_as_local']:
                validated_data['start'] = validated_data['start'].replace(tzinfo=None).astimezone(
                    validated_data['event'].timezone)
            del validated_data['treat_as_local']
            return super().create(validated_data)