mirror of
https://github.com/jumpserver/jumpserver.git
synced 2026-01-29 21:51:31 +00:00
Merge v4 to dev
This commit is contained in:
@@ -3,6 +3,7 @@ from .dingtalk import *
|
||||
from .email import *
|
||||
from .feishu import *
|
||||
from .lark import *
|
||||
from .i18n import *
|
||||
from .ldap import *
|
||||
from .public import *
|
||||
from .security import *
|
||||
|
||||
@@ -8,8 +8,8 @@ from django.core.mail import send_mail
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from rest_framework.views import Response, APIView
|
||||
|
||||
from common.utils import get_logger
|
||||
from common.tasks import get_email_connection as get_connection
|
||||
from common.utils import get_logger
|
||||
from .. import serializers
|
||||
|
||||
logger = get_logger(__file__)
|
||||
@@ -44,7 +44,7 @@ class MailTestingAPI(APIView):
|
||||
# setattr(settings, k, v)
|
||||
try:
|
||||
subject = settings.EMAIL_SUBJECT_PREFIX or '' + "Test"
|
||||
message = "Test smtp setting"
|
||||
message = _("Test smtp setting")
|
||||
email_from = email_from or email_host_user
|
||||
email_recipient = email_recipient or email_from
|
||||
connection = get_connection(
|
||||
|
||||
37
apps/settings/api/i18n.py
Normal file
37
apps/settings/api/i18n.py
Normal file
@@ -0,0 +1,37 @@
|
||||
import json
|
||||
import os
|
||||
|
||||
from django.conf import settings
|
||||
from django.utils._os import safe_join
|
||||
from rest_framework.generics import RetrieveAPIView
|
||||
from rest_framework.permissions import AllowAny
|
||||
from rest_framework.response import Response
|
||||
|
||||
|
||||
class ComponentI18nApi(RetrieveAPIView):
|
||||
base_path = 'locale'
|
||||
permission_classes = [AllowAny]
|
||||
|
||||
def retrieve(self, request, *args, **kwargs):
|
||||
name = kwargs.get('name')
|
||||
component_dir = safe_join(settings.APPS_DIR, 'i18n', name)
|
||||
lang = request.query_params.get('lang')
|
||||
|
||||
if os.path.exists(component_dir):
|
||||
files = os.listdir(component_dir)
|
||||
else:
|
||||
files = []
|
||||
data = {}
|
||||
for file in files:
|
||||
if not file.endswith('.json'):
|
||||
continue
|
||||
_lang = file.split('.')[0]
|
||||
with open(safe_join(component_dir, file), 'r') as f:
|
||||
data[_lang] = json.load(f)
|
||||
|
||||
if lang:
|
||||
data = data.get(lang) or {}
|
||||
flat = request.query_params.get('flat', '1')
|
||||
if flat == '0':
|
||||
data = {lang: data}
|
||||
return Response(data)
|
||||
@@ -65,10 +65,12 @@ class SettingsApi(generics.RetrieveUpdateAPIView):
|
||||
'ticket': serializers.TicketSettingSerializer,
|
||||
'ops': serializers.OpsSettingSerializer,
|
||||
'virtualapp': serializers.VirtualAppSerializer,
|
||||
'tool': serializers.ToolSerializer,
|
||||
}
|
||||
|
||||
rbac_category_permissions = {
|
||||
'basic': 'settings.view_setting',
|
||||
'tool': 'settings.view_setting',
|
||||
'terminal': 'settings.change_terminal',
|
||||
'ops': 'settings.change_ops',
|
||||
'ticket': 'settings.change_ticket',
|
||||
@@ -81,24 +83,30 @@ class SettingsApi(generics.RetrieveUpdateAPIView):
|
||||
'security_password': 'settings.change_security',
|
||||
'security_login_limit': 'settings.change_security',
|
||||
'ldap': 'settings.change_auth',
|
||||
'email': 'settings.change_email',
|
||||
'email_content': 'settings.change_email',
|
||||
'cas': 'settings.change_auth',
|
||||
'oidc': 'settings.change_auth',
|
||||
'saml2': 'settings.change_auth',
|
||||
'oauth2': 'settings.change_auth',
|
||||
'wecom': 'settings.change_auth',
|
||||
'dingtalk': 'settings.change_auth',
|
||||
'feishu': 'settings.change_auth',
|
||||
'lark': 'settings.change_auth',
|
||||
'slack': 'settings.change_auth',
|
||||
'auth': 'settings.change_auth',
|
||||
'oidc': 'settings.change_auth',
|
||||
'passkey': 'settings.change_auth',
|
||||
'keycloak': 'settings.change_auth',
|
||||
'radius': 'settings.change_auth',
|
||||
'cas': 'settings.change_auth',
|
||||
'sso': 'settings.change_auth',
|
||||
'saml2': 'settings.change_auth',
|
||||
'oauth2': 'settings.change_auth',
|
||||
'clean': 'settings.change_clean',
|
||||
'other': 'settings.change_other',
|
||||
'chat': 'settings.change_chatai',
|
||||
'email': 'settings.change_email',
|
||||
'email_content': 'settings.change_email',
|
||||
'sms': 'settings.change_sms',
|
||||
'alibaba': 'settings.change_sms',
|
||||
'tencent': 'settings.change_sms',
|
||||
'huawei': 'settings.change_sms',
|
||||
'cmpp2': 'settings.change_sms',
|
||||
'vault': 'settings.change_vault',
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user