def account_settings(): """Account Settings Page. allow admin to change profile. Methods: GET and POST Args: GET: none POST: username: string pass1 : password pass2 : password twice for validate signature: user profile signature email : for get reply email notification Returns: GET: user object POST: none """ user = UserModel.objects(name=current_user.name).first() if request.method == 'POST': username = request.form['username'] pass1 = request.form['pass1'] pass2 = request.form['pass2'] signature = request.form['signature'] email = request.form['email'] avatar = request.form['avatar'] if pass1 and pass2 and pass1 == pass2: user.password = generate_password_hash(password=pass1) if username: user.name = username if signature: user.signature = signature if email: user.email = email if avatar: user.avatar = avatar user.save() if pass1 or username: logout_user() flash(u"请重新登陆") return redirect(url_for("admin.index")) return redirect(url_for("admin.account_settings")) else: return render_template('admin/account/settings.html', user=user)