from flask_wtf import FlaskForm
from wtforms import SelectField, SubmitField
from app.models import Role


class UpdateUserForm(FlaskForm):
    role = SelectField('Role')
    submit = SubmitField()

    def __init__(self, user, *args, **kwargs):
        if 'data' not in kwargs:
            kwargs['data'] = {'role': user.role.hashid}
        if 'prefix' not in kwargs:
            kwargs['prefix'] = 'update-user-form'
        super().__init__(*args, **kwargs)
        self.role.choices = [(x.hashid, x.name) for x in Role.query.all()]