Allow editing users' email address via /u/

Also reloads the user info after a succesful edit.
This commit is contained in:
2017-06-29 10:55:50 +02:00
parent 08cb2b8438
commit e061d6c29d
5 changed files with 24 additions and 3 deletions

View File

@@ -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.'
)

View File

@@ -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)