diff --git a/src/admin.py b/src/admin.py index d2a325f..904f674 100644 --- a/src/admin.py +++ b/src/admin.py @@ -98,4 +98,49 @@ def removeuser(): error = "由于uid不存在,可能没有被删除,请再次检查删除结果" else: return redirect(url_for("admin.index")) - return render_template("admin/result.html", opname="删除用户出现意外", opresult=error, cur_time=datetime.now()) \ No newline at end of file + return render_template("admin/result.html", opname="删除用户出现意外", opresult=error, cur_time=datetime.now()) + + +@bp.route('/updateuser//', methods=("POST",)) +@admin_login_required +def updateuser(uid): + error = None + db = get_db() + cur = db.cursor() + cur.execute("select * from user where user_id=%s", (uid)) + userinfo = cur.fetchone() + usermail = request.form['usermail'] + username = request.form['username'] + if userinfo is None: + error = "%s号用户不存在!" % (uid) + if username is None or len(username) == 0: + username = None + if usermail is None or len(usermail) == 0: + usermail = None + elif not validateEmail(usermail): + error = "邮箱不合法" + + if error is None: + if usermail is not None: + try: + cur.execute("update user set user_mail=%s where user_id=%s", (usermail, uid)) + db.commit() + except pymysql.IntegrityError as _e: + error = "邮箱重复! %s" % (_e) + db.rollback() + except pymysql.Error as _e: + error = "未知错误: %s" % (_e) + db.rollback() + if username is not None and error is None: + try: + cur.execute("update user set user_name=%s where user_id=%s", (username, uid)) + db.commit() + except pymysql.IntegrityError as _e: + error = "用户名重复! %s" % (_e) + db.rollback() + except pymysql.Error as _e: + error = "未知错误: %s" % (_e) + db.rollback() + if error is None: + return redirect(url_for("admin.index")) + return render_template("admin/result.html", opname="更新用户信息失败", opresult=error, cur_time=datetime.now()) diff --git a/src/templates/admin/index.html b/src/templates/admin/index.html index 03e4665..78959e2 100644 --- a/src/templates/admin/index.html +++ b/src/templates/admin/index.html @@ -2,9 +2,42 @@ {% block header %}

{% block title %}管理主页{% endblock %}

+ {% endblock %} {% block content %} +

用户列表

@@ -24,7 +57,10 @@ {{ user['user_name'] }} {{ user['user_mail'] }} {{ user['user_limit'] / 1024 / 1024 }}GB - 删除 + + 删除 + 修改 + {% endfor %}