mirror of https://github.com/openspug/spug
fix issues
parent
622a42e63e
commit
5d86604cc8
|
@ -7,8 +7,8 @@ from .views import *
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
url(r'^$', SettingView.as_view()),
|
url(r'^$', SettingView.as_view()),
|
||||||
url(r'^basic/$', get_basic),
|
|
||||||
url(r'^ldap_test/$', ldap_test),
|
url(r'^ldap_test/$', ldap_test),
|
||||||
url(r'^email_test/$', email_test),
|
url(r'^email_test/$', email_test),
|
||||||
|
url(r'^mfa_test/$', mfa_test),
|
||||||
url(r'^about/$', get_about)
|
url(r'^about/$', get_about)
|
||||||
]
|
]
|
||||||
|
|
|
@ -5,6 +5,7 @@ import django
|
||||||
from django.views.generic import View
|
from django.views.generic import View
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from libs import JsonParser, Argument, json_response
|
from libs import JsonParser, Argument, json_response
|
||||||
|
from apps.account.models import User
|
||||||
from apps.setting.utils import AppSetting
|
from apps.setting.utils import AppSetting
|
||||||
from apps.setting.models import Setting
|
from apps.setting.models import Setting
|
||||||
import platform
|
import platform
|
||||||
|
@ -66,6 +67,13 @@ def email_test(request):
|
||||||
return json_response(error=error)
|
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):
|
def get_about(request):
|
||||||
return json_response({
|
return json_response({
|
||||||
'python_version': platform.python_version(),
|
'python_version': platform.python_version(),
|
||||||
|
@ -73,10 +81,3 @@ def get_about(request):
|
||||||
'spug_version': settings.SPUG_VERSION,
|
'spug_version': settings.SPUG_VERSION,
|
||||||
'django_version': django.get_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) {
|
function handleChangeMFA(v) {
|
||||||
if (v && !store.settings.spug_key) return message.error('开启MFA认证需要先在基本设置中配置调用凭据');
|
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});
|
setMFA({...mfa, enable: v});
|
||||||
http.post('/api/setting/', {data: [{key: 'MFA', value: {...mfa, enable: v}}]})
|
http.post('/api/setting/', {data: [{key: 'MFA', value: {...mfa, enable: v}}]})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
|
|
Loading…
Reference in New Issue