40 lines
1.3 KiB
Python
40 lines
1.3 KiB
Python
from apps.system.models import User
|
|
from rest_framework.serializers import ModelSerializer
|
|
from rest_framework import serializers
|
|
|
|
from apps.utils.serializers import CustomModelSerializer
|
|
from apps.utils.constants import EXCLUDE_FIELDS
|
|
from .models import ClockRecord, Employee, NotWorkRemark
|
|
from apps.system.serializers import DeptSimpleSerializer,UserSimpleSerializer
|
|
|
|
class EmployeeSerializer(CustomModelSerializer):
|
|
belong_dept_ = DeptSimpleSerializer(source='user.belong_dept', read_only=True)
|
|
class Meta:
|
|
model = Employee
|
|
exclude = EXCLUDE_FIELDS + ['face_data']
|
|
|
|
def save(self, **kwargs):
|
|
if self.validated_data.get('user', None):
|
|
user = self.validated_data['user']
|
|
self.validated_data['name'] = user.name
|
|
self.validated_data['belong_dept'] = user.belong_dept
|
|
return super().save(**kwargs)
|
|
|
|
|
|
|
|
|
|
class EmployeeNotWorkRemarkSerializer(ModelSerializer):
|
|
class Meta:
|
|
model = Employee
|
|
fields = ['not_work_remark']
|
|
|
|
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__' |