class LoginForm(FlaskForm): username = StringField('Benutzername', validators=[DataRequired()]) password = PasswordField('Passwort', validators=[DataRequired()]) remember_me = BooleanField('Anmeldedaten merken') submit = SubmitField('Anmelden')
class ServiceForm(BaseForm): template = "service" form_type = HiddenField(default="service") id = HiddenField() type = StringField("Service Type") name = StringField("Name") description = StringField("Description") device_query = StringField("Device Query") device_query_property = SelectField( "Query Property Type", choices=(("name", "Name"), ("ip_address", "IP address")) ) devices = MultipleInstanceField("Devices") pools = MultipleInstanceField("Pools") waiting_time = IntegerField("Waiting time (in seconds)", default=0) send_notification = BooleanField("Send a notification") send_notification_method = SelectField( "Notification Method", choices=(("mail", "Mail"), ("slack", "Slack"), ("mattermost", "Mattermost")), ) notification_header = StringField(widget=TextArea(), render_kw={"rows": 5}) include_link_in_summary = BooleanField("Include Result Link in Summary") display_only_failed_nodes = BooleanField("Display only Failed Devices") mail_recipient = StringField("Mail Recipients (separated by comma)") number_of_retries = IntegerField("Number of retries", default=0) time_between_retries = IntegerField("Time between retries (in seconds)", default=10) maximum_runs = IntegerField("Maximum number of runs", default=1) skip = BooleanField("Skip") skip_query = StringField("Skip Query (Python)") vendor = StringField("Vendor") operating_system = StringField("Operating System") initial_payload = DictField() iteration_values = StringField("Iteration Values (Python Query)") iteration_variable_name = StringField( "Iteration Variable Name", default="iteration_value" ) iteration_devices = StringField("Iteration Devices (Python Query)") iteration_devices_property = SelectField( "Iteration Devices Property", choices=(("name", "Name"), ("ip_address", "IP address")), ) result_postprocessing = StringField(widget=TextArea(), render_kw={"rows": 7}) multiprocessing = BooleanField("Multiprocessing") max_processes = IntegerField("Maximum number of processes", default=50) conversion_method = SelectField( choices=( ("none", "No conversion"), ("text", "Text"), ("json", "Json dictionary"), ("xml", "XML dictionary"), ) ) validation_method = SelectField( "Validation Method", choices=( ("none", "No validation"), ("text", "Validation by text match"), ("dict_included", "Validation by dictionary inclusion"), ("dict_equal", "Validation by dictionary equality"), ), ) content_match = SubstitutionField( "Content Match", widget=TextArea(), render_kw={"rows": 8} ) content_match_regex = BooleanField("Match content with Regular Expression") dict_match = DictSubstitutionField("Dictionary to Match Against") negative_logic = BooleanField("Negative logic") delete_spaces_before_matching = BooleanField("Delete Spaces before Matching") query_fields = [ "device_query", "skip_query", "iteration_values", "result_postprocessing", ] def validate(self): valid_form = super().validate() no_recipient_error = ( self.send_notification.data and self.send_notification_method.data == "mail" and not self.mail_recipient.data and not app.mail_recipients ) if no_recipient_error: self.mail_recipient.errors.append( "Please add at least one recipient for the mail notification." ) bracket_error = False for query_field in self.query_fields: field = getattr(self, query_field) try: parse(field.data) except Exception as exc: bracket_error = True field.errors.append(f"Wrong python expression ({exc}).") if "{{" in field.data and "}}" in field.data: bracket_error = True field.errors.append( "You cannot use variable substitution " "in a field expecting a python expression." ) conversion_validation_mismatch = ( self.conversion_method.data == "text" and "dict" in self.validation_method.data or self.conversion_method.data in ("xml", "json") and "dict" not in self.validation_method.data ) if conversion_validation_mismatch: self.conversion_method.errors.append( f"The conversion method is set to '{self.conversion_method.data}'" f" and the validation method to '{self.validation_method.data}' :" " these do not match." ) return ( valid_form and not no_recipient_error and not bracket_error and not conversion_validation_mismatch )
class LoginForm(FlaskForm): username = StringField('Username', validators=[DataRequired()]) password = PasswordField('Password', validators=[DataRequired()]) remember_me = BooleanField('Remember Me') submit = SubmitField('Sign In')
class DeleteForm(FlaskForm): delete = BooleanField("Delete") submit = SubmitField('Submit')
class LoginForm(FlaskForm): email = StringField('Email', validators=[DataRequired(), Email()]) password = PasswordField('Hasło', validators=[DataRequired()]) remember = BooleanField('Zapamiętaj mnie') submit = SubmitField('Zaloguj')
class LoginForm(Form): login = TextField('user_name', [validators.Required()]) password = TextField('password', [validators.Required()]) remember_me = BooleanField('remember_me', default = False)
class BlogEditor(FlaskForm): title = StringField("title", validators=[DataRequired()]) text = TextAreaField("text", validators=[DataRequired()]) tags = StringField("tags", validators=[DataRequired()]) draft = BooleanField("draft", default=False) submit = SubmitField("submit")
class LoginForm(Form): # Fields of the form are defined as class variables. # DataRequired checks that the field is not empty openid = StringField('openid', validators=[DataRequired()]) remember_me = BooleanField('remember_me', default=False)
class LoginForm(Form): openid = StringField('openid', validators=[DataRequired()]) remember_me = BooleanField('remember', default=False)
class LoginForm(Form): email = StringField('邮箱', validators=[Required(), Length(1, 64), Email()]) password = PasswordField('密码', validators=[Required()]) remember_me = BooleanField('保持登陆状态') submit = SubmitField('登陆')
class LoginForm(FlaskForm): email = EmailField('Email', validators=[DataRequired()]) password = PasswordField('Password', validators=[DataRequired()]) remember_me = BooleanField('Remember me') submit = SubmitField('Enter')
class LoginForm(FlaskForm): username = StringField("username", validators=[DataRequired()]) password = PasswordField("password", validators=[DataRequired()]) remember_me = BooleanField("Remember me") submit = SubmitField("Sign in")
class LoginForm(FlaskForm): mail = StringField("Email", validators=[DataRequired()]) password = PasswordField("Mot de passe", validators=[DataRequired()]) remember_me = BooleanField("Se souvenir de la connexion") submit = SubmitField("Login")
class LoginForm(FlaskForm): username = StringField('Username', validators=[DataRequired(), Length(1, 20)]) password = PasswordField('Password', validators=[DataRequired(), Length(1, 128)]) remember = BooleanField('Remember me') submit = SubmitField('Log in')
class loginform(FlaskForm): email = StringField('Email', validators=[DataRequired(),Email()]) password = PasswordField('Password',validators=[DataRequired(),Length(min=8,max=30)]) remember = BooleanField('Remember Me') submit = SubmitField('Log In')
class LoginForm(FlaskForm): username = StringField('Username', validators=[DataRequired(message="Это поле обязательно для заполнения")]) password = PasswordField('Password', validators=[DataRequired(message="Это поле обязательно для заполнения")]) remember_me = BooleanField('Remember Me') submit = SubmitField('Sign In')
class LoginForm(FlaskForm): email = StringField('Your Email Address',validators=[Required(),Email()]) password = PasswordField('Password',validators =[Required()]) remember = BooleanField('Remember me') submit = SubmitField('Sign In')
class VotingForm(FlaskForm): response = BooleanField('I would like to vote FOR this applicant.') submit = SubmitField('Vote!')
class Login_Form(Form): email = StringField(validators=[DataRequired()]) password = PasswordField(validators=[DataRequired()]) remember = BooleanField() submit = SubmitField('Login')
def make_form(config, use_recaptcha=True): class F(FlaskForm): pass dynamic_fields = [] primary_field = None if use_recaptcha: F.recaptcha = RecaptchaField() else: F.recaptcha = BooleanField('captcha placeholder') F.agree = BooleanField('I am 13 years of age or older', validators=[DataRequired(message='You must ' 'be 13 years of age or older to apply.')]) F.submit = SubmitField('Apply!') for field in config['fields']: validators = [Length(max=config['max-length'])] if 'required' in field and field['required']: validators.append(DataRequired()) kwargs = {'label': field['name'], 'validators': validators} if 'description' in field: kwargs.update(description=field['description']) if 'primary' in field and field['primary']: primary_field = field['name'] display_label = True if field['type'] == 'field': formfield = StringField(**kwargs) if field['type'] == 'area': formfield = TextAreaField(**kwargs) if field['type'] == 'integer': formfield = IntegerField(**kwargs) if field['type'] == 'options': choices = [] for choice in field['choices']: if type(choice) == str: choices.append((choice, choice)) else: choices.append(tuple(choice)) formfield = RadioField(**kwargs, choices=choices) if field['type'] == 'section': formfield = SectionField(**kwargs) display_label = False setattr(F, field['name'], formfield) if display_label: dynamic_fields.append(field['name']) # Add maskable checkbox if 'maskable' in field and field['maskable']: if 'mask-label' in config: label = config['mask-label'] else: label = 'Mask this field' formfield = BooleanField(label) setattr(F, field['name'] + '_mask', formfield) # Add other box if 'specify-other' in field and field['specify-other']: formfield = StringField(label='Specify other:') setattr(F, field['name'] + '_other', formfield) form = F() for field in form: if field.name in dynamic_fields: field.flags.dynamic = True if field.name == primary_field: field.flags.primary = True if '_mask' in field.name: field.flags.mask = True if '_other' in field.name: field.flags.other = True return form
class LoginForm(FlaskForm): email = StringField("Email", validators=[DataRequired(), Email()]) password = PasswordField("Password", validators=[DataRequired()]) remember_me = BooleanField("Keep me logged in") submit = SubmitField("Submit")
class UserEnableForm(Form): preserve_membership = BooleanField(default=False)
class LoginForm(FlaskForm): email = StringField("Email", validators=[DataRequired(), Email()]) password = PasswordField("Password", validators=[DataRequired()]) remember = BooleanField("Remember Me") submit = SubmitField("Login")
class StatisticsForm(FlaskForm): locations = SelectField('locations') locations2 = SelectField('locations2') locations3 = SelectField('locations3') locations4 = SelectField('locations4') locations5 = SelectField('locations5') parameters = SelectField('parameters') parameters2 = SelectField('parameters2') parameters3 = SelectField('parameters3') observations = SelectField('observations') startdate = DateField('startdate', format='%Y-%m-%d', default=datetime(2018, 9, 1, 00, 00, 00, 00), validators=[InputRequired()]) enddate = DateField('enddate', format='%Y-%m-%d', default=datetime(2018, 9, 30, 00, 00, 00, 00), validators=[InputRequired()]) trendline = BooleanField('trendline') statlines = BooleanField('statlines') statalpha = StringField('statalpha', default=1.0, validators=[InputRequired()]) removetbllimit = BooleanField('removetbllimit') largeplot = BooleanField('largeplot') distribution = BooleanField('distribution') boxplot = BooleanField('boxplot') boxdislast = BooleanField('boxdislast') boxtype = SelectField(choices=[('min', 'Minimum'), ('max', 'Maksimum'), ('mean', 'Srednjak'), ('sum', 'Suma'), ('median', 'Medijan'), ('std', 'St. devijacija'), ('count', 'Prebrojavanje')], default='mean') samey = BooleanField('samey') scatterplot = BooleanField('scatterplot') scatteralpha = StringField('scatteralpha', default='1.0', validators=[InputRequired()]) scattersize = StringField('scattersize', default='10', validators=[InputRequired()]) rollcorr = BooleanField('rollcorr') cumsum = BooleanField('cumsum') decompose = BooleanField('decompose') relativeplot = BooleanField('relativeplot') relativekde = BooleanField('relativekde') disablestats = BooleanField('disablestats') rollingwindow = IntegerField('rollingwindow', default=24, validators=[InputRequired()]) rollingmean = BooleanField('rollingmean') rollingsum = BooleanField('rollingsum') rollingstdev = BooleanField('rollingstdev') fftspacing = IntegerField('fftspacing', default=0, validators=[InputRequired()]) fftxmax = IntegerField('fftxmax', default=12, validators=[InputRequired()]) ymaxplot = StringField('ymaxplot', default='0', validators=[InputRequired()]) yminplot = StringField('yminplot', default='0', validators=[InputRequired()]) ymaxbox = StringField('ymaxbox', default='0', validators=[InputRequired()]) yminbox = StringField('yminbox', default='0', validators=[InputRequired()]) elevation3d = StringField('elevation3d', default='45', validators=[InputRequired()]) azimuth3d = StringField('azimuth3d', default='45', validators=[InputRequired()]) limit3d = BooleanField('limit3d') plot3dbar = BooleanField('plot3dbar') min3d = StringField('min3d', default='0', validators=[InputRequired()]) max3d = StringField('max3d', default='0', validators=[InputRequired()]) resampleperiod = SelectField(choices=[('Off','Satni'),('D','Dnevni'),('M','Mjesečni'),('Y','Godišnji')], default='Off') resamplehow = SelectField(choices=[('min', 'Minimum'), ('max', 'Maksimum'), ('mean', 'Srednjak'), ('sum', 'Suma'), ('count', 'Prebrojavanje')], default='mean') submit = SubmitField('Pošalji', render_kw={"onclick": "loading();"}) sqlfilter = TextAreaField('sqlfilter') plottitle = TextAreaField('plottitle') filterprimin = StringField('filterprimin', default='') filterprimax = StringField('filterprimax', default='')
class LoginForm(Form): openid = TextField('openid', validators=[Required()]) remember_me = BooleanField('remember_me', default=False)
class LoginForm(FlaskForm): username = StringField('Usuário:', validators=[DataRequired()]) password = PasswordField('Senha:', validators=[DataRequired()]) remember_me = BooleanField('Lembrar-me') submit = SubmitField('Entrar')
class LoginForm(FlaskForm): email = StringField('Email', validators=[DataRequired(), Email()]) password = PasswordField('Password', validators=[DataRequired()]) remember = BooleanField('Remember Me') submit = SubmitField('Login')
class EventDatesForm(IndicoForm): _main_fields = ('start_dt', 'end_dt', 'timezone', 'update_timetable') _override_date_fields = ('start_dt_override', 'end_dt_override') timezone = IndicoTimezoneSelectField(_('Timezone'), [DataRequired()]) start_dt = IndicoDateTimeField(_("Start"), [InputRequired()], allow_clear=False) end_dt = IndicoDateTimeField( _("End"), [InputRequired(), LinkedDateTime('start_dt', not_equal=True)], allow_clear=False) update_timetable = BooleanField( _('Update timetable'), widget=SwitchWidget(), description=_( "Move sessions/contributions/breaks in the timetable according " "to the new event start time.")) start_dt_override = IndicoDateTimeField( _("Start"), [Optional()], allow_clear=True, description=_( "Specifying this date overrides the start date displayed " "on the main conference page.")) end_dt_override = IndicoDateTimeField( _("End"), [Optional(), LinkedDateTime('start_dt_override', not_equal=True)], allow_clear=True, description=_("Specifying this date overrides the end date displayed " "on the main conference page.")) def __init__(self, *args, **kwargs): self.event = kwargs.pop('event') super(EventDatesForm, self).__init__(*args, **kwargs) # timetable synchronization self.check_timetable_boundaries = (self.event.type_ != EventType.lecture) if self.check_timetable_boundaries: self.toplevel_timetable_entries = get_top_level_entries(self.event) if not self.toplevel_timetable_entries: self.check_timetable_boundaries = False if not self.check_timetable_boundaries: del self.update_timetable # displayed dates self.has_displayed_dates = (self.event.type_ == EventType.conference) if self.has_displayed_dates: start_dt = self.start_dt.data or self.start_dt.object_data end_dt = self.end_dt.data or self.end_dt.object_data self.start_dt_override.default_time = start_dt.astimezone( timezone(self.timezone.data)).time() self.end_dt_override.default_time = end_dt.astimezone( timezone(self.timezone.data)).time() else: del self.start_dt_override del self.end_dt_override def validate_start_dt(self, field): if not self.check_timetable_boundaries or self.update_timetable.data or field.object_data == field.data: return if field.data > min(self.toplevel_timetable_entries, key=attrgetter('start_dt')).start_dt: raise ValidationError( _("To use this start date the timetable must be updated.")) def validate_end_dt(self, field): if not self.check_timetable_boundaries: return if self.update_timetable.data: # if we move timetable entries according to the start date # change, check that there's enough time at the end. start_dt_offset = self.start_dt.data - self.start_dt.object_data end_buffer = field.data - max(self.toplevel_timetable_entries, key=attrgetter('end_dt')).end_dt delta = max(timedelta(), start_dt_offset - end_buffer) if delta: delta_str = format_human_timedelta(delta, 'minutes', True) raise ValidationError( _("The event is too short to fit all timetable entries. " "It must be at least {} longer.").format(delta_str)) else: # if we do not update timetable entries, only check that # the event does not end before its last timetable entry; # a similar check for the start time is done above in that # field's validation method. max_end_dt = max(self.toplevel_timetable_entries, key=attrgetter('end_dt')).end_dt if field.data < max_end_dt: raise ValidationError( _("The event cannot end before its last timetable entry, which is at {}." ).format( to_unicode( format_datetime(max_end_dt, timezone=self.event.tzinfo))))
class LoginForm(Form): email = StringField('Email', validators=[DataRequired(), Length(1, 64), Email()]) password = PasswordField('Password', validators=[DataRequired()]) remember_me = BooleanField('Keep me logged in') submit = SubmitField('Log In')
class AddSubprojectForm(FlaskForm): child_project_id = IntegerField(validators=[InputRequired()]) child_can_add_users_to_parent = BooleanField(default=False)