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.am.models import Area
|
||||||
from apps.hrm.models import Employee
|
from apps.hrm.models import Employee
|
||||||
from apps.utils.constants import Algo
|
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.system.models import Dept, File, Post, User
|
||||||
from apps.third.models import TDevice
|
from apps.third.models import TDevice
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
|
@ -42,7 +42,7 @@ class AlgoChannel(BaseModel):
|
||||||
unique_together = ('algo', 'vchannel')
|
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 rest_framework import serializers
|
||||||
from apps.system.serializers import UserSimpleSerializer
|
from apps.system.serializers import UserSimpleSerializer
|
||||||
from apps.utils.constants import EXCLUDE_FIELDS
|
from apps.utils.constants import EXCLUDE_FIELDS
|
||||||
|
from rest_framework.exceptions import ParseError
|
||||||
|
|
||||||
|
|
||||||
class EventCateCreateUpdateSerializer(CustomModelSerializer):
|
class EventCateCreateUpdateSerializer(CustomModelSerializer):
|
||||||
|
@ -33,6 +34,7 @@ class EventCateUpdateSerializer(CustomModelSerializer):
|
||||||
|
|
||||||
|
|
||||||
class NotifySettingsSerializer(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)
|
post_name = serializers.CharField(source='post.name', read_only=True)
|
||||||
user_name = serializers.CharField(source='user.name', read_only=True)
|
user_name = serializers.CharField(source='user.name', read_only=True)
|
||||||
|
|
||||||
|
@ -40,6 +42,34 @@ class NotifySettingsSerializer(CustomModelSerializer):
|
||||||
model = NotifySetting
|
model = NotifySetting
|
||||||
fields = '__all__'
|
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):
|
class EventSerializer(serializers.ModelSerializer):
|
||||||
area_name = serializers.CharField(source='area.name', read_only=True)
|
area_name = serializers.CharField(source='area.name', read_only=True)
|
||||||
|
|
Loading…
Reference in New Issue