factory/apps/ecm/serializers.py

65 lines
1.9 KiB
Python

from apps.am.serializers import AreaSimpleSerializer
from apps.ecm.models import EventCate, Remind, NotifySetting, Event
from apps.utils.serializers import CustomModelSerializer
from rest_framework import serializers
from apps.system.serializers import UserSimpleSerializer
from apps.utils.constants import EXCLUDE_FIELDS
class EventCateCreateUpdateSerializer(CustomModelSerializer):
class Meta:
model = EventCate
exclude = EXCLUDE_FIELDS
class EventCateSimpleSerializer(CustomModelSerializer):
class Meta:
model = EventCate
fields = ['id', 'name', 'code']
class EventCateListSerializer(CustomModelSerializer):
class Meta:
model = EventCate
fields = '__all__'
class EventCateUpdateSerializer(CustomModelSerializer):
class Meta:
model = EventCate
fields = ['speaker_on', 'speakers', 'filter_area_level', 'voice_person', 'handle_minute']
class NotifySettingsSerializer(CustomModelSerializer):
post_name = serializers.CharField(source='post.name', read_only=True)
user_name = serializers.CharField(source='user.name', read_only=True)
class Meta:
model = NotifySetting
fields = '__all__'
class EventSerializer(serializers.ModelSerializer):
area_name = serializers.CharField(source='area.name', read_only=True)
cate_ = EventCateSimpleSerializer(source='cate', read_only=True)
people_name = serializers.CharField(source='people.name', read_only=True)
handle_user_name = serializers.CharField(source='handle_user.name', read_only=True)
class Meta:
model = Event
fields = '__all__'
class EventHandleSerializer(CustomModelSerializer):
class Meta:
model = Event
fields = ['handle_desc']
class RemindSerializer(CustomModelSerializer):
recipient_ = UserSimpleSerializer(source='recipient', read_only=True)
class Meta:
model = Remind
fields = '__all__'