def entry_form(self): ''' create an entry form for manager use ''' if not hasattr(self, 'form'): class_name = 'ContentEntryForm' class_parents = (Form,) attributes = {} form = type(class_name, (Form,), {}) title_field = TextField('Title', [Required('Title is required')]) title_field.bind(form, 'content_entry_title') setattr(form, 'content_entry_title', title_field) slug_field = TextField('Slug', [Required('Slug is required')]) slug_field.bind(form, 'content_entry_slug') setattr(form, 'content_entry_slug', slug_field) tag_field = TextField('Tags') tag_field.bind(form, 'content_entry_tag') setattr(form, 'content_entry_tag', tag_field) status_field = SelectField('Status', choices=self.status_options) status_field.bind(form, 'content_entry_status') setattr(form, 'content_entry_status', status_field) save_field = SubmitField('Save') save_field.bind(form, 'content_entry_save') setattr(form, 'content_entry_save', save_field) delete_field = SubmitField('Delete') delete_field.bind(form, 'content_entry_delete') setattr(form, 'content_entry_delete', delete_field) field_groups = [] for group in self.field_groups: if group.fields: field_group = {'uuid': group.uuid, 'name': group.name, 'fields': []} for field in group.fields: form_field = field.field(field.name) form_field.bind(form, field.name) setattr(form, field.name, form_field) field_group['fields'].append(field.name) field_groups.append(field_group) attributes['_field_groups'] = field_groups self.form = form self.form._field_groups = field_groups return self.form
class RandomForm(Form): bits = TextAreaField(validators=[Required()]) submit = SubmitField()
class LogIn(FlaskForm): username = StringField('username', validators=[InputRequired()]) password = PasswordField('password', validators=[InputRequired(), ValidateLogin]) log_in = SubmitField('Login', render_kw={'class': 'submit-'})
class TemplateFormHoroscopo(FlaskForm): campoAnyo = StringField("Año Nacimiento", validators=[DataRequired(), Length(4, 5)]) enviar = SubmitField("Enviar")
class LoginForm(FlaskForm): user_name = StringField( 'User Name', validators=[InputRequired('User Name is required')]) password = PasswordField( 'Password', validators=[InputRequired('Password is required')]) submit = SubmitField("Login")
class PageDownFormExample(FlaskForm): pagedown = PageDownField('Enter your markdown') submit = SubmitField('Submit')
class LoginForm(FlaskForm): employee_number = StringField('Employee Number', validators=[DataRequired()]) password = PasswordField('Password', validators=[DataRequired()]) submit = SubmitField('Login')
class EditForm(FlaskForm): title = StringField(u'标题', validators=[DataRequired()]) category = StringField(u'标签', validators=[DataRequired()]) body = PageDownField(u"编辑博客内容", validators=[DataRequired()]) submit = SubmitField(u'提交')
class UploadForm(FlaskForm): wordlist = RadioField('Wordlist', choices=wordlists_available(), default=NONE_STR, description="The higher the rate, the better") rule = RadioField('Rule', choices=Rule.to_form(), default=NONE_STR) timeout = IntegerField('Timeout in minutes, optional', validators=[Optional(), NumberRange(min=1)]) workload = RadioField("Workload", choices=Workload.to_form(), default=Workload.Default.value) brain = BooleanField( "Hashcat Brain", default=False, description="Hashcat Brain skips already tried password candidates") brain_client_feature = RadioField( "Brain client features", choices=BrainClientFeature.to_form(), default=BrainClientFeature.POSITIONS.value) capture = FileField( 'Capture', validators=[ FileRequired(), FileAllowed(HashcatMode.valid_suffixes(), message='Airodump & Hashcat capture files only') ]) submit = SubmitField('Submit') # TODO: pass render_kw=dict(disabled=True) in RadioField def __init__(self): super().__init__() self.wordlist.choices = wordlists_available() def get_wordlist_path(self): if self.wordlist.data == NONE_STR: return None return Path(self.wordlist.data) def get_wordlist_name(self): wordlist = find_wordlist_by_path(self.get_wordlist_path()) if wordlist is None: return None return wordlist.name def get_rule(self): return Rule.from_data(self.rule.data) @property def runtime(self): runtime = estimate_runtime_fmt(wordlist_path=self.get_wordlist_path(), rule=self.get_rule()) return runtime def hashcat_args(self, secret=False): hashcat_args = [] if self.brain.data: hashcat_args.append("--brain-client") hashcat_args.append( f"--brain-client-features={self.brain_client_feature.data}") if secret: hashcat_args.append( f"--brain-password={read_hashcat_brain_password()}") return hashcat_args @staticmethod def validate_wordlist(form, field): wordlist = field.data if wordlist is None: # fast mode return # update the wordlists wordlists_available() wordlist = find_wordlist_by_path(wordlist) if wordlist is None: raise ValidationError( f"The chosen wordlist does not exist anymore.")
class WatchListForm(FlaskForm): add = SubmitField('Add to Watchlist')
class PageDownForm(FlaskForm): pagedown = PageDownField('Title') pagedown2 = PageDownField('Post') submit = SubmitField('Submit')
class RegistForm(FlaskForm): name = StringField(label="昵称", validators=[DataRequired("请输入昵称!")], description="昵称", render_kw={ "class": "form-control input-lg", "placeholder": "请输入昵称!", }) email = StringField(label="邮箱", validators=[DataRequired("请输入邮箱!"), Email("邮箱格式不正确!")], description="邮箱", render_kw={ "class": "form-control input-lg", "placeholder": "请输入邮箱!", }) phone = StringField(label="手机", validators=[ DataRequired("请输入手机!"), Regexp("1[3458]\d{9}", message="手机格式不正确!") ], description="手机", render_kw={ "class": "form-control input-lg", "placeholder": "请输入手机号!", }) pwd = PasswordField(label="密码", validators=[ DataRequired("请输入密码!"), EqualTo('pwd', message="两次密码不一致!") ], description="密码", render_kw={ "class": "form-control input-lg", "placeholder": "请输入密码!", }) repwd = PasswordField( label="确认密码", validators=[DataRequired("请输入确认密码!")], description="确认密码", render_kw={ "class": "form-control input-lg", "placeholder": "请输入确认密码!", # "required": "required" }) submit = SubmitField('注册', render_kw={ "class": "btn btn-lg btn-success btn-block", }) def validate_name(self, field): name = field.data user = User.query.filter_by(name=name).count() if user == 1: raise ValidationError("昵称已经存在!") def validate_email(self, field): email = field.data user = User.query.filter_by(email=email).count() if user == 1: raise ValidationError("邮箱经存在!") def validate_phone(self, field): phone = field.data user = User.query.filter_by(phone=phone).count() if user == 1: raise ValidationError("手机号码已经存在!")
class LoginForm(FlaskForm): #El parametro que se le pasa es la etiqueta o label username = StringField('Nombre de usuario', validators=[DataRequired()]) #wtf va a manejar esa contraseña encriptandola y demas, sin tener que preocuparnos nosotros de eso password = PasswordField('Password', validators=[DataRequired()]) submit = SubmitField('Enviar')
class UpdateTodoForm(FlaskForm): submit_field = SubmitField('Actualizar')
class DeleteTodoForm(FlaskForm): submit_field = SubmitField('Borrar')
class PostForm(FlaskForm): title = StringField(u'标题', validators=[DataRequired()]) body = PageDownField(u"给我留言(markdown)", validators=[DataRequired()]) submit = SubmitField(u'提交')
class DeleteTaskForm(FlaskForm): submit = SubmitField('Delete')
class SubmitForm(FlaskForm): xq = SelectField("校区", choices=[("2", "崂山校区"), ("1", "鱼山校区")]) lx = SelectField("类型", choices=[("1", "四级"), ("2", "六级")]) js = StringField("教室号") kch = StringField("考场号") submit = SubmitField("提交")
class UpdateTaskForm(FlaskForm): submit = SubmitField('Update')
class DirdProfileForm(BaseForm): uuid = HiddenField() services = FieldList(FormField(ServicesForm)) submit = SubmitField()
class TodoForm(FlaskForm): description = StringField('Description', validators=[DataRequired()]) submit = SubmitField('Create')
class BidForm(FlaskForm): bid_amount = DecimalField('', validators=[InputRequired()], render_kw={"placeholder": "Bid amount..."}) submit = SubmitField('Place Bid')
class DeleteTodoForm(FlaskForm): submit = SubmitField('x')
class PageDownFormExample(FlaskForm): pagedown = PageDownField( 'Type the text you want to translate and click "Translate" button below.' ) submit = SubmitField('Translate')
class UpdateTodoForm(FlaskForm): submit = SubmitField('✔')
class ExitGroup(FlaskForm): exit_ = SubmitField('Exit Group', render_kw={'class': 'exit_group'})
class LoginForm(FlaskForm): username = StringField('Username', validators=[DataRequired()]) password = PasswordField('Password', validators=[DataRequired()]) submit = SubmitField('Login')
class RequestResetPasswordForm(Form): email = EmailField('Email', validators=[InputRequired(), Length(1, 64), Email()]) submit = SubmitField('Reset password')
class ReplyForm(Form): content = TextAreaField('context', validators=[DataRequired()]) submit = SubmitField('回复')
class PostForm(Form): title = StringField('title', validators=[DataRequired()]) content = TextAreaField('content', validators=[DataRequired()]) submit = SubmitField('发帖')
class FormularioChino(FlaskForm): # variables globales ano = StringField("Introduce tu Año Nacimiento:", validators=[DataRequired(), Length(4, 5)]) botonEnviar = SubmitField("Enviar")