Merge pull request #9874 from jumpserver/pr@dev@fix_operatelog_hide_sth

fix: 操作日志显示用户加密后的密文,及日期格式调整
pull/9883/head
老广 2023-03-08 14:06:12 +08:00 committed by GitHub
commit 1cbfd48e11
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 6 additions and 3 deletions

View File

@ -4,7 +4,6 @@ from django.db import transaction
from django.core.cache import cache from django.core.cache import cache
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from users.models import User
from common.utils import get_request_ip, get_logger from common.utils import get_request_ip, get_logger
from common.utils.timezone import as_current_tz from common.utils.timezone import as_current_tz
from common.utils.encode import Singleton from common.utils.encode import Singleton

View File

@ -1,13 +1,15 @@
import codecs import codecs
import copy import copy
import csv import csv
from itertools import chain from itertools import chain
from datetime import datetime
from django.db import models from django.db import models
from django.http import HttpResponse from django.http import HttpResponse
from common.utils.timezone import as_current_tz
from common.utils import validate_ip, get_ip_city, get_logger from common.utils import validate_ip, get_ip_city, get_logger
from settings.serializers import SettingsSerializer
from .const import DEFAULT_CITY from .const import DEFAULT_CITY
logger = get_logger(__name__) logger = get_logger(__name__)
@ -70,6 +72,8 @@ def _get_instance_field_value(
f.verbose_name = 'id' f.verbose_name = 'id'
elif isinstance(value, (list, dict)): elif isinstance(value, (list, dict)):
value = copy.deepcopy(value) value = copy.deepcopy(value)
elif isinstance(value, datetime):
value = as_current_tz(value).strftime('%Y-%m-%d %H:%M:%S')
elif isinstance(f, models.OneToOneField) and isinstance(value, models.Model): elif isinstance(f, models.OneToOneField) and isinstance(value, models.Model):
nested_data = _get_instance_field_value( nested_data = _get_instance_field_value(
value, include_model_fields, model_need_continue_fields, ('id',) value, include_model_fields, model_need_continue_fields, ('id',)

View File

@ -1,7 +1,7 @@
from werkzeug.local import Local from werkzeug.local import Local
thread_local = Local() thread_local = Local()
encrypted_field_set = set() encrypted_field_set = {'password'}
def _find(attr): def _find(attr):