fix issues

pull/330/head
vapao 2021-06-07 11:17:54 +08:00
parent 622a42e63e
commit 5d86604cc8
3 changed files with 19 additions and 9 deletions

View File

@ -7,8 +7,8 @@ from .views import *
urlpatterns = [
url(r'^$', SettingView.as_view()),
url(r'^basic/$', get_basic),
url(r'^ldap_test/$', ldap_test),
url(r'^email_test/$', email_test),
url(r'^mfa_test/$', mfa_test),
url(r'^about/$', get_about)
]

View File

@ -5,6 +5,7 @@ import django
from django.views.generic import View
from django.conf import settings
from libs import JsonParser, Argument, json_response
from apps.account.models import User
from apps.setting.utils import AppSetting
from apps.setting.models import Setting
import platform
@ -59,13 +60,20 @@ def email_test(request):
else:
server = smtplib.SMTP(form.server, form.port, timeout=3)
server.login(form.username, form.password)
return json_response()
return json_response()
except Exception as e:
error = f'{e}'
return json_response(error=error)
def mfa_test(request):
for user in User.objects.filter(is_supper=True):
if not user.wx_token:
return json_response(error=f'检测到管理员账户 {user.nickname} 未配置微信Token请配置后再尝试启用MFA认证否则可能造成系统无法正常登录。')
return json_response()
def get_about(request):
return json_response({
'python_version': platform.python_version(),
@ -73,10 +81,3 @@ def get_about(request):
'spug_version': settings.SPUG_VERSION,
'django_version': django.get_version()
})
def get_basic(request):
keys, data = ('MFA',), {}
for item in Setting.objects.filter(key__in=keys):
data[item.key] = item.real_val
return json_response(data)

View File

@ -25,6 +25,15 @@ export default observer(function () {
function handleChangeMFA(v) {
if (v && !store.settings.spug_key) return message.error('开启MFA认证需要先在基本设置中配置调用凭据');
if (v) {
http.get('/api/setting/mfa_test/')
.then(() => _doModify(v))
} else {
_doModify(v)
}
}
function _doModify(v) {
setMFA({...mfa, enable: v});
http.post('/api/setting/', {data: [{key: 'MFA', value: {...mfa, enable: v}}]})
.then(() => {