mirror of https://github.com/openspug/spug
fix issues
parent
622a42e63e
commit
5d86604cc8
|
@ -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)
|
||||
]
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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(() => {
|
||||
|
|
Loading…
Reference in New Issue