feat: 将mlog添加审计日志

This commit is contained in:
caoqianming 2023-12-07 09:39:52 +08:00
parent ba34b26928
commit 2d8169849f
1 changed files with 13 additions and 1 deletions

View File

@ -19,6 +19,7 @@ from .serializers import (SflogExpSerializer, SfLogSerializer, StLogSerializer,
MlogSerializer, MlogRelatedSerializer, DeptBatchSerializer, HandoverSerializer,
GenHandoverSerializer, GenHandoverWmSerializer, MlogAnaSerializer, AttLogSerializer, OtherLogSerializer)
from .services import mlog_submit, update_mtask, handover_submit
from apps.monitor.services import create_auditlog, delete_auditlog
# Create your views here.
@ -135,10 +136,18 @@ class MlogViewSet(CustomModelViewSet):
prefetch_related_fields = ['handle_users', 'material_outs', 'b_mlog']
filterset_class = MlogFilter
@transaction.atomic
def perform_create(self, serializer):
ins = serializer.save()
data = MlogSerializer(ins).data
create_auditlog('create', ins, data)
@transaction.atomic
def perform_destroy(self, instance):
if instance.submit_time is not None:
raise ParseError('日志已提交不可变动')
return super().perform_destroy(instance)
delete_auditlog(instance, instance.id)
instance.delete()
@action(methods=['post'], detail=True, perms_map={'post': 'mlog.submit'}, serializer_class=Serializer)
@transaction.atomic
@ -148,10 +157,13 @@ class MlogViewSet(CustomModelViewSet):
日志提交
"""
ins: Mlog = self.get_object()
vdata_old = MlogSerializer(ins).data
if ins.submit_time is None:
mlog_submit(ins, self.request.user, None)
if ins.mtask:
update_mtask(ins.mtask)
vdata_new = MlogSerializer(ins).data
create_auditlog('submit', ins, vdata_new, vdata_old)
return Response()
@action(methods=['post'], detail=False, perms_map={'post': '*'}, serializer_class=MlogRelatedSerializer)