Compare commits

...

7 Commits

Author SHA1 Message Date
ibuler
ee01b4e0f7 fix: 修改缩进 2021-01-15 11:15:09 +08:00
ibuler
82077a3ae1 fix: bug 2021-01-14 10:35:16 +08:00
Bai
d2760b98f6 fix: 修复celery日志清除问题 2021-01-11 10:29:32 +08:00
Bai
5f47a072b6 perf: 升级依赖 python-ldap==3.3.1 2020-12-22 17:19:15 +08:00
xinwen
25201e295d fix: 将节点的资产添加到系统用户时固定组织 2020-12-22 15:14:26 +08:00
Bai
a802fb792f fix: 修复资产导入携带disk_info信息时失败的问题 2020-12-21 17:11:20 +08:00
Bai
1646f9b27b fix: 修复提交系统设置失败的问题 2020-12-21 14:29:48 +08:00
8 changed files with 18 additions and 15 deletions

View File

@@ -3,10 +3,13 @@
from celery import shared_task from celery import shared_task
from orgs.utils import tmp_to_root_org
__all__ = ['add_nodes_assets_to_system_users'] __all__ = ['add_nodes_assets_to_system_users']
@shared_task @shared_task
@tmp_to_root_org()
def add_nodes_assets_to_system_users(nodes_keys, system_users): def add_nodes_assets_to_system_users(nodes_keys, system_users):
from ..models import Node from ..models import Node
assets = Node.get_nodes_all_assets(nodes_keys).values_list('id', flat=True) assets = Node.get_nodes_all_assets(nodes_keys).values_list('id', flat=True)

View File

@@ -40,6 +40,6 @@ def clean_ftp_log_period():
@register_as_period_task(interval=3600*24) @register_as_period_task(interval=3600*24)
@shared_task @shared_task
def clean_audits_log_period(): def clean_audits_log_period():
clean_audits_log_period() clean_login_log_period()
clean_operation_log_period() clean_operation_log_period()
clean_ftp_log_period() clean_ftp_log_period()

View File

@@ -54,12 +54,3 @@ class UserConnectionTokenApi(RootOrgViewMixin, APIView):
return Response(value) return Response(value)
else: else:
return Response({'user': value['user']}) return Response({'user': value['user']})
def get_permissions(self):
if self.request.query_params.get('user-only', None):
self.permission_classes = (AllowAny,)
return super().get_permissions()

View File

@@ -1,6 +1,7 @@
import abc import abc
import json import json
import codecs import codecs
from rest_framework import serializers
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from rest_framework.parsers import BaseParser from rest_framework.parsers import BaseParser
from rest_framework import status from rest_framework import status
@@ -83,14 +84,17 @@ class BaseFileParser(BaseParser):
new_row.append(col) new_row.append(col)
return new_row return new_row
@staticmethod def process_row_data(self, row_data):
def process_row_data(row_data):
""" """
构建json数据后的行数据处理 构建json数据后的行数据处理
""" """
new_row_data = {} new_row_data = {}
serializer_fields = self.serializer_cls().fields
for k, v in row_data.items(): for k, v in row_data.items():
if isinstance(v, list) or isinstance(v, dict) or isinstance(v, str) and k.strip() and v.strip(): if isinstance(v, list) or isinstance(v, dict) or isinstance(v, str) and k.strip() and v.strip():
# 解决类似disk_info为字符串的'{}'的问题
if not isinstance(v, str) and isinstance(serializer_fields[k], serializers.CharField):
v = str(v)
new_row_data[k] = v new_row_data[k] = v
return new_row_data return new_row_data

View File

@@ -15,7 +15,11 @@ class CeleryLogWebsocket(JsonWebsocketConsumer):
disconnected = False disconnected = False
def connect(self): def connect(self):
self.accept() user = self.scope["user"]
if user.is_authenticated and user.is_org_admin:
self.accept()
else:
self.close()
def receive(self, text_data=None, bytes_data=None, **kwargs): def receive(self, text_data=None, bytes_data=None, **kwargs):
data = json.loads(text_data) data = json.loads(text_data)

View File

@@ -62,7 +62,7 @@ class TerminalSettingSerializer(serializers.Serializer):
) )
TERMINAL_PASSWORD_AUTH = serializers.BooleanField(required=False) TERMINAL_PASSWORD_AUTH = serializers.BooleanField(required=False)
TERMINAL_PUBLIC_KEY_AUTH = serializers.BooleanField(required=False) TERMINAL_PUBLIC_KEY_AUTH = serializers.BooleanField(required=False)
TERMINAL_HEARTBEAT_INTERVAL = serializers.IntegerField(min_value=5, max_value=99999, required=True) TERMINAL_HEARTBEAT_INTERVAL = serializers.IntegerField(min_value=5, max_value=99999, required=False)
TERMINAL_ASSET_LIST_SORT_BY = serializers.ChoiceField(SORT_BY_CHOICES, required=False) TERMINAL_ASSET_LIST_SORT_BY = serializers.ChoiceField(SORT_BY_CHOICES, required=False)
TERMINAL_ASSET_LIST_PAGE_SIZE = serializers.ChoiceField(PAGE_SIZE_CHOICES, required=False) TERMINAL_ASSET_LIST_PAGE_SIZE = serializers.ChoiceField(PAGE_SIZE_CHOICES, required=False)
TERMINAL_SESSION_KEEP_DURATION = serializers.IntegerField(min_value=1, max_value=99999, required=True) TERMINAL_SESSION_KEEP_DURATION = serializers.IntegerField(min_value=1, max_value=99999, required=True)

View File

@@ -2,6 +2,7 @@
{% load i18n %} {% load i18n %}
{% load static %} {% load static %}
{% block content %} {% block content %}
<div class="wrapper wrapper-content"> <div class="wrapper wrapper-content">
<div class="row"> <div class="row">
<div class="col-sm-3"> <div class="col-sm-3">

View File

@@ -77,7 +77,7 @@ drf-nested-routers==0.91
aliyun-python-sdk-core-v3==2.9.1 aliyun-python-sdk-core-v3==2.9.1
aliyun-python-sdk-ecs==4.10.1 aliyun-python-sdk-ecs==4.10.1
rest_condition==1.0.3 rest_condition==1.0.3
python-ldap==3.1.0 python-ldap==3.3.1
tencentcloud-sdk-python==3.0.40 tencentcloud-sdk-python==3.0.40
django-radius==1.4.0 django-radius==1.4.0
ipip-ipdb==1.2.1 ipip-ipdb==1.2.1