write add user

This commit is contained in:
2024-06-22 05:01:32 +00:00
parent 2d407a53f0
commit c6df6a9a28
4 changed files with 185 additions and 17 deletions

View File

@ -127,3 +127,32 @@ def logout():
return redirect(url_for('home'))
if __name__ == '__main__':
app.run(debug=True)
@app.route('/admin/adduser', methods=['GET', 'POST'])
def add_user():
if 'username' not in session or utils.GetPrivilege(session['username'], ExecCommand) < 10:
return redirect(url_for('login'))
form = AddUserForm()
if form.validate_on_submit():
cur_username = session['username']
new_username = form.username.data
password = form.password.data
name = form.name.data
mailAddr = form.mailAddr.data
privilege = form.privilege.data
# 调用 ExecCommand 执行添加用户命令
add_user_response = ExecCommand(f'add_user -c {cur_username} -u {new_username} -p {password} -n {name} -m {mailAddr} -g {privilege}')
if add_user_response.strip() == '0':
flash('User added successfully.', 'success')
return redirect(url_for('home'))
elif add_user_response.strip() == '-1':
error = 'Failed to add user.'
else:
error = 'An unknown error occurred.'
flash(error, 'danger')
return render_template('adduser.html', form=form)