class CampaignCreateForm(FlaskForm): name = StringField("Name", validators=[InputRequired(), Length(min=0, max=100)]) dm = SelectField("Dungeon Master / Game Master", validators=[InputRequired()], coerce=int) profile_picture = FileField("Logo") color = ColorField("Color") description = TextAreaField("Description", render_kw={"rows": 15}) associated_parties = SelectMultipleField("Associated Parties", coerce=int) default_participants = SelectMultipleField("Default Participants for Sessions", coerce=int) submit = SubmitField("Create Campaign")
class AuthorizationTokenForm(FlaskForm): client_id = StringField(validators=[DataRequired()]) response_type = StringField(validators=[DataRequired()]) redirect_uri = StringField(validators=[DataRequired()]) scope = SelectMultipleField( choices=((('Spotify Connect', (('user-modify-playback-state', 'user-modify-playback-state'), ('user-read-playback-state', 'user-read-playback-state'), ('user-read-currently-playing', 'user-read-currently-playing'))), ('Listening History ', (('user-top-read', 'user-top-read'), ('user-read-recently-played', 'user-read-recently-played'))), ('Library', (('user-library-modify', 'user-library-modify'), ('user-library-read', 'user-library-read'))), ('Follow', (('user-follow-modify', 'user-follow-modify'), ('user-follow-read', 'user-follow-read'))), ('Playlists', (('playlist-read-private', 'playlist-read-private'), ('playlist-modify-public', 'playlist-modify-public'), ('playlist-modify-private', 'playlist-modify-private'), ('playlist-read-collaborative', 'playlist-read-collaborative'))), ('Users', (('user-read-private', 'user-read-private'), ('user-read-email', 'user-read-email'))), ('Playback', (('app-remote-control', 'app-remote-control'), ('streaming', 'streaming')))))) form_submit = SubmitField('Submit')
class CampaignEditForm(FlaskForm): name = StringField("Name", validators=[InputRequired(), Length(min=0, max=100)]) dm = SelectField("Dungeon Master / Game Master", validators=[InputRequired()], coerce=int) color = ColorField("Color") description = TextAreaField("Description", render_kw={"rows": 15}) dm_notes = TextAreaField("DM notes", render_kw={"rows": 15}) default_participants = SelectMultipleField( "Default participants for sessions", coerce=int) submit = SubmitField("Save Campaign")
class SessionForm(FlaskForm): title = StringField("Title", validators=[InputRequired(), Length(min=0, max=100)]) campaign = HiddenField( "Campaign", validators=[InputRequired(), IsDMValidator("campaign")]) summary = TextAreaField("Summary", render_kw={"rows": 15}) dm_notes = TextAreaField("DM Notes", render_kw={"rows": 15}) date = DateTimeField("Date", validators=[InputRequired()], format="%Y-%m-%d %H:%M") participants = SelectMultipleField("Participants", coerce=int) submit = SubmitField("Submit")
class UpdateAccountForm(FlaskForm): username = StringField('Username', validators=[ validators.DataRequired(), validators.Length(min=2, max=20) ]) email = StringField('Email') picture = FileField() owned_skills = SelectMultipleField( 'Programming Language', choices=(('Programming Languages', (('asm', 'Assembly'), ('c', 'C'), ('cpp', 'C++'), ('java', 'Java'), ('js', 'JavaScript'), ('sql', 'SQL'), ('plsql', 'PL/SQL'), ('python', 'Python'), ('php', 'PHP'), ('ruby', 'Ruby'), ('swift', 'Swift'))), ('Soft Skills', (('pm', 'Project Management'), ('tw', 'Teamwork'), ('potato', 'Potato')))), render_kw={"data-placeholder": "Select all your skills..."}) skills = owned_skills submitNS = SubmitField('Update') submitU = SubmitField('Update') def validate_username(self, username): if username.data != current_user.username: user = User.objects(username=username.data).first() if user: raise ValidationError( 'That username is taken. Please choose a different one.') def validate_email(self, email): if email.data != current_user.email: user = User.objects(email=email.data).first() if user: raise ValidationError( 'That email is taken. Please choose a different one.')
class TestForm(Form): fruits = SelectMultipleField(**kwargs)