Allow editing users' email address via /u/
Also reloads the user info after a succesful edit.
This commit is contained in:
@@ -2,6 +2,7 @@ from flask_login import current_user
|
||||
from flask_wtf import Form
|
||||
from pillar.web import system_util
|
||||
from pillarsdk.users import User
|
||||
|
||||
from wtforms import BooleanField
|
||||
from wtforms import PasswordField
|
||||
from wtforms import RadioField
|
||||
@@ -10,6 +11,7 @@ from wtforms import StringField
|
||||
from wtforms.validators import DataRequired
|
||||
from wtforms.validators import Length
|
||||
from wtforms.validators import Regexp
|
||||
import wtforms.validators as wtvalid
|
||||
|
||||
|
||||
class UserLoginForm(Form):
|
||||
@@ -75,3 +77,7 @@ class RolesField(SelectMultipleField):
|
||||
|
||||
class UserEditForm(Form):
|
||||
roles = RolesField('Roles')
|
||||
email = StringField(
|
||||
validators=[wtvalid.DataRequired(), wtvalid.Email()],
|
||||
description='Make sure this matches the Store and Blender ID email address.'
|
||||
)
|
||||
|
@@ -227,6 +227,7 @@ def users_edit(user_id):
|
||||
_users_edit(form, user, api)
|
||||
else:
|
||||
form.roles.data = user.roles
|
||||
form.email.data = user.email
|
||||
return render_template('users/edit_embed.html',
|
||||
user=user,
|
||||
form=form)
|
||||
@@ -255,6 +256,7 @@ def _users_edit(form, user, api):
|
||||
|
||||
user.roles = list((current_user_roles - revoked_roles).union(granted_roles))
|
||||
user.groups = list((current_user_groups - revoked_groups).union(granted_groups))
|
||||
user.email = form.email.data
|
||||
|
||||
user.update(api=api)
|
||||
|
||||
|
Reference in New Issue
Block a user