mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-12-15 08:32:48 +00:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ee01b4e0f7 | ||
|
|
82077a3ae1 | ||
|
|
d2760b98f6 | ||
|
|
5f47a072b6 | ||
|
|
25201e295d | ||
|
|
a802fb792f | ||
|
|
1646f9b27b |
@@ -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)
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
@@ -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()
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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">
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user