class RegisterForm(Form): fullname = TextField('Full name', [ validators.Length( min=3, max=35, message="Full name must be between 3 and 35 characters long") ]) username = TextField('User name', [ validators.Length( min=3, max=35, message="User name must be between 3 and 35 characters long"), Unique(model.Session, model.User, model.User.name, message="The user name is already taken") ]) email_addr = TextField('Email Address', [ validators.Length( min=3, max=35, message="Email must be between 3 and 35 characters long"), validators.Email(), Unique(model.Session, model.User, model.User.email_addr, message="Email is already taken") ]) password = PasswordField('New Password', [ validators.Required(message="Password cannot be empty"), validators.EqualTo('confirm', message='Passwords must match') ]) confirm = PasswordField('Repeat Password')
class CreateForm(Form): """ /projects/create 用のフォームクラス 入力値チェックも担う """ title = TextField(u'タイトル', [validators.Length(min=1, max=25)]) description = TextField(u'説明', [validators.Length(min=1, max=100)])
class RegisterForm(Form): err_msg = lazy_gettext( "Full name must be between 3 and 35 characters long") fullname = TextField(lazy_gettext('Full name'), [validators.Length(min=3, max=35, message=err_msg)]) err_msg = lazy_gettext( "User name must be between 3 and 35 characters long") err_msg_2 = lazy_gettext("The user name is already taken") username = TextField(lazy_gettext('User name'), [ validators.Length(min=3, max=35, message=err_msg), pb_validator.NotAllowedChars(), pb_validator.Unique(db.session, model.User, model.User.name, err_msg_2) ]) err_msg = lazy_gettext("Email must be between 3 and 35 characters long") err_msg_2 = lazy_gettext("Email is already taken") email_addr = TextField(lazy_gettext('Email Address'), [ validators.Length(min=3, max=35, message=err_msg), validators.Email(), pb_validator.Unique(db.session, model.User, model.User.email_addr, err_msg_2) ]) err_msg = lazy_gettext("Password cannot be empty") err_msg_2 = lazy_gettext("Passwords must match") password = PasswordField(lazy_gettext('New Password'), [ validators.Required(err_msg), validators.EqualTo('confirm', err_msg_2) ]) confirm = PasswordField(lazy_gettext('Repeat Password'))
class RegistrationForm(Form): username = TextField('Username', [ validators.Required(), validators.Length( min=3, max=30, message='Username must be %(min)d - %(max)d chars'), validators.Regexp( '^[A-Za-z0-9\-_]+$', message= 'Username may only contain letters, numbers, dashes and underscores' ) ]) email = TextField('Email', [ validators.Required(), validators.Email(), validators.Length(max=255) ]) password = PasswordField('Password', [ validators.Required(), validators.EqualTo('password_confirm', message='Passwords did not match') ]) password_confirm = PasswordField('Confirm Password') submit = SubmitField('Register') def validate_username(form, field): user = models.User.query.filter_by(username=field.data).all() if user: raise ValidationError, 'Username already exists'
class UpdateProfileForm(Form): id = IntegerField(label=None, widget=HiddenInput()) fullname = TextField('Full name', [ validators.Length( min=3, max=35, message="Full name must be between 3 and 35 characters long") ]) name = TextField('User name', [ validators.Length( min=3, max=35, message="User name must be between 3 and 35 characters long"), Unique(model.Session, model.User, model.User.name, message="The user name is already taken") ]) email_addr = TextField('Email Address', [ validators.Length( min=3, max=35, message="Email must be between 3 and 35 characters long"), validators.Email(), Unique(model.Session, model.User, model.User.email_addr, message="Email is already taken") ])
class ReplyMessageForm(Form): subject = TextField(u'标题', validators=[ validators.required(message=u"标题不能为空"), validators.Length(min=4, max=100) ]) content = TextAreaField(u'内容', validators=[ validators.required(message=u"内容不能为空"), validators.Length(min=6, max=2000) ]) submit = SubmitField(u'发送')
class SolutionForm(Form): description = TextAreaField( 'Description/Notes', [validators.Optional(), validators.Length(max=255)]) youtube = TextField('YouTube Link', [ validators.Optional(), validators.Length(max=255), validators.Regexp('^(http://)?(www\.)?youtu\.?be[\./]', message='Not a valid YouTube URL') ]) submit = SubmitField('Update')
class EntryForm(Form): title = TextField('Title', [validators.Length(min=1, max=255, message="You must provide a title")]) body = TextAreaField('Body', [validators.Length(min=4, max=1048576, message="The body is required")]) time = DateTimeField('Time', display_format="%H:%M") date = DateTimeField('Date', display_format="%m/%d/%Y") tags = TextField('Tags') is_draft = BooleanField('Draft?') is_deleted = BooleanField('Delete?') post_id = IntegerField('id', widget=HiddenInput())
class PostForm(Form): title = TextField('Titulo:', [ validators.Length(min=5, max=60, message="O Titulo deve ter entre 5 a 60 caracteres.") ]) text = TextAreaField('Texto:', [ validators.Length(min=5, message="O Texto deve ter no minimo 5 caracteres.") ]) tags = TextField('Tags:',[ validators.required(message="Informe uma tag.") ]) def __init__(self, model_instance = None, *args, **kwargs): """Método construtor da classe, preenche model ao criar form.""" kwargs['csrf_enabled'] = False super(PostForm, self).__init__(*args, **kwargs) self.model = None if model_instance: self.title.data = model_instance.title self.text.data = model_instance.text self.tags.data = self.get_tags( model_instance.tags ) self.model = model_instance def save(self): """Método responsável em salvar post no bigtable.""" if self.model: self.model.title = self.title.data self.model.text = self.text.data self.model.tags = self.set_tags(self.tags.data) else: self.model = Post( title = self.title.data, text = self.text.data, tags = self.set_tags(self.tags.data) ) self.model.put() return self.model def get_tags(self, tags): """Metodo que recupera valor do atributo tags.""" tstr = "" for tag in tags: tstr += "%s," % tag return tstr[:-1] def set_tags(self, tags): """Método que define valor para o atributo tags.""" tag = TagCategory() return tag.string_to_category( tags )
class ForgotPasswordForm(Form): """Form Class for forgotten password.""" err_msg = lazy_gettext("Email must be between 3 and 35 characters long") email_addr = TextField(lazy_gettext('Email Address'), [validators.Length(min=3, max=35, message=err_msg), validators.Email()])
class LoginForm(Form): username = TextField('Username', [ validators.Required(), validators.Length(min=4, max=32)]) password = PasswordField('Password', [ validators.Required(), ]) remember_me = BooleanField('Remember me?')
class RegistrationForm(LoginForm): email = EmailField('Email Address', [ validators.Required(), validators.Length(min=6, max=64), validators.Email(u'Invalid Email Address') ]) name = TextField('Full Name (Optional)', [ validators.Optional(), validators.Length(min=2, max=64)]) phone = TextField('Phone Number', [ validators.Optional(), validators.Length(min=5, max=20)]) password = PasswordField('New Password', [ validators.Required(), validators.EqualTo('confirm', message='Passwords must match') ]) confirm = PasswordField('Repeat Password') admin = BooleanField('Make me an Admin')
class UpdateProfileForm(Form): """Form Class for updating PyBossa's user Profile.""" id = IntegerField(label=None, widget=HiddenInput()) err_msg = lazy_gettext("Full name must be between 3 and 35 " "characters long") fullname = TextField(lazy_gettext('Full name'), [validators.Length(min=3, max=35, message=err_msg)]) err_msg = lazy_gettext("User name must be between 3 and 35 " "characters long") err_msg_2 = lazy_gettext("The user name is already taken") name = TextField(lazy_gettext('User name'), [validators.Length(min=3, max=35, message=err_msg), pb_validator.NotAllowedChars(), pb_validator.Unique( db.session, model.User, model.User.name, err_msg_2)]) err_msg = lazy_gettext("Email must be between 3 and 35 characters long") err_msg_2 = lazy_gettext("Email is already taken") email_addr = TextField(lazy_gettext('Email Address'), [validators.Length(min=3, max=35, message=err_msg), validators.Email(), pb_validator.Unique( db.session, model.User, model.User.email_addr, err_msg_2)]) locale = SelectField(lazy_gettext('Default Language')) ckan_api = TextField(lazy_gettext('CKAN API Key')) def set_locales(self, locales): """Fill the locale.choices.""" choices = [] for locale in locales: if locale == 'en': lang = gettext("English") if locale == 'es': lang = gettext("Spanish") if locale == 'fr': lang = gettext("French") choices.append((locale, lang)) self.locale.choices = choices
class TeamForm(Form): ''' Modify Team ''' id = IntegerField(label=None, widget=HiddenInput()) err_msg = lazy_gettext( "Team Name must be between 3 and 35 characters long") err_msg_2 = lazy_gettext("The team name is already taken") name = TextField(lazy_gettext('Team Name'), [ validators.Length(min=3, max=35, message=err_msg), pb_validator.Unique(db.session, Team, Team.name, err_msg_2) ]) err_msg = lazy_gettext( "Team Description must be between 3 and 35 characters long") description = TextField( lazy_gettext('Description'), [validators.Length(min=3, max=35, message=err_msg)]) public = BooleanField(lazy_gettext('Public'), default=True)
class EditUserForm(Form): email = TextField("email", [ validators.Length(min=6, max=35), validators.Email(message="Not a valid email address"), Unique(User, User.email) ]) password = PasswordField("New password", [ validators.Required(), validators.EqualTo("confirm", message="Passwords must match") ]) confirm = PasswordField("Confirm new password")
class RegistrationForm(Form): username = TextField( 'Username', [validators.Required(), validators.Length(min=4, max=25)]) password = PasswordField('Password', [ validators.Required(), validators.EqualTo('confirm', message='Passwords must match') ]) confirm = PasswordField('Confirm Password', [validators.Required()]) accept_tos = BooleanField('I accept the TOS', [validators.Required()]) recaptcha = RecaptchaField()
class RegistrationForm(Form): email = TextField("email", [validators.Email(message="Not a valid email address")]) username = TextField( "username", [validators.Length(min=6), Unique(User, User.username)]) password = PasswordField("Password", [ validators.Required(), validators.EqualTo("Confirm", message="Passwords must match") ]) confirm = PasswordField("Repeat Password") recaptcha = RecaptchaField()
class SignupForm(Form): username = f.TextField('Username', [ v.Length(min=3, max=128), v.Regexp(r'^[^@]*$', message="Username shouldn't be an email address") ]) email = html5.EmailField('Email address', [ v.Length(min=3, max=128), v.Email(message="This should be a valid email address.") ]) password = f.PasswordField('Password', [ v.Required(), v.Length( min=8, message= "It's probably best if your password is longer than 8 characters." ), v.EqualTo('confirm', message="Passwords must match.") ]) confirm = f.PasswordField('Confirm password') # Will only work if set up in config (see http://packages.python.org/Flask-WTF/) captcha = f.RecaptchaField('Captcha')
class UserSettingsForm(Form): password = PasswordField('Current Password', [validators.Required()]) email = TextField('Email', [ validators.Required(), validators.Email(), validators.Length(max=255) ]) new_password = PasswordField('New Password', [ validators.Optional(), validators.EqualTo('new_password_confirm', message='New passwords did not match') ]) new_password_confirm = PasswordField('Confirm New Password') submit = SubmitField('Change Settings')
class RequestForm(Form): project_name = TextField('Name (lowercase, alphanumeric only)', [validators.Length(min=1, max=150)]) project_pretty_name = TextField('Pretty Name', [validators.Length(min=1, max=150)]) project_description = TextField('Short Description', [validators.Length(min=1, max=254)]) project_owner = TextField('Owner FAS Username', [validators.Length(min=1, max=32)]) project_scm = SelectField('SCM', choices=[('git', 'git'), ('svn', 'svn'), ('bzr', 'bzr'), ('hg', 'hg')]) project_trac = SelectField('Trac Instance?', choices=[('no', 'No'), ('yes', 'Yes'), ('agilo', 'Yes w/ Agilo')]) project_mailing_lists = FieldList(TextField( 'Mailing List (must start with the project name)', [validators.Length(max=64), valid_mailing_list_name]), min_entries=1) project_commit_lists = FieldList(TextField( 'Send commit emails to (full email address)', [valid_email_address]), min_entries=1) comments = TextAreaField('Comments/Special Requests')
class NewPostForm(ReferrerCheckForm): message = TextAreaField('Message', [Required(), validators.Length(min=2)])
class LoginForm(wtf.Form): username = wtf.TextField(u'Username', validators=[validators.Required()]) password = wtf.PasswordField( u'Password', validators=[validators.Required(), validators.Length(min=6)])
class EntryForm(Form): title = TextField(u'タイトル', [validators.required(), validators.Length(max=255)]) text = TextAreaField(u'内容', [validators.required()])
class CommentForm(Form): author = TextField('name', validators=[Required()]) email = TextField('email (not visible to others)', validators=[Required(), validators.email()]) comment = TextAreaField('comment', validators=[Required(), validators.Length(2, 500)])
class ForgotPasswordForm(Form): email_addr = TextField('Email Address', [validators.Length(min=3, max=35, message="Email must be between 3 and 35 characters long"), validators.Email(), ])