37 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
from apps.system.models import User
 | 
						|
from rest_framework.serializers import ModelSerializer
 | 
						|
from rest_framework import serializers
 | 
						|
 | 
						|
from utils.mixins import DynamicFieldsSerializerMixin
 | 
						|
from .models import ClockRecord, Employee, NotWorkRemark
 | 
						|
from apps.system.serializers import OrganizationSimpleSerializer, UserListSerializer, UserSimpleSerializer
 | 
						|
from django.db.models.query import Prefetch
 | 
						|
 | 
						|
class EmployeeSerializer(DynamicFieldsSerializerMixin, ModelSerializer):
 | 
						|
    name = serializers.CharField(source='user.name', read_only=True)
 | 
						|
    dept_ = OrganizationSimpleSerializer(source='user.dept', read_only=True)
 | 
						|
    class Meta:
 | 
						|
        model = Employee
 | 
						|
        exclude = ['face_data']
 | 
						|
 | 
						|
class EmployeeNotWorkRemarkSerializer(ModelSerializer):
 | 
						|
    class Meta:
 | 
						|
        model = Employee
 | 
						|
        fields = ['not_work_remark']
 | 
						|
class FaceLoginSerializer(serializers.Serializer):
 | 
						|
    base64 = serializers.CharField()
 | 
						|
 | 
						|
 | 
						|
class FaceClockCreateSerializer(serializers.Serializer):
 | 
						|
    base64 = serializers.CharField()
 | 
						|
 | 
						|
class ClockRecordListSerializer(serializers.ModelSerializer):
 | 
						|
    create_by_ = UserSimpleSerializer(source='create_by', read_only=True)
 | 
						|
    class Meta:
 | 
						|
        model = ClockRecord
 | 
						|
        fields = '__all__'
 | 
						|
 | 
						|
class NotWorkRemarkListSerializer(serializers.ModelSerializer):
 | 
						|
    class Meta:
 | 
						|
        model = NotWorkRemark
 | 
						|
        fields = '__all__' |