| @@ 79-97 (lines=19) @@ | ||
| 76 | 'terminateallbrowsers', 'successsaction', 'other')  | 
                                |
| 77 | ||
| 78 | ||
| 79 | class VersionSerializer(serializers.HyperlinkedModelSerializer):  | 
                                |
| 80 | is_enabled = serializers.BooleanField(default=True, required=False)  | 
                                |
| 81 | app = serializers.PrimaryKeyRelatedField(queryset=Application.objects.all())  | 
                                |
| 82 | platform = serializers.PrimaryKeyRelatedField(queryset=Platform.objects.all())  | 
                                |
| 83 | channel = serializers.PrimaryKeyRelatedField(queryset=Channel.objects.all())  | 
                                |
| 84 | version = serializers.CharField()  | 
                                |
| 85 | ||
| 86 | class Meta:  | 
                                |
| 87 | model = Version  | 
                                |
| 88 |         fields = ('id', 'is_enabled', 'is_critical', 'app', 'platform', 'channel', | 
                                |
| 89 | 'version', 'release_notes', 'file', 'file_hash', 'file_size',  | 
                                |
| 90 | 'created', 'modified')  | 
                                |
| 91 |         read_only_fields = ('created', 'modified') | 
                                |
| 92 | ||
| 93 | def create(self, validated_data):  | 
                                |
| 94 |         if not validated_data.get('file_size'): | 
                                |
| 95 | file = validated_data['file']  | 
                                |
| 96 | validated_data['file_size'] = file.size  | 
                                |
| 97 | return super(VersionSerializer, self).create(validated_data)  | 
                                |
| 98 | ||
| 99 | ||
| 100 | class StatisticsMonthsSerializer(serializers.Serializer):  | 
                                |
| @@ 32-50 (lines=19) @@ | ||
| 29 | ||
| 30 | ||
| 31 | ||
| 32 | class SparkleVersionSerializer(serializers.HyperlinkedModelSerializer):  | 
                                |
| 33 | is_enabled = serializers.BooleanField(default=True, required=False)  | 
                                |
| 34 | app = serializers.PrimaryKeyRelatedField(queryset=Application.objects.all())  | 
                                |
| 35 | channel = serializers.PrimaryKeyRelatedField(queryset=Channel.objects.all())  | 
                                |
| 36 | version = serializers.CharField()  | 
                                |
| 37 | short_version = serializers.CharField(required=False)  | 
                                |
| 38 | ||
| 39 | class Meta:  | 
                                |
| 40 | model = SparkleVersion  | 
                                |
| 41 |         fields = ('id', 'is_enabled', 'is_critical', 'app', 'channel', 'version', 'short_version', | 
                                |
| 42 | 'release_notes', 'file', 'file_size', 'dsa_signature',  | 
                                |
| 43 | 'created', 'modified')  | 
                                |
| 44 |         read_only_fields = ('created', 'modified') | 
                                |
| 45 | ||
| 46 | def create(self, validated_data):  | 
                                |
| 47 |         if not validated_data.get('file_size'): | 
                                |
| 48 | file = validated_data['file']  | 
                                |
| 49 | validated_data['file_size'] = file.size  | 
                                |
| 50 | return super(SparkleVersionSerializer, self).create(validated_data)  | 
                                |
| 51 | ||