Пример #1
0
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')
Пример #2
0
class CreateForm(Form):
    """
    /projects/create 用のフォームクラス
    入力値チェックも担う
    """
    title = TextField(u'タイトル', [validators.Length(min=1, max=25)])
    description = TextField(u'説明', [validators.Length(min=1, max=100)])
Пример #3
0
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'))
Пример #4
0
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'
Пример #5
0
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")
    ])
Пример #6
0
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'发送')
Пример #7
0
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')
Пример #8
0
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())
Пример #9
0
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 )	
Пример #10
0
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()])
Пример #11
0
class LoginForm(Form):
    username = TextField('Username', [
        validators.Required(),
        validators.Length(min=4, max=32)])
    password = PasswordField('Password', [
        validators.Required(),
        ])
    remember_me = BooleanField('Remember me?')
Пример #12
0
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')
Пример #13
0
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
Пример #14
0
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)
Пример #15
0
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")
Пример #16
0
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()
Пример #17
0
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()
Пример #18
0
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')
Пример #19
0
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')
Пример #20
0
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')
Пример #21
0
class NewPostForm(ReferrerCheckForm):
    message = TextAreaField('Message', [Required(), validators.Length(min=2)])
Пример #22
0
class LoginForm(wtf.Form):
    username = wtf.TextField(u'Username', validators=[validators.Required()])
    password = wtf.PasswordField(
        u'Password',
        validators=[validators.Required(),
                    validators.Length(min=6)])
Пример #23
0
class EntryForm(Form):
    title = TextField(u'タイトル',
                      [validators.required(),
                       validators.Length(max=255)])
    text = TextAreaField(u'内容', [validators.required()])
Пример #24
0
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)])
Пример #25
0
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(),
            ])