From 08bb21b8ff2641f7a999ba8d94de02742dfa599f Mon Sep 17 00:00:00 2001 From: ridethepig Date: Sat, 12 Nov 2022 20:53:35 +0800 Subject: [PATCH] delete user ok --- src/admin.py | 37 +++++++++++++++++++++++++---- src/templates/admin/adduser.html | 2 +- src/templates/admin/index.html | 4 +++- src/templates/admin/removeuser.html | 12 ++++++++++ src/user.py | 0 5 files changed, 49 insertions(+), 6 deletions(-) create mode 100644 src/templates/admin/removeuser.html create mode 100644 src/user.py diff --git a/src/admin.py b/src/admin.py index 309e5b5..a422dcf 100644 --- a/src/admin.py +++ b/src/admin.py @@ -36,16 +36,17 @@ def adduser(): userlimi = request.form['userlimit'] error = None if not userlimi.isdecimal(): - error = '用户空间必须是整数KB' + error = '用户空间必须是整数GB' elif not validateEmail(usermail): error = 'email格式不合法' - + userlimi = int(userlimi) + userlimi *= 1024 * 1024 # userlimit is stored and measured by KB if error is None: db = get_db() try: db.execute( 'insert into user(`user_name`, `user_mail`, `user_passwd`, `user_limit`) values (?,?,?,?)', - (username, generate_password_hash(password), usermail, userlimi,) + (username, usermail, generate_password_hash(password), userlimi,) ) db.commit() except sqlite3.IntegrityError as _e: @@ -57,4 +58,32 @@ def adduser(): if error is None: return redirect(url_for('admin.index')) flash(error) - return render_template("admin/adduser.html") \ No newline at end of file + return render_template("admin/adduser.html") + +@bp.route('/removeuser', methods=("GET",)) +@admin_login_required +def removeuser(): + error = "请求错误" + if request.method == 'GET': + error = None + uid_to_del = request.args.get("uid") + if uid_to_del is not None and uid_to_del.isdecimal: + db = get_db() + rowcnt = 0 + try: + rowcnt = db.execute( + "delete from user where user.user_id=?", (uid_to_del, ) + ).rowcount + db.commit() + except sqlite3.IntegrityError as _e: + error = "用户未做好被删除的准备:%s" % (_e) + db.rollback() + except sqlite3.Error as _e: + error = "删除发生未知错误: %s" %(_e) + db.rollback() + if error is None: + if rowcnt != 0: + error = "删除uid为%s的用户成功!" % uid_to_del + else: + error = "由于uid不存在,可能没有被删除,请再次检查删除结果" + return render_template("admin/removeuser.html", remove_result=error) \ No newline at end of file diff --git a/src/templates/admin/adduser.html b/src/templates/admin/adduser.html index e0c1b10..43a6346 100644 --- a/src/templates/admin/adduser.html +++ b/src/templates/admin/adduser.html @@ -13,7 +13,7 @@

- + diff --git a/src/templates/admin/index.html b/src/templates/admin/index.html index 053b04b..f03b7e7 100644 --- a/src/templates/admin/index.html +++ b/src/templates/admin/index.html @@ -10,7 +10,9 @@ diff --git a/src/templates/admin/removeuser.html b/src/templates/admin/removeuser.html new file mode 100644 index 0000000..4d05862 --- /dev/null +++ b/src/templates/admin/removeuser.html @@ -0,0 +1,12 @@ +{% extends 'base.html' %} + +{% block header %} +

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

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

删除用户结果

+
+ {{remove_result}} +
+ 返回 +{% endblock %} diff --git a/src/user.py b/src/user.py new file mode 100644 index 0000000..e69de29