예제 #1
0
class CommentForm(Form):

    comment = TextAreaField(validators=[
                            required(message=_("Comment is required"))])

    submit = SubmitField(_("Save"))
    cancel = SubmitField(_("Cancel"))
예제 #2
0
class TemplateForm(Form):

    html = TextAreaField(_("HTML"),
                         validators=[required(message=_("HTML required"))])

    submit = SubmitField(_("Save"))
    cancel = SubmitField(_("Cancel"))
예제 #3
0
파일: user.py 프로젝트: linkexf/codewow
class UpdateProfileForm(Form):

    blog = TextField(_("Blog"), validators=[optional()])
    github = TextField(_("Github"), validators=[optional()])
    brief = TextAreaField(_("Brief"),
                          validators=[
                              optional(),
                              length(
                                  max=140,
                                  message=_("Pls. less than 140 characater"))
                          ])
    next = HiddenField()
    submit = SubmitField(_("Update profile"))
    delete = SubmitField(_("Delete"))
예제 #4
0
class PostForm(Form):

    title = TextField(_("Title of your post"),
                      validators=[required(message=_("Title required"))])

    link = TextField(
        _("Link"),
        validators=[optional(),
                    url(message=_("This is not a valid URL"))])

    description = TextAreaField(_("Description"))

    tags = TextField(_("Tags"))

    access = RadioField(_("Who can see this post ?"),
                        default=Post.PUBLIC,
                        coerce=int,
                        choices=((Post.PUBLIC, _("Everyone")),
                                 (Post.FRIENDS, _("Friends only")),
                                 (Post.PRIVATE, _("Just myself"))))

    submit = SubmitField(_("Save"))

    def __init__(self, *args, **kwargs):
        self.post = kwargs.get('obj', None)
        super(PostForm, self).__init__(*args, **kwargs)

    def validate_link(self, field):
        posts = Post.query.public().filter_by(link=field.data)
        if self.post:
            posts = posts.filter(db.not_(Post.id == self.post.id))
        if posts.count():
            raise ValidationError, gettext("This link has already been posted")
예제 #5
0
class BookmarkForm(AjaxForm):
    id = HiddenField(u'Id')
    link = URLField(u'Link', validators=[validators.required(),
        validators.url(), ])
    title = TextField(u'Title', validators=[validators.required(), ])
    description = TextAreaField(u'Description')
    tags = TextField(u'Tags')
    submit = SubmitField(u'Add')

    def __init__(self, formdata=None, *args, **kwargs):
        self.create = kwargs.get('create', False)
        super(BookmarkForm, self).__init__(formdata, *args, **kwargs)

    def validate(self):
        rv = Form.validate(self)
        if not rv:
            return False

        link = self.link.data
        title = self.title.data
        description = self.description.data
        tags = map(lambda x: {'name': x.strip()}, self.tags.data.split(','))

        # TODO : add id control if create is False (modification mode need a
        # valid bookmark id)
        self.bookmark = ItemBookmark(ptags=tags, plink=link, ptitle=title,
            pdescription=description, json=True)
        return True
예제 #6
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'
예제 #7
0
class RecoverPasswordForm(Form):

    email = TextField(
        "Your email address",
        validators=[email(message=_("A valid email address is required"))])

    submit = SubmitField(_("Find password"))
예제 #8
0
class ProfileForm(Form):
    password = PasswordField('New Password',
                             validators=[
                                 Optional(),
                                 Length(min=8, max=80),
                                 EqualTo('confirm',
                                         message='Passwords must match')
                             ])
    confirm = PasswordField('Repeat Password')
    default_ipv4_mask = IntegerField(
        label='IPv4 Mask',
        validators=[
            Optional(),
            NumberRange(min=0,
                        max=32,
                        message='IPv4 Mask must between %(min)s and %(max)s'),
        ])
    default_ipv6_mask = IntegerField(
        label='IPv6 Mask',
        validators=[
            Optional(),
            NumberRange(min=0,
                        max=128,
                        message='IPv6 Mask must between %(min)s and %(max)s'),
        ])
    timezone = QuerySelectField(get_label='name', allow_blank=True)
    submit = SubmitField('Update Profile')
예제 #9
0
class SignupForm(Form):

    next = HiddenField()

    username = TextField(_("Username"), validators=[
                         required(message=_("Username required")), 
                         is_username])

    password = PasswordField(_("Password"), validators=[
                             required(message=_("Password required"))])

    password_again = PasswordField(_("Password again"), validators=[
                                   equal_to("password", message=\
                                            _("Passwords don't match"))])

    email = TextField(_("Email address"), validators=[
                      required(message=_("Email address required")), 
                      email(message=_("A valid email address is required"))])

    recaptcha = RecaptchaField(_("Copy the words appearing below"))

    submit = SubmitField(_("Signup"))

    def validate_username(self, field):
        user = User.query.filter(User.username.like(field.data)).first()
        if user:
            raise ValidationError, gettext("This username is taken")

    def validate_email(self, field):
        user = User.query.filter(User.email.like(field.data)).first()
        if user:
            raise ValidationError, gettext("This email is taken")
예제 #10
0
class LoginForm(Form):
    name = TextField('用户名', validators=[required(message="用户名必填")])
    password = PasswordField('密码', validators=[required(message="请输入密码")])
    remember = BooleanField(u"记住我")

    submit = SubmitField(u"登录")
    next = HiddenField()
예제 #11
0
class TicketForm(Form):
    def bind_runtime_fields(self, g, ticket=None):
        self.product.queryset = Product.get_all_products(g.organization._id)
        self.owner.queryset = User.get_all_users(g.organization._id)
        if ticket is not None:
            self.tid.data = ticket.id
        else:
            self.owner.default = unicode(g.user.id)

    tid = HiddenField('id', validators=[Length(max=24)])
    title = TextField('Title')
    body = TextAreaField('Body')
    priority = SelectField('Priority', choices=[(x, PRIORITIES[x]) for x in\
     xrange(len(PRIORITIES))], coerce=int)
    product = QSSelectField('Product', label_attr='name')
    tags = TagsField('Tags',
                     description='Comma separated (e.g., auth,crash,login)')
    owner = QSSelectField('Owner', label_attr=('name.first', 'name.last'))
    new_comment = TextAreaField('Comment')
    status = SelectField('Status',
                         choices=[(x, STATUSES[x])
                                  for x in xrange(len(STATUSES))],
                         coerce=int,
                         default=0)
    submit = SubmitField('Submit')
예제 #12
0
class RegisterForm(Form):
    login = TextField(u'Login', validators=[validators.required(),
        unique_user, ])
    password = PasswordField(u'Password', validators=[validators.required(),
        validators.length(min=settings.MIN_PASSWORD_LENGTH), ])
    password_confirmation = PasswordField(u'Password confirmation',
        validators=[validators.required(),
        validators.length(min=settings.MIN_PASSWORD_LENGTH), ])
    submit = SubmitField(u'Register')

    def __init__(self, *args, ** kwargs):
        Form.__init__(self, *args, ** kwargs)
        self.user = None

    def validate(self):
        rv = Form.validate(self)
        if not rv:
            return False

        pseudo = self.login.data
        password = self.password.data
        password_confirmation = self.password_confirmation.data

        if password != password_confirmation:
            self.password.errors.append('Passwords mismatch')
            self.password_confirmation.errors.append('Passwords mismatch')
            return False

        self.user = User(pseudo, password)

        return True
예제 #13
0
class CityForm(Form):
    name = TextField(u"城市名称", validators=[required(message=u"必填")])
    label = TextField(u"label", validators=[required(message=u"必填")])
    no = TextField(u"序号", validators=[required(message=u"必填")])

    submit = SubmitField(u"提交")
    next = HiddenField()
예제 #14
0
class LoginForm(Form):
    def __init__(self, *args, ** kwargs):
        Form.__init__(self, *args, ** kwargs)
        self.user = None

    login = TextField(u'Login', validators=[validators.required(), ])
    password = PasswordField(u'Password', validators=[validators.required(), ])
    remember = BooleanField(u'Remember me')
    submit = SubmitField(u'Validate')

    def validate(self):
        rv = Form.validate(self)
        if not rv:
            return False

        pseudo = self.login.data
        password = self.password.data

        try:
            user_exists(self, self.login)
            user = check_password(pseudo, password)
            if user is None:
                self.password.errors.append('Wrong password.')
                return False
        except ValidationError:
            self.login.errors.append('Unknow user.')
            return False

        self.user = user

        return True
예제 #15
0
class EmailForm(Form):
    """Simple email form."""
    name = TextField("Your Name", validators=[Required()])
    recipient = TextField("Recipient's Email", validators=[Email()])
    email = TextField("Your Email", validators=[Email()])
    message = TextAreaField("Message", validators=[Required()])
    submit = SubmitField("Send Email")
예제 #16
0
class PostForm(Form):

    title = TextField(_("Title"),
                      validators=[required(message=_("Title required"))])

    slug = TextField(_("Slug"))

    content = TextAreaField(_("Content"))

    tags = TextField(_("Tags"),
                     validators=[required(message=_("Tags required"))])

    submit = SubmitField(_("Save"))

    def __init__(self, *args, **kwargs):
        self.post = kwargs.get('obj', None)
        super(PostForm, self).__init__(*args, **kwargs)

    def validate_slug(self, field):
        if len(field.data) > 50:
            raise ValidationError, gettext(
                "Slug must be less than 50 characters")
        slug = slugify(field.data) if field.data else slugify(
            self.title.data)[:50]
        posts = Post.query.filter_by(slug=slug)
        if self.post:
            posts = posts.filter(db.not_(Post.id == self.post.id))
        if posts.count():
            error = gettext("This slug is taken") if field.data else gettext(
                "Slug is required")
            raise ValidationError, error
예제 #17
0
파일: post.py 프로젝트: yxm0513/7topdig
class PostForm(Form):
    title = TextField(u"标题",
                      validators=[required(message=u"标题不能为空")],
                      id="post_title")

    link = TextField(u"链接",
                     default="http://",
                     validators=[optional(),
                                 url(message=u"必须是个有效的链接")],
                     id="post_link")
    description = TextAreaField(u"描述", id="post_description")
    tags = TextField(u"标签(用逗号分隔)", id="post_tags")
    access = RadioField(u"谁可以查看?",
                        default=Post.PUBLIC,
                        coerce=int,
                        choices=((Post.PUBLIC, u"任何人"), (Post.FRIENDS, u"好友"),
                                 (Post.PRIVATE, u"只有自己")))
    submit = SubmitField(u"提交")

    def __init__(self, *args, **kwargs):
        self.post = kwargs.get('obj', None)
        super(PostForm, self).__init__(*args, **kwargs)

    def validate_link(self, field):
        posts = Post.query.public().filter_by(link=field.data)
        if self.post:
            posts = posts.filter(db.not_(Post.id == self.post.id))
        if posts.count():
            raise ValidationError, u"这个链接已经有人提交了"
예제 #18
0
class CateForm(Form):
    name = TextField(u"分类名称", validators=[required(message=u"必填")])
    label = TextField(u"label", validators=[required(message=u"必填")])
    logo = TextField(u"图标css类", validators=[required(message=u"必填")])
    no = TextField(u"序号", validators=[required(message=u"必填")])

    submit = SubmitField(u"提交")
    next = HiddenField()
예제 #19
0
파일: forms.py 프로젝트: imfht/flaskapps
class LoginForm(Form):
    email = TextField('Email', validators=[Required(), Email()])
    password = PasswordField('Password', validators=[Required()])
    idle_ttl = RadioField('Idle Session Timeout', default='tmp', choices=[
            ('tmp',  '20 minutes'),
            ('day',  '8 hours (a normal business day)'),
            ('week', '8 days (Monday to Monday)'),
            ])
    submit = SubmitField('Login')
예제 #20
0
class CommentAbuseForm(Form):

    complaint = TextAreaField("Complaint", validators=[
                              required(message=\
                                       _("You must enter the details"
                                         " of the complaint"))])


    submit = SubmitField(_("Send"))
예제 #21
0
class ReplyForm(Form):
    content = TextAreaField(_("Reply"),
                            validators=[
                                required(message=_("Content required")),
                                length(
                                    max=140,
                                    message=_("Pls. less than 140 characater"))
                            ])
    submit = SubmitField(_("Commit"))
예제 #22
0
class MessageForm(Form):

    subject = TextField(_("Subject"),
                        validators=[required(message=_("Subject required"))])

    message = TextAreaField(
        _("Message"), validators=[required(message=_("Message required"))])

    submit = SubmitField(_("Send"))
예제 #23
0
파일: forms.py 프로젝트: planset/templa
class EditTemplateForm(Form):
    subject = TextField(u"subject", validators=[
                Required(u"subject is required")
            ],
            default="")
    description = TextAreaField(u"description", validators=[
            ],
            default="")
    tags = TagListField(u"tag", validators=[
            ])
    archive = FileField(u"Template file", validators=[
            ])           
    cancel = SubmitField(u"Cancel")
    submit_update = SubmitField(u"Update")

    def validate_archive(form, field):
        if len(field.file.filename)>0 \
                and field.file.filename.split(".")[-1].upper() != "ZIP":
            raise ValidationError("archive is required compressed zip")
예제 #24
0
class UploadForm(Form):
    """A simple form for uploading files to Open Data Boston."""
    name = TextField('Name', validators=[Required()])
    email = TextField('Email', validators=[Email()])
    phone = TextField('Phone Number')
    file = FileField()
    title = TextField('Title')
    url = TextField('Dataset URL')
    description = TextAreaField('Description', validators=[Required()])
    submit = SubmitField('Submit')
예제 #25
0
class PageAddTagForm(Form):
    tag = TextField(
        'Tag',
        validators=[
            Required(),
            Regexp(regex=r'[a-z0-9]{1,80}',
                   flags=re.IGNORECASE,
                   message='Invalid Tag. Only able to use a-z and 0-9'),
        ])
    submit = SubmitField('Submit')
예제 #26
0
class OpenIdLoginForm(Form):

    next = HiddenField()

    openid = TextField("OpenID",
                       validators=[
                           required(_("OpenID is required")),
                           url(_("OpenID must be a valid URL"))
                       ])

    submit = SubmitField(_("Login"))
예제 #27
0
class ContactForm(Form):
    name = TextField("Name", [validators.Required("Please, enter your name.")])
    email = TextField("Email", [
        validators.Required("Please enter your email address."),
        validators.Email("Please enter valid email address.")
    ])
    subject = TextField("Subject",
                        [validators.Required("Please enter a subject.")])
    message = TextAreaField("Message",
                            [validators.Required("Please enter a message.")])
    submit = SubmitField("Send")
예제 #28
0
파일: forms.py 프로젝트: imfht/flaskapps
class RegisterForm(Form):
    email = TextField('Email Address', validators = [Email()])
    password = PasswordField('New Password', validators=[
            Required(),
            Length(min=8, max=80),
            EqualTo('confirm', message='Passwords must match')
    ])
    confirm = PasswordField('Repeat Password')
    accept_tos = BooleanField('I accept the TOS', validators = [Required()])
    timezone = QuerySelectField(get_label='name', allow_blank=True)
    submit = SubmitField('Register')
예제 #29
0
class DefaultLoginForm(Form):
    """The default login form used by Auth
    """
    username = TextField(
        "Username or Email",
        validators=[Required(message="Username not provided")])
    password = PasswordField(
        "Password", validators=[Required(message="Password not provided")])
    remember = CheckboxInput("Remember Me")
    next = HiddenField()
    submit = SubmitField("Login")
예제 #30
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')