Change edit user form name

This commit is contained in:
Patrick Jentsch
2019-11-15 14:01:36 +01:00
parent 5fd9711da9
commit fc560933bc
3 changed files with 32 additions and 42 deletions

View File

@ -5,29 +5,22 @@ from wtforms import (BooleanField, SelectField, StringField, SubmitField,
from wtforms.validators import DataRequired, Email, Length, Regexp
class EditProfileAdminForm(FlaskForm):
class EditUserForm(FlaskForm):
email = StringField('Email',
validators=[DataRequired(), Length(1, 64), Email()])
username = StringField(
'Username',
validators=[
DataRequired(),
Length(1, 64),
Regexp(
'^[A-Za-z][A-Za-z0-9_.]*$',
0,
'Usernames must have only letters, numbers, dots or '
'underscores'
)
]
)
username = StringField('Username',
validators=[DataRequired(), Length(1, 64),
Regexp('^[A-Za-z][A-Za-z0-9_.]*$', 0,
'Usernames must have only '
'letters, numbers, dots or '
'underscores')])
confirmed = BooleanField('Confirmed')
role = SelectField('Role', coerce=int)
name = StringField('Real name', validators=[Length(0, 64)])
submit = SubmitField('Update Profile')
def __init__(self, user, *args, **kwargs):
super(EditProfileAdminForm, self).__init__(*args, **kwargs)
super(EditUserForm, self).__init__(*args, **kwargs)
self.role.choices = [(role.id, role.name)
for role in Role.query.order_by(Role.name).all()]
self.user = user

View File

@ -6,7 +6,7 @@ from flask import current_app, flash, redirect, render_template, url_for
from flask_login import login_required
from threading import Thread
from . import admin
from .forms import EditProfileAdminForm
from .forms import EditUserForm
from .tables import AdminUserItem, AdminUserTable
@ -51,19 +51,16 @@ def delete_user(user_id):
@admin_required
def edit_user(user_id):
user = User.query.get_or_404(user_id)
form = EditProfileAdminForm(user=user)
if form.validate_on_submit():
user.email = form.email.data
user.username = form.username.data
user.confirmed = form.confirmed.data
user.role = Role.query.get(form.role.data)
edit_user_form = EditUserForm(user=user)
if edit_user_form.validate_on_submit():
user.email = edit_user_form.email.data
user.username = edit_user_form.username.data
user.confirmed = edit_user_form.confirmed.data
user.role = Role.query.get(edit_user_form.role.data)
db.session.add(user)
db.session.commit()
flash('The profile has been updated.')
return redirect(url_for('admin.edit_user', user_id=user.id))
form.email.data = user.email
form.username.data = user.username
form.confirmed.data = user.confirmed
form.role.data = user.role_id
return render_template('admin/edit_user.html.j2', form=form,
return render_template('admin/edit_user.html.j2',
edit_user_form=edit_user_form,
title='Administration: Edit user', user=user)