perf: 修改日志清理

This commit is contained in:
ibuler
2023-02-16 18:32:04 +08:00
parent 9e6b01283d
commit 0c30e509dc
11 changed files with 89 additions and 82 deletions

View File

@@ -1,14 +1,15 @@
# -*- coding: utf-8 -*-
#
from rest_framework import generics
from django.conf import settings
from rest_framework import generics
from common.utils import get_logger
from jumpserver.conf import Config
from rbac.permissions import RBACPermission
from common.utils import get_logger
from .. import serializers
from ..models import Setting
from ..signals import category_setting_updated
logger = get_logger(__file__)
@@ -115,10 +116,15 @@ class SettingsApi(generics.RetrieveUpdateAPIView):
})
return data
def send_signal(self, serializer):
category = self.request.query_params.get('category', '')
category_setting_updated.send(sender=self.__class__, category=category, serializer=serializer)
def perform_update(self, serializer):
post_data_names = list(self.request.data.keys())
settings_items = self.parse_serializer_data(serializer)
serializer_data = getattr(serializer, 'data', {})
for item in settings_items:
if item['name'] not in post_data_names:
continue
@@ -126,6 +132,8 @@ class SettingsApi(generics.RetrieveUpdateAPIView):
if not changed:
continue
serializer_data[setting.name] = setting.cleaned_value
setattr(serializer, '_data', serializer_data)
if hasattr(serializer, 'post_save'):
serializer.post_save()
self.send_signal(serializer)