相关方路由修改

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, '属地部门'), (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)

View File

@ -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__'

View File

@ -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):
""" """
相关方文件库 相关方文件库
""" """

View File

@ -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)

View File

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

View 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()

View File

@ -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()}

View File

@ -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)