Added role definition handling to user
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
from flask_wtf import FlaskForm
|
||||
from wtforms import StringField, PasswordField, BooleanField, SubmitField, EmailField, IntegerField, DateField
|
||||
from wtforms import (StringField, PasswordField, BooleanField, SubmitField, EmailField, IntegerField, DateField,
|
||||
SelectMultipleField, FieldList, FormField)
|
||||
from wtforms.validators import DataRequired, Length, Email, NumberRange
|
||||
from ..models.user import User, Role
|
||||
|
||||
|
||||
class TenantForm(FlaskForm):
|
||||
@@ -12,16 +14,38 @@ class TenantForm(FlaskForm):
|
||||
submit = SubmitField('Submit')
|
||||
|
||||
|
||||
class UserForm(FlaskForm):
|
||||
class BaseUserForm(FlaskForm):
|
||||
user_name = StringField('Name', validators=[DataRequired(), Length(max=80)])
|
||||
email = EmailField('Email', validators=[DataRequired(), Email()])
|
||||
password = PasswordField('Password', validators=[DataRequired(), Length(min=8)])
|
||||
confirm_password = PasswordField('Confirm Password', validators=[DataRequired(), Length(min=8)])
|
||||
first_name = StringField('First Name', validators=[DataRequired(), Length(max=80)])
|
||||
last_name = StringField('Last Name', validators=[DataRequired(), Length(max=80)])
|
||||
is_active = BooleanField('Is Active', id='flexSwitchCheckDefault')
|
||||
valid_to = DateField('Valid to', id='datepicker')
|
||||
tenant_id = IntegerField('Tenant ID', validators=[NumberRange(min=0)])
|
||||
submit = SubmitField('Submit')
|
||||
roles = SelectMultipleField('Roles', coerce=int)
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(BaseUserForm, self).__init__(*args, **kwargs)
|
||||
self.roles.choices = [(role.id, role.name) for role in Role.query.all()]
|
||||
|
||||
|
||||
class CreateUserForm(BaseUserForm):
|
||||
password = PasswordField('Password', validators=[DataRequired(), Length(min=8)])
|
||||
confirm_password = PasswordField('Confirm Password', validators=[DataRequired(), Length(min=8)])
|
||||
submit = SubmitField('Create User')
|
||||
|
||||
|
||||
class EditUserForm(BaseUserForm):
|
||||
submit = SubmitField('Save User')
|
||||
|
||||
|
||||
class RoleForm(FlaskForm):
|
||||
# This subform will represent a single checkbox for each role
|
||||
role_id = StringField('Role ID')
|
||||
checked = BooleanField('Assigned')
|
||||
|
||||
|
||||
class UserRoleForm(FlaskForm):
|
||||
email = EmailField('Email', validators=[DataRequired(), Email()])
|
||||
roles = FieldList(FormField(RoleForm), min_entries=1)
|
||||
submit = SubmitField('Update Roles')
|
||||
|
||||
Reference in New Issue
Block a user