相关方路由修改

This commit is contained in:
caoqianming 2022-06-20 07:04:49 +08:00
parent eef50a8920
commit 2e7a9a2b7e
10 changed files with 53 additions and 18 deletions

View File

@ -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',
),
]

View File

@ -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='关联事件种类'),
),
]

View File

@ -35,8 +35,7 @@ class NotifySetting(CommonAModel):
(30, '属地部门'),
(40, '属地部门以上')
)
event_cate = models.ForeignKey(EventCate, verbose_name='关联事件种类',
to_field='code', on_delete=models.CASCADE)
event_cate = models.ForeignKey(EventCate, verbose_name='关联事件种类', on_delete=models.CASCADE)
post = models.ForeignKey(Post, verbose_name='提醒岗位',
on_delete=models.CASCADE, null=True, blank=True)
filter_recipient = models.PositiveSmallIntegerField('提醒人员过滤', null=True, blank=True)

View File

@ -31,6 +31,8 @@ class EventCateUpdateSerializer(CustomModelSerializer):
class NotifySettingsSerializer(CustomModelSerializer):
post_name = serializers.CharField(source='post.name', read_only=True)
class Meta:
model = NotifySetting
fields = '__all__'

View File

@ -23,7 +23,7 @@ class Rparty(CommonBModel):
description = models.TextField('概述', null=True, blank=True)
class RpartyFile(BaseModel):
class Rfile(BaseModel):
"""
相关方文件库
"""

View File

@ -52,7 +52,7 @@ class RpartyAssignSerializer(serializers.Serializer):
username = serializers.CharField('用户名')
class RpartyFileListSerializer(CustomModelSerializer):
class RfileListSerializer(CustomModelSerializer):
rparty_ = RpartySimpleSerializer(source='rparty', read_only=True)
file_cate_ = DictSerializer(source='file_cate', read_only=True)
files_ = FileSerializer(source='files', many=True, read_only=True)

View File

@ -1,5 +1,5 @@
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 rest_framework.routers import DefaultRouter
@ -9,7 +9,7 @@ HTML_BASE_URL = 'rpm/'
router = DefaultRouter()
router.register('rparty', RpartyViewSet, basename='rparty')
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_member', RpjmemberViewSet, basename='rpj_member')
router.register('rpj_file', RpjFile, basename='rpj_file')

View File

@ -1,8 +1,8 @@
from django.shortcuts import render
from apps.hrm.models import Certificate, Employee
from apps.hrm.serializers import CertificateCreateUpdateSerializer, CertificateSerializer, EmployeeSerializer
from apps.rpm.models import Rcertificate, Remployee, Rparty, RpartyFile, Rpjmember, Rpj
from apps.rpm.serializers import RcertificateCreateUpdateSerializer, RcertificateSerializer, RemployeeCreateSerializer, RemployeeSerializer, RpartyAssignSerializer, RpartyCreateUpdateSerializer, RpartyFileListSerializer, RpartySerializer, RpjListSerializer, RpjmemberCreateSerializer, RpjmemberCreatesSerializer, RpjCreateUpdateSerializer, RpjmemberSerializer, RpjmemberUpdateSerializer
from apps.rpm.models import Rcertificate, Remployee, Rparty, Rfile, Rpjmember, Rpj
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.utils.viewsets import CustomGenericViewSet, CustomModelViewSet
from rest_framework.mixins import CreateModelMixin, ListModelMixin, RetrieveModelMixin
@ -47,10 +47,10 @@ class RpartyViewSet(CustomModelViewSet):
return Response()
class RpartyFileViewSet(ListModelMixin, CustomGenericViewSet):
class RfileViewSet(ListModelMixin, CustomGenericViewSet):
perms_map = {'get': 'rparty_file:view'}
queryset = RpartyFile.objects.all()
list_serializer_class = RpartyFileListSerializer
queryset = Rfile.objects.all()
list_serializer_class = RfileListSerializer
def get_queryset(self):
queryset = super().get_queryset()

View File

@ -7,6 +7,7 @@ from rest_framework import exceptions
from rest_framework.response import Response
from rest_framework.views import set_rollback
from server.settings import myLogger
import json
def custom_exception_hander(exc, context):
@ -27,12 +28,11 @@ def custom_exception_hander(exc, context):
headers['Retry-After'] = '%d' % exc.wait
data = {'err_detail': exc.detail}
if isinstance(exc.detail, dict):
prefix = list(exc.detail.keys())[0]
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):
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:
data = {'err_msg': exc.detail, 'err_code': exc.get_codes()}

View File

@ -130,7 +130,4 @@ class CustomModelViewSet(CreateModelMixin, UpdateModelMixin, ListModelMixin,
raise ValidationError(**PKS_ERROR)
def perform_destroy(self, instance):
if self.delete_soft:
instance.delete(update_by=self.request.user)
else:
instance.delete(soft=False)
instance.delete(update_by=self.request.user)