示例#1
0
def update_config():
    if request.method == 'POST':
        message = json.loads(request.get_data(as_text=True))
        token = message["token"]
        result = confirm_admin_token(token)  # 没有每个人唯一的Key
    response = Response()
    response.headers['Content-Type'] = 'application/json'
    response.headers['Access-Control-Allow-Origin'] = '*'
    response.headers['Access-Control-Allow-Headers'] = '*'
    if request.method == 'OPTIONS':
        return response
    return_json = {'code': 1, 'message': '网络异常', 'data': None}
    response.data = return_msg(return_json)
    if result == False:
        return response
    try:
        referer = request.headers.get('Referer', None)
        if referer is not None:
            referer = referer.replace('admin', 'index')
            message['frontend_url'] = referer
        if message.get('username'):  # email admin address
            message['server_address'] = get_smtp_url(
                message.get('username'))  # email smtp address
        orgconfig = utils.get_org_config()
        emailconfig = utils.get_email_config()
        for domain in message:
            if domain == "token" or len(str(message[domain])) == 0:
                continue
            if domain in orgconfig:
                orgconfig[domain] = message[domain]
            elif domain in emailconfig:
                emailconfig[domain] = message[domain]
        utils.update_org_config(orgconfig)
        utils.update_email_config(emailconfig)
    except Exception as e:
        logger.error(e)
    return_json = {
        'code': 0,
        'message': 'update config successfully',
        'data': None
    }
    response.data = return_msg(return_json)
    return response
 def test_getSMTP_url(self):
     smtp_url = get_smtp_url('*****@*****.**')
     self.assertEqual(smtp_url, 'smtp.163.com')