Skip to content
Snippets Groups Projects
Select Git revision
  • caa1fc474c5f6bbd9b12d58768db934fa421d7d8
  • renovate/django-split-settings-1.x
  • renovate/djangorestframework-3.x
  • main
  • 520-improve-trackmanager
  • 520-fix-scheduling
  • 520-akowner
  • 520-status
  • 520-message-resolved
  • 520-improve-scheduling-2
  • renovate/django-bootstrap5-24.x
  • 520-improve-submission
  • 520-improve-scheduling
  • 520-improve-wall
  • 520-fix-event-wizard-datepicker
  • 520-upgrades
  • renovate/tzdata-2023.x
  • renovate/django-5.x
  • renovate/fontawesomefree-6.x
  • renovate/sphinx-rtd-theme-2.x
  • renovate/sphinxcontrib-apidoc-0.x
21 results

apps.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)