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'] class NotifySettingsSerializer(CustomModelSerializer): post_name = serializers.CharField(source='post.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_name = serializers.CharField(source='cate.name', 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__'