notify setting event_cate_name
This commit is contained in:
parent
e7721fdf89
commit
366a3a7616
|
@ -2,7 +2,7 @@ from django.db import models
|
|||
from apps.am.models import Area
|
||||
from apps.hrm.models import Employee
|
||||
from apps.utils.constants import Algo
|
||||
from apps.utils.models import BaseModel, CommonAModel, CommonBModel
|
||||
from apps.utils.models import BaseModel, CommonADModel, CommonAModel, CommonBModel
|
||||
from apps.system.models import Dept, File, Post, User
|
||||
from apps.third.models import TDevice
|
||||
from django.utils import timezone
|
||||
|
@ -42,7 +42,7 @@ class AlgoChannel(BaseModel):
|
|||
unique_together = ('algo', 'vchannel')
|
||||
|
||||
|
||||
class NotifySetting(CommonAModel):
|
||||
class NotifySetting(CommonADModel):
|
||||
"""
|
||||
提醒配置
|
||||
"""
|
||||
|
|
|
@ -6,6 +6,7 @@ from apps.utils.serializers import CustomModelSerializer
|
|||
from rest_framework import serializers
|
||||
from apps.system.serializers import UserSimpleSerializer
|
||||
from apps.utils.constants import EXCLUDE_FIELDS
|
||||
from rest_framework.exceptions import ParseError
|
||||
|
||||
|
||||
class EventCateCreateUpdateSerializer(CustomModelSerializer):
|
||||
|
@ -33,6 +34,7 @@ class EventCateUpdateSerializer(CustomModelSerializer):
|
|||
|
||||
|
||||
class NotifySettingsSerializer(CustomModelSerializer):
|
||||
event_cate_name = serializers.CharField(source='event_cate.name', read_only=True)
|
||||
post_name = serializers.CharField(source='post.name', read_only=True)
|
||||
user_name = serializers.CharField(source='user.name', read_only=True)
|
||||
|
||||
|
@ -40,6 +42,34 @@ class NotifySettingsSerializer(CustomModelSerializer):
|
|||
model = NotifySetting
|
||||
fields = '__all__'
|
||||
|
||||
def check(self, validated_data):
|
||||
post = validated_data.get('post', None)
|
||||
user = validated_data.get('user', None)
|
||||
variable = validated_data.get('variable', None)
|
||||
if post:
|
||||
validated_data['obj_cate'] = 'post'
|
||||
validated_data['user'] = None
|
||||
validated_data['variable'] = None
|
||||
elif user:
|
||||
validated_data['obj_cate'] = 'user'
|
||||
validated_data['post'] = None
|
||||
validated_data['variable'] = None
|
||||
elif variable:
|
||||
validated_data['obj_cate'] = 'variable'
|
||||
validated_data['post'] = None
|
||||
validated_data['user'] = None
|
||||
else:
|
||||
raise ParseError('请指定岗位或用户或变量')
|
||||
return validated_data
|
||||
|
||||
def create(self, validated_data):
|
||||
validated_data = self.check(validated_data)
|
||||
return super().create(validated_data)
|
||||
|
||||
def update(self, instance, validated_data):
|
||||
validated_data = self.check(validated_data)
|
||||
return super().update(instance, validated_data)
|
||||
|
||||
|
||||
class EventSerializer(serializers.ModelSerializer):
|
||||
area_name = serializers.CharField(source='area.name', read_only=True)
|
||||
|
|
Loading…
Reference in New Issue