相关方路由修改
This commit is contained in:
parent
eef50a8920
commit
2e7a9a2b7e
|
@ -0,0 +1,18 @@
|
||||||
|
# Generated by Django 3.2.12 on 2022-06-18 09:04
|
||||||
|
|
||||||
|
from django.db import migrations
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('ecm', '0002_alter_eventcate_speakers'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.RenameField(
|
||||||
|
model_name='notifysetting',
|
||||||
|
old_name='filter_sender',
|
||||||
|
new_name='filter_recipient',
|
||||||
|
),
|
||||||
|
]
|
|
@ -0,0 +1,19 @@
|
||||||
|
# Generated by Django 3.2.12 on 2022-06-19 03:29
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('ecm', '0003_rename_filter_sender_notifysetting_filter_recipient'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='notifysetting',
|
||||||
|
name='event_cate',
|
||||||
|
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ecm.eventcate', verbose_name='关联事件种类'),
|
||||||
|
),
|
||||||
|
]
|
|
@ -35,8 +35,7 @@ class NotifySetting(CommonAModel):
|
||||||
(30, '属地部门'),
|
(30, '属地部门'),
|
||||||
(40, '属地部门以上')
|
(40, '属地部门以上')
|
||||||
)
|
)
|
||||||
event_cate = models.ForeignKey(EventCate, verbose_name='关联事件种类',
|
event_cate = models.ForeignKey(EventCate, verbose_name='关联事件种类', on_delete=models.CASCADE)
|
||||||
to_field='code', on_delete=models.CASCADE)
|
|
||||||
post = models.ForeignKey(Post, verbose_name='提醒岗位',
|
post = models.ForeignKey(Post, verbose_name='提醒岗位',
|
||||||
on_delete=models.CASCADE, null=True, blank=True)
|
on_delete=models.CASCADE, null=True, blank=True)
|
||||||
filter_recipient = models.PositiveSmallIntegerField('提醒人员过滤', null=True, blank=True)
|
filter_recipient = models.PositiveSmallIntegerField('提醒人员过滤', null=True, blank=True)
|
||||||
|
|
|
@ -31,6 +31,8 @@ class EventCateUpdateSerializer(CustomModelSerializer):
|
||||||
|
|
||||||
|
|
||||||
class NotifySettingsSerializer(CustomModelSerializer):
|
class NotifySettingsSerializer(CustomModelSerializer):
|
||||||
|
post_name = serializers.CharField(source='post.name', read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = NotifySetting
|
model = NotifySetting
|
||||||
fields = '__all__'
|
fields = '__all__'
|
||||||
|
|
|
@ -23,7 +23,7 @@ class Rparty(CommonBModel):
|
||||||
description = models.TextField('概述', null=True, blank=True)
|
description = models.TextField('概述', null=True, blank=True)
|
||||||
|
|
||||||
|
|
||||||
class RpartyFile(BaseModel):
|
class Rfile(BaseModel):
|
||||||
"""
|
"""
|
||||||
相关方文件库
|
相关方文件库
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -52,7 +52,7 @@ class RpartyAssignSerializer(serializers.Serializer):
|
||||||
username = serializers.CharField('用户名')
|
username = serializers.CharField('用户名')
|
||||||
|
|
||||||
|
|
||||||
class RpartyFileListSerializer(CustomModelSerializer):
|
class RfileListSerializer(CustomModelSerializer):
|
||||||
rparty_ = RpartySimpleSerializer(source='rparty', read_only=True)
|
rparty_ = RpartySimpleSerializer(source='rparty', read_only=True)
|
||||||
file_cate_ = DictSerializer(source='file_cate', read_only=True)
|
file_cate_ = DictSerializer(source='file_cate', read_only=True)
|
||||||
files_ = FileSerializer(source='files', many=True, read_only=True)
|
files_ = FileSerializer(source='files', many=True, read_only=True)
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
from apps.rpm.models import RpjFile
|
from apps.rpm.models import RpjFile
|
||||||
from apps.rpm.views import RpartyViewSet, RemployeeViewSet, RpartyFileViewSet, RpjViewSet, RpjmemberViewSet
|
from apps.rpm.views import RpartyViewSet, RemployeeViewSet, RfileViewSet, RpjViewSet, RpjmemberViewSet
|
||||||
from django.urls import path, include
|
from django.urls import path, include
|
||||||
from rest_framework.routers import DefaultRouter
|
from rest_framework.routers import DefaultRouter
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ HTML_BASE_URL = 'rpm/'
|
||||||
router = DefaultRouter()
|
router = DefaultRouter()
|
||||||
router.register('rparty', RpartyViewSet, basename='rparty')
|
router.register('rparty', RpartyViewSet, basename='rparty')
|
||||||
router.register('remployee', RemployeeViewSet, basename='remployee')
|
router.register('remployee', RemployeeViewSet, basename='remployee')
|
||||||
router.register('rparty_file', RpartyFileViewSet, basename='rparty_file')
|
router.register('rfile', RfileViewSet, basename='rfile')
|
||||||
router.register('rpj', RpjViewSet, basename='rpj')
|
router.register('rpj', RpjViewSet, basename='rpj')
|
||||||
router.register('rpj_member', RpjmemberViewSet, basename='rpj_member')
|
router.register('rpj_member', RpjmemberViewSet, basename='rpj_member')
|
||||||
router.register('rpj_file', RpjFile, basename='rpj_file')
|
router.register('rpj_file', RpjFile, basename='rpj_file')
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
from django.shortcuts import render
|
from django.shortcuts import render
|
||||||
from apps.hrm.models import Certificate, Employee
|
from apps.hrm.models import Certificate, Employee
|
||||||
from apps.hrm.serializers import CertificateCreateUpdateSerializer, CertificateSerializer, EmployeeSerializer
|
from apps.hrm.serializers import CertificateCreateUpdateSerializer, CertificateSerializer, EmployeeSerializer
|
||||||
from apps.rpm.models import Rcertificate, Remployee, Rparty, RpartyFile, Rpjmember, Rpj
|
from apps.rpm.models import Rcertificate, Remployee, Rparty, Rfile, Rpjmember, Rpj
|
||||||
from apps.rpm.serializers import RcertificateCreateUpdateSerializer, RcertificateSerializer, RemployeeCreateSerializer, RemployeeSerializer, RpartyAssignSerializer, RpartyCreateUpdateSerializer, RpartyFileListSerializer, RpartySerializer, RpjListSerializer, RpjmemberCreateSerializer, RpjmemberCreatesSerializer, RpjCreateUpdateSerializer, RpjmemberSerializer, RpjmemberUpdateSerializer
|
from apps.rpm.serializers import RcertificateCreateUpdateSerializer, RcertificateSerializer, RemployeeCreateSerializer, RemployeeSerializer, RpartyAssignSerializer, RpartyCreateUpdateSerializer, RfileListSerializer, RpartySerializer, RpjListSerializer, RpjmemberCreateSerializer, RpjmemberCreatesSerializer, RpjCreateUpdateSerializer, RpjmemberSerializer, RpjmemberUpdateSerializer
|
||||||
from apps.system.models import Post, User, UserPost
|
from apps.system.models import Post, User, UserPost
|
||||||
from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet
|
from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet
|
||||||
from rest_framework.mixins import CreateModelMixin, ListModelMixin, RetrieveModelMixin
|
from rest_framework.mixins import CreateModelMixin, ListModelMixin, RetrieveModelMixin
|
||||||
|
@ -47,10 +47,10 @@ class RpartyViewSet(CustomModelViewSet):
|
||||||
return Response()
|
return Response()
|
||||||
|
|
||||||
|
|
||||||
class RpartyFileViewSet(ListModelMixin, CustomGenericViewSet):
|
class RfileViewSet(ListModelMixin, CustomGenericViewSet):
|
||||||
perms_map = {'get': 'rparty_file:view'}
|
perms_map = {'get': 'rparty_file:view'}
|
||||||
queryset = RpartyFile.objects.all()
|
queryset = Rfile.objects.all()
|
||||||
list_serializer_class = RpartyFileListSerializer
|
list_serializer_class = RfileListSerializer
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
queryset = super().get_queryset()
|
queryset = super().get_queryset()
|
||||||
|
|
|
@ -7,6 +7,7 @@ from rest_framework import exceptions
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
from rest_framework.views import set_rollback
|
from rest_framework.views import set_rollback
|
||||||
from server.settings import myLogger
|
from server.settings import myLogger
|
||||||
|
import json
|
||||||
|
|
||||||
|
|
||||||
def custom_exception_hander(exc, context):
|
def custom_exception_hander(exc, context):
|
||||||
|
@ -27,12 +28,11 @@ def custom_exception_hander(exc, context):
|
||||||
headers['Retry-After'] = '%d' % exc.wait
|
headers['Retry-After'] = '%d' % exc.wait
|
||||||
data = {'err_detail': exc.detail}
|
data = {'err_detail': exc.detail}
|
||||||
if isinstance(exc.detail, dict):
|
if isinstance(exc.detail, dict):
|
||||||
prefix = list(exc.detail.keys())[0]
|
|
||||||
data['err_code'] = exc.default_code
|
data['err_code'] = exc.default_code
|
||||||
data['err_msg'] = prefix + str(exc.detail[prefix]) # 取一部分方便前端alert
|
data['err_msg'] = json.dumps(exc.detail, ensure_ascii=False) # 取一部分方便前端alert
|
||||||
elif isinstance(exc.detail, list):
|
elif isinstance(exc.detail, list):
|
||||||
data['err_code'] = exc.default_code
|
data['err_code'] = exc.default_code
|
||||||
data['err_msg'] = str(exc.detail[0]) if exc.detail else ''
|
data['err_msg'] = json.dumps(exc.detail, ensure_ascii=False)
|
||||||
else:
|
else:
|
||||||
data = {'err_msg': exc.detail, 'err_code': exc.get_codes()}
|
data = {'err_msg': exc.detail, 'err_code': exc.get_codes()}
|
||||||
|
|
||||||
|
|
|
@ -130,7 +130,4 @@ class CustomModelViewSet(CreateModelMixin, UpdateModelMixin, ListModelMixin,
|
||||||
raise ValidationError(**PKS_ERROR)
|
raise ValidationError(**PKS_ERROR)
|
||||||
|
|
||||||
def perform_destroy(self, instance):
|
def perform_destroy(self, instance):
|
||||||
if self.delete_soft:
|
instance.delete(update_by=self.request.user)
|
||||||
instance.delete(update_by=self.request.user)
|
|
||||||
else:
|
|
||||||
instance.delete(soft=False)
|
|
||||||
|
|
Loading…
Reference in New Issue