Esempio n. 1
0
class AnimalOwnerSerializer(serializers.ModelSerializer):
    profile_image_base = Base64ImageField(source='profile_image',
                                          required=False,
                                          represent_in_base64=True)
    profile_id_image_base = Base64ImageField(source='profile_id_image',
                                             required=False,
                                             represent_in_base64=True)

    class Meta:
        model = AnimalOwner
        fields = (
            'owner_status',
            'first_name',
            'last_name',
            'email',
            'phone_number',
            'city',
            'state',
            'zip_code',
            'origin_country',
            'address',
            'comment',
            'profile_image_base',
            'profile_id_image_base',
            'registration_date',
        )
Esempio n. 2
0
class PublisherSerializer(serializers.ModelSerializer):
    image = Base64ImageField()
    trading_doc = Base64ImageField()

    class Meta:
        model = Publisher
        fields = "__all__"
Esempio n. 3
0
class TourSerializer(serializers.ModelSerializer):
    """採集行モデル用シリアライザ"""
    user = serializers.HiddenField(default=serializers.CurrentUserDefault())
    start_date = serializers.DateField(required=False)
    end_date = serializers.DateField(required=False)
    specimens = serializers.SerializerMethodField()
    collect_points = serializers.SerializerMethodField()
    image1 = Base64ImageField(required=False)
    image2 = Base64ImageField(required=False)
    image3 = Base64ImageField(required=False)
    image4 = Base64ImageField(required=False)
    image5 = Base64ImageField(required=False)

    def get_specimens(self, obj):
        specimens_data = SpecimenForTourSerializer(Specimen.objects.all().filter(
            tour=Tour.objects.get(id=obj.id)), many=True).data
        return specimens_data

    def get_collect_points(self, obj):
        collect_points_data = CollectPointSerializer(
            CollectPoint.objects.all().filter(
                tour=Tour.objects.get(id=obj.id)), many=True).data
        return collect_points_data

    class Meta:
        model = Tour
        fields = ['id', 'created_at', 'user', 'title',
                  'start_date', 'end_date', 'track', 'note',
                  'image1', 'image2', 'image3', 'image4', 'image5',
                  'specimens', 'collect_points']
        read_only_fields = ('created_at', 'id', 'user')
Esempio n. 4
0
class AccountRequestSerializer(serializers.Serializer):
	ACCOUNT_CHOICES = (
		('S', 'Saving'),
		('C', 'Current'),
	)
	GENDER_CHOICES = (
        ('M', 'Male'),
        ('F', 'Female'),
    )
	fullName = serializers.CharField(required=True);
	fatherName = serializers.CharField(required=True);
	motherName = serializers.CharField(required=True);
	dob = serializers.DateField(required=True);
	gender = serializers.ChoiceField(choices=GENDER_CHOICES,required=True);
	email = serializers.EmailField(required=True);
	phoneNumber = serializers.CharField(max_length=16,validators=[RegexValidator(regex=r'^\+?1?\d{9,15}$', message="Phone number must be entered in the format '+9999999'. Upto 15 digits are allowed.")])
	panNumber = serializers.CharField(max_length=10, required=True);
	accountType = serializers.ChoiceField(choices=ACCOUNT_CHOICES,required=True);
	startingAmount = serializers.IntegerField(required=True);
	addressProof = Base64ImageField(required=True);
	idProof = Base64ImageField(required=True);
	panCard = Base64ImageField(required=True);
	def create(self, validated_data):
		print (validated_data)
		return AccountRequest.objects.create(**validated_data)
Esempio n. 5
0
class UserCreateProfileSerializer(serializers.ModelSerializer):
    pic = Base64ImageField(required=False)
    pic_id = Base64ImageField(required=False)

    class Meta:
        model = Profile
        fields = ('pic', 'pic_id', 'phone')
Esempio n. 6
0
class AnimalListSerializer(serializers.ModelSerializer):
    image = Base64ImageField(source='photo',
                             required=False,
                             represent_in_base64=True)
    image_id = Base64ImageField(source='photo_id',
                                required=False,
                                represent_in_base64=True)

    def get_age(self, obj):
        return obj.age if obj.age else relativedelta(datetime.datetime.now(),
                                                     obj.date_of_birth).years

    def validate_date_of_birth(self, val):
        if val > datetime.datetime.now().date():
            raise ValidationError(_('Date of birth can\'t be in future.'))
        return val

    class Meta:
        model = Animal
        fields = (
            'id',
            'name',
            'date_of_birth',
            'age',
            'life_stage',
            'gender',
            'species',
            'breed',
            'species_details',
            'origin_country',
            'pregnant',
            'personality',
            'personality_description',
            'energy_level',
            'cats_friendly',
            'dogs_friendly',
            'animals_friendly',
            'humans_friendly',
            'kids_friendly',
            'bites',
            'for_adoption',
            'for_foster',
            'accommodation',
            'tag_id',
            'chip_producer',
            'chip_id',
            'join_date',
            'joined_reason',
            'entry_date',
            'leave_reason',
            'leave_date',
            'history',
            'image',
            'image_id',
            'adoption_date',
            'fostering_date',
            'sheltering_background',
        )
Esempio n. 7
0
class CommonImgUploadSerializer(serializers.ModelSerializer):
    """学生审课"""
    chart = serializers.PrimaryKeyRelatedField(
        queryset=ShoppingChart.objects.all())
    order = serializers.PrimaryKeyRelatedField(queryset=Order.objects.filter(
        status='CONFIRMED'))
    course = serializers.PrimaryKeyRelatedField(queryset=Course.objects.all())
    confirm_img = Base64ImageField(required=False)
    # confirm_img = serializers.ImageField()
    switch_img = Base64ImageField(required=False)

    class Meta:
        model = UserCourse
        fields = [
            'id', 'chart', 'course', 'order', 'confirm_img', 'confirm_remark',
            'switch_img', 'switch_remark'
        ]

    def validate(self, attrs):
        if self.context.get(
                'api_key'
        ) == 'student_confirm_course' and not attrs.get('confirm_img'):
            raise serializers.ValidationError('审课图片为必传参数')

        if self.context.get(
                'api_key'
        ) == 'course_credit_switch' and not attrs.get('switch_img'):
            raise serializers.ValidationError('学分转换证明图片为必传参数')

        chart = attrs['chart']
        attrs['project'] = chart.project
        print(attrs, '\r\n', '*********************审课*******************')
        user_course = UserCourse.objects.filter(
            user=self.context['request'].user,
            project=chart.project,
            order=attrs['order'],
            course=attrs['course']).first()
        if not user_course:
            raise serializers.ValidationError('未找到用户所选课程,请检查传入参数')

        if self.context.get('api_key') == 'student_confirm_course':
            if user_course.status == 'PASS':
                raise serializers.ValidationError('审课已通过, 不能再次上传')

        if self.context.get('api_key') == 'course_credit_switch':
            if user_course.status != 'PASS':
                raise serializers.ValidationError('审课尚未完成, 不能上传学分转换图片')

            if user_course.credit_switch_status == 'SWITCHED':
                raise serializers.ValidationError(
                    '已上传学分转换图片,状态为: %s' %
                    dict(UserCourse.CREDIT_SWITCH_STATUS).get(
                        user_course.credit_switch_status))

            if user_course.credit_switch_status == 'PRE_POSTED':
                raise serializers.ValidationError('成绩单尚未寄出')
        return attrs
Esempio n. 8
0
class FeaturedSerializer(serializers.ModelSerializer):
    image = Base64ImageField(use_url=False, required=True)
    thumbnail = Base64ImageField(use_url=False, required=False)
    max_width = serializers.IntegerField()
    max_height = serializers.IntegerField()

    class Meta:
        model = ImageModel
        exclude = ('ts', )
Esempio n. 9
0
class IssueSaveSerializer(serializers.ModelSerializer):
    image = Base64ImageField(represent_in_base64=True)
    thumbnail = Base64ImageField(represent_in_base64=True)

    class Meta:
        model = Issue
        fields = ('pk', 'description', 'issueType', 'date_time_posted',
                  'latitude', 'longitude', 'resolved', 'posterName',
                  'posterPhone', 'posterEmail', 'notes', 'image', 'thumbnail')
Esempio n. 10
0
class AttendanceSerializers(serializers.ModelSerializer):
    EmployeeName = serializers.StringRelatedField(read_only=True,
                                                  source="Employee")
    LocationName = serializers.StringRelatedField(source="Location")
    ImageIn = Base64ImageField(required=False)
    ImageOut = Base64ImageField(required=False)

    class Meta:
        model = Attendance
        fields = "__all__"
Esempio n. 11
0
class StaffSerializers(serializers.ModelSerializer):
    PositionName = serializers.StringRelatedField(source="Position")
    Image = Base64ImageField(required=False)

    class Meta:
        model = Staff
        fields = "__all__"
Esempio n. 12
0
class RecipeSerializer(WritableNestedModelSerializer):
    keywords = KeywordSerializer(many=True, required=False)
    steps = StepSerializer(many=True)
    image = Base64ImageField(required=False)

    class Meta:
        model = Recipe
        validators = []
        fields = [
            'id',
            'name',
            'slug',
            'image',
            'description',
            'servings',
            'servings_text',

            'created_by',
            'created_time',
            'updated_time',

            'working_time',
            'waiting_time',

            'keywords',
            'steps',
        ]
Esempio n. 13
0
class UserSerializer(serializers.ModelSerializer):
    avatar = Base64ImageField(required=False)

    class Meta:
        model = User
        fields = ('id', 'username', 'password', 'email', 'avatar')
        extra_kwargs = {
            'password': {
                'write_only': True
            },
            'id': {
                'read_only': True
            }
        }

    def create(self, validated_data):
        user = User.objects.create_user(
            username=validated_data['username'],
            email=validated_data['email'],
        )

        user.set_password(validated_data['password'])
        user.save()
        return user

    def validate_avatar(self, value):
        if value.size > settings.MAX_AVATAR_SIZE:
            raise ValidationError(
                f'File size can not exceed {settings.MAX_AVATAR_SIZE} bytes')
        return value
Esempio n. 14
0
class NoticiasSerializer(serializers.ModelSerializer):

    imagen = Base64ImageField()

    class Meta:
        model = Noticias
        fields = '__all__'
Esempio n. 15
0
class QuejaSerializer(serializers.ModelSerializer):
    foto = Base64ImageField()

    class Meta:
        model = Queja
        fields = ('descripcion', 'fecha_creacion', 'foto', 'address',
                  'geolocation', 'user')
class FlightSerializerBarebones(serializers.ModelSerializer):
    taxonomy = SpeciesSerializer(source='species')
    owner = serializers.CharField(source="owner.username")
    validated = serializers.BooleanField(source="isValidated", read_only=True)
    ownerRole = serializers.ReadOnlyField(source='owner.flightuser.status')
    lastUpdated = serializers.ReadOnlyField(source='getLastUpdated')
    image = Base64ImageField(required=False, write_only=True)

    class Meta:
        model = Flight
        fields = ('flightID', 'taxonomy', 'owner', 'ownerRole', 'latitude',
                  'longitude', 'radius', 'dateOfFlight', 'dateRecorded',
                  'image', 'confidence', 'size', 'lastUpdated', 'validated')
        extra_kwargs = {
            'radius': {
                'write_only': True
            },
            'dateRecorded': {
                'write_only': True
            },
            'comments': {
                'write_only': True
            },
            'image': {
                'write_only': True
            },
            'confidence': {
                'write_only': True
            },
            'size': {
                'write_only': True
            },
        }
Esempio n. 17
0
class profile2Serializer(serializers.ModelSerializer):

    avatar = Base64ImageField()

    class Meta:
        model = Profile
        fields = '__all__'
Esempio n. 18
0
class CompraSerializer(serializers.ModelSerializer):
    #paquete = PaqueteSerializer(many=False, read_only=True)
    uri = Base64ImageField(required=False)

    class Meta:
        model = Compra
        fields = ('id', 'usuario', 'paquete', 'uri')
Esempio n. 19
0
class ReplaySerializer(ModelSerializer):
    image_details = Base64ImageField(required=False)

    class Meta:

        model = Replay
        fields = '__all__'
Esempio n. 20
0
class ImagemProdutoSerializer(serializers.ModelSerializer):
    imagem = Base64ImageField()

    class Meta:
        model = ImagemProduto
        fields = ['id', 'imagem', 'produto', 'capa']
        read_only_fields = ['id']

    def create(self, validated_data):
        imagem = validated_data.pop('imagem')
        produto = validated_data.pop('produto')
        capa = validated_data.pop('capa')
        imagem_produto = ImagemProduto.objects.create(
            imagem=imagem, produto=produto)
        if capa:
            produto.imagens.update(capa=False)
            imagem_produto.capa = True
            imagem_produto.save()
        return imagem_produto

    def update(self, instance, validated_data):
        instance.imagem = validated_data.get('imagem', instance.imagem)
        instance.produto = validated_data.get('produto', instance.produto)
        instance.capa = validated_data.get('capa', instance.capa)
        if instance.capa:
            produto.imagens.update(capa=False)
            instance.capa = True
        instance.save()
        return instance
Esempio n. 21
0
class UsuarioSerializer(serializers.ModelSerializer):
    username = serializers.CharField(write_only=True,source="user.username")
    password = serializers.CharField(write_only=True,source="user.password")
    nombre = serializers.CharField(required=False)
    apellido = serializers.CharField(required=False)
    correo = serializers.CharField(required=False)
    fecha_nacimiento = serializers.CharField(required=False)
    descripcionEstudiante=serializers.CharField(required=False)
    foto = serializers.CharField(required=False)
    formacion=serializers.CharField(required=False)
    perfil = serializers.PrimaryKeyRelatedField(queryset=Perfil.objects.all())
    foto = Base64ImageField()
   


    # category_name = serializers.RelatedField(source='category',read_only = True)
    class Meta:
        model=User
        fields=('id', 'username', 'password', 'nombre', 'apellido','correo', 'fecha_nacimiento', 'descripcionEstudiante', 'formacion', 'foto', 'perfil')
    def create(self, validated_data, instance = None):
        user_data=validated_data.pop('user')
        user=User.objects.create(**user_data)
        user.set_password(user_data['password'])
        user.save()
        Usuario.objects.update_or_create(user = user, **validated_data)
        usuario=Usuario.objects.get(user = user)
        return usuario
class UserSerializer(serializers.ModelSerializer):
    avatar = Base64ImageField(required=False)

    class Meta:
        model = User
        fields = ('id', 'username', 'email', 'phone_number', 'avatar',
                  'auth_token')
Esempio n. 23
0
class ProductSerializer(rest.TransformDatesMixin, serializers.ModelSerializer):
    show_name = serializers.SerializerMethodField()

    price_purchase = MoneyField(max_digits=10, decimal_places=2)
    price_selling = MoneyField(max_digits=10, decimal_places=2)
    price_selling_alt = MoneyField(max_digits=10, decimal_places=2)

    price_purchase_ex = MoneyField(max_digits=10, decimal_places=2)
    price_selling_ex = MoneyField(max_digits=10, decimal_places=2)
    price_selling_alt_ex = MoneyField(max_digits=10, decimal_places=2)

    image = Base64ImageField(required=False)

    def get_show_name(self, obj):
        if hasattr(obj, 'show_name'):
            return obj.show_name()

        return ''

    class Meta:
        model = models.Product
        fields = ('id', 'identifier', 'show_name', 'name', 'name_short',
                  'unit', 'supplier', 'product_type', 'modified',
                  'price_purchase', 'price_selling', 'price_selling_alt',
                  'price_purchase_ex', 'price_selling_ex',
                  'price_selling_alt_ex', 'image')
Esempio n. 24
0
class UserTestResultsSerializer(serializers.ModelSerializer):
    image = Base64ImageField()
    id = serializers.ReadOnlyField()

    class Meta:
        model = UserTestResults
        fields = ('id', 'image', 'status', 'classifierResult', 'user')
Esempio n. 25
0
class EmployeeSerializers(serializers.ModelSerializer):
    DepartmentName = serializers.StringRelatedField(source="Department")
    Image = Base64ImageField(required=False)

    class Meta:
        model = Employee
        fields = "__all__"
class FlightSerializerFull(serializers.ModelSerializer):
    genus = serializers.CharField(source='species.genus.name')
    species = serializers.CharField(source='species.name')
    comments = CommentSerializer(many=True, read_only=True)
    reported_by = serializers.ReadOnlyField(source="owner.username")
    user_professional = serializers.BooleanField(
        source="owner.flightuser.professional", read_only=True)
    user_flagged = serializers.BooleanField(source="owner.flightuser.flagged",
                                            read_only=True)
    validated = serializers.BooleanField(source="isValidated", read_only=True)
    validated_by = serializers.ReadOnlyField(source="validatedBy.username",
                                             allow_null=True)
    validated_at = serializers.ReadOnlyField(source="validatedAt",
                                             allow_null=True)
    image = Base64ImageField(required=False)
    weather = WeatherSerializer()
    confidence_level = serializers.CharField(source="get_confidence_string")
    flight_size = serializers.CharField(source="get_size_string")

    class Meta:
        model = Flight
        fields = ('flightID', 'genus', 'species', 'confidence_level',
                  'dateOfFlight', 'latitude', 'longitude', 'flight_size',
                  'reported_by', 'user_professional', 'user_flagged',
                  'dateRecorded', 'validated', 'validated_by', 'validated_at',
                  'weather', 'comments', 'image')


# class FlightSerializerAllNested(serializers)
Esempio n. 27
0
class ClienteSerializer(UpdateNestedMixin, serializers.ModelSerializer):
    user = UserSerializer()
    enderecos = EnderecoSerializer(many=True)
    foto = Base64ImageField(allow_null=True, required=False)
    data_nascimento = serializers.DateField(format="%d/%m/%Y")

    class Meta:
        model = Cliente
        fields = [
            'user', 'foto', 'id', 'nome', 'sobrenome', 'cpf', 'rg',
            'data_nascimento', 'sexo', 'enderecos', 'carrinho'
        ]
        read_only_fields = ['id']

    def create(self, validated_data):
        foto = validated_data.get('foto', None)
        try:
            del validated_data['foto']
        except KeyError:
            pass
        usuario_data = validated_data.pop('user')
        if not usuario_data['email']:
            raise serializers.ValidationError('O campo email é obrigatório')
        enderecos_data = validated_data.pop('enderecos')

        user = User.objects.create_user(**usuario_data)

        cliente = Cliente.objects.create(user=user,
                                         foto=foto,
                                         **validated_data)
        for endereco_data in enderecos_data:
            endereco, _ = Endereco.objects.get_or_create(**endereco_data)
            cliente.enderecos.add(endereco)
        cliente.save()
        return cliente
Esempio n. 28
0
class AnswerImageIOSSerializer(serializers.ModelSerializer):
    image = Base64ImageField(required=False)

    class Meta:
        model = Assessment_answer_image
        fields = ('id', 'question', 'company_assessment', 'transaction_type',
                  'image', 'item_no', 'is_active')
Esempio n. 29
0
class ProductsImagesSerializers(serializers.ModelSerializer):
    size = serializers.SerializerMethodField(read_only=True)
    name = serializers.SerializerMethodField(read_only=True)
    mime_type = serializers.SerializerMethodField(read_only=True)
    image = Base64ImageField()

    class Meta:
        model = ProductsImages
        fields = "__all__"

    def create(self, validated_data):
        image = validated_data.pop('image')
        product = validated_data.pop('product')
        return ProductsImages.objects.create(image=image, product=product)

    def get_size(self, obj):
        file_size = ''
        if obj.image and hasattr(obj.image, 'size'):
            file_size = obj.image.size
        return file_size

    def get_name(self, obj):
        file_name = ''
        if obj.image and hasattr(obj.image, 'name'):
            file_name = obj.image.name
        return file_name

    def get_mime_type(self, obj):
        mime_type = ''
        if obj.image and hasattr(obj.image, 'name'):
            mime_type = obj.image.name.split('.')[-1]
        return mime_type
Esempio n. 30
0
class SurveyItemSerializer(serializers.ModelSerializer):
    image = Base64ImageField(required=False, use_url=False)
    surveyitemvote_set = SurveyItemVoteSerializer(many=True, read_only=True)

    class Meta:
        model = survey_models.SurveyItem
        exclude = list()