Пример #1
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')
Пример #2
0
class JqGridForm(Form):
    search = JqSearchField('')
    page = IntegerField('')
    rows = IntegerField('')
    page = IntegerField('')
    sidx = TextField('')
    sord = TextField('')
    filters = JsonField('')
Пример #3
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")
    ])
Пример #4
0
class TaskRedundancyForm(Form):
    n_answers = IntegerField(lazy_gettext('Redundancy'),
                             [validators.Required(),
                              validators.NumberRange(
                                  min=1, max=1000,
                                  message=lazy_gettext('Number of answers should be a \
                                                       value between 1 and 1,000'))])
Пример #5
0
class ThreadCrudForm(Form):
    question_id = HiddenField(validators=[Required(), valid_question])

    author_id = SelectMultipleField("Author",
                                    validators=[check_if_user_does_not_exist])

    yesno = SelectField("Yes or No?",
                        validators=[AnyOf(["1", "0"]),
                                    Required()],
                        choices=[("1", 'Yes'), ("0", 'No')])

    text = TextAreaField(
        "Opinion",
        validators=[
            Length(min=1,
                   max=140,
                   message="Post must be between 2 and 140 characters"),
            Required(), does_not_have_bad_words
        ])

    likes = IntegerField("Likes", validators=[Optional()])

    def __init__(self, question_id=None, *args, **kwargs):
        super(ThreadCrudForm, self).__init__(*args, **kwargs)
        if question_id:
            self.question_id.data = question_id
        self.author_id.choices = [(str(u.id),'%s (%s)' % (u.username, u.origin)) \
                                  for u in cdw.users.with_fields(isAdmin=True).order_by("+username")]
Пример #6
0
class AppForm(Form):
    id = IntegerField(label=None, widget=HiddenInput())
    name = TextField(lazy_gettext('Name'), [
        validators.Required(),
        pb_validator.Unique(db.session,
                            model.App,
                            model.App.name,
                            message="Name is already taken.")
    ])
    short_name = TextField(lazy_gettext('Short Name'), [
        validators.Required(),
        pb_validator.NotAllowedChars(),
        pb_validator.Unique(
            db.session,
            model.App,
            model.App.short_name,
            message=lazy_gettext("Short Name is already taken."))
    ])
    description = TextField(lazy_gettext('Description'), [
        validators.Required(
            message=lazy_gettext("You must provide a description."))
    ])
    thumbnail = TextField(lazy_gettext('Icon Link'))
    allow_anonymous_contributors = SelectField(
        lazy_gettext('Allow Anonymous Contributors'),
        choices=[('True', lazy_gettext('Yes')), ('False', lazy_gettext('No'))])
    long_description = TextAreaField(lazy_gettext('Long Description'))
    sched = SelectField(
        lazy_gettext('Task Scheduler'),
        choices=[('default', lazy_gettext('Default')),
                 ('breadth_first', lazy_gettext('Breadth First')),
                 ('depth_first', lazy_gettext('Depth First')),
                 ('random', lazy_gettext('Random'))],
    )
    hidden = BooleanField(lazy_gettext('Hide?'))
Пример #7
0
class CategoryForm(Form):
    id = IntegerField(label=None, widget=HiddenInput())
    name = TextField(lazy_gettext('Name'),
                     [validators.Required(),
                      pb_validator.Unique(db.session, model.Category, model.Category.name,
                                          message="Name is already taken.")])
    description = TextField(lazy_gettext('Description'),
                            [validators.Required()])
Пример #8
0
class PDFForm(Form):
    #name = TextField(name, validators=[Required()])
    pdf = FileField("source pdf file")
    # URLField
    landscape = BooleanField("landscape")
    maxcol = IntegerField("max number of columns", default=2)
    bpc = IntegerField("bit per color", default=4)
    dithering = BooleanField("dithering", default=True)
    #
    m = DecimalField("default margin", default=0.25)
    mb = DecimalField("bottom margin", default=0)
    ml = DecimalField("left margin", default=0)
    mr = DecimalField("right margin", default=0)
    mt = DecimalField("top margin", default=0)
    #
    color = BooleanField("color", default=False)
    height = IntegerField("height", default=735)
    width = IntegerField("width", default=560)
    astraighten = BooleanField("automatically straighten", default=False)
    text_justification = RadioField(u'Output Text Justification',
                                    default="1",
                                    choices=[("0", 'Left'), ("1", 'Center'),
                                             ("2", 'Right')])
    idpi = IntegerField("pixels per inch for input file", default=300)
    odpi = IntegerField("pixels per inch for output file", default=167)
Пример #9
0
class MyForm(Form):
    """ Create cloudforest form"""
    
    def validate_S3_url(form, field):
        """Checks that field is a valid S3 url.
            Needs improvement. :) """
        if field.data == "s3://":
            raise ValidationError(u'This field must be an S3 url.')

    # Setup fields
    aws_id = TextField('AWS ID', validators=[Required()])
    aws_secret_key = TextField('AWS Secret Key', validators=[Required()])
    aws_region = SelectField('AWS Region', choices=[('us_east_1', 'US East'), ('us_west_1', 'US West')])
    input_url = TextField('Input Url', validators=[Required(), validate_S3_url])
    output_url = TextField('Output Url', validators=[Required(), validate_S3_url])
    job_name = TextField('Job Name', default="CloudForest", validators=[Required()])
    job_type = SelectField('Job Type', choices=[('genetrees', 'Gene Trees'), ('bootstraps','Bootstraps')])
    mraic = BooleanField('Use MrAIC to infer models',default=False)
    map_tasks = IntegerField('Map Tasks', default=19)
    reduce_tasks = IntegerField('Reduce Tasks', default=1)
    bootstraps = IntegerField('Bootstrap Replicates', default=0)
    ec2_instance_type = SelectField('EC2 Instance Type:', choices=[("m1.small","m1.small")])
Пример #10
0
class GeneralInfoForm(Form):
    realname = TextField(u'姓名', validators=[required(message=u'必填')])
    sex = HiddenField(u'性别',
                      validators=[required(message=u'必选')])  #, value='1')
    birthday = HiddenField(validators=[required(message=u'必填')
                                       ])  #, value='1990-10-21')
    current_address = HiddenField(u'当前居住地址',
                                  validators=[required(message=u'必填')
                                              ])  #, value='浙江,杭州')
    account_address = HiddenField(u'户口所在地址',
                                  validators=[required(message=u'必填')
                                              ])  #, value='浙江,台州')
    phone_num = IntegerField(u'', validators=[required(message=u'必填')])
Пример #11
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())
Пример #12
0
class PostCrudForm(Form):
    yesno = SelectField("Yes or No?",
                        validators=[AnyOf(["1", "0"]),
                                    Required()],
                        choices=[("1", 'Yes'), ("0", 'No')])

    debate_id = HiddenField(validators=[check_if_thread_exists])

    text = TextAreaField(validators=[
        Length(min=1,
               max=140,
               message="Post must be between 2 and 140 characters"),
        Required(), does_not_have_bad_words
    ])

    author_id = SelectMultipleField("Author",
                                    validators=[check_if_user_does_not_exist])

    origin = SelectField(validators=[
        Required(),
        AnyOf(["web", "kiosk", "cell"]),
    ],
                         choices=[("web", 'Web'), ("kiosk", 'Kiosk'),
                                  ("cel", "Cell")])

    likes = IntegerField("Likes", validators=[Optional()])

    def __init__(self, debate_id=None, *args, **kwargs):
        super(PostCrudForm, self).__init__(*args, **kwargs)
        if debate_id:
            self.debate_id.data = debate_id

        self.author_id.choices = [(str(u.id),'%s (%s)' % (u.username, u.origin)) \
                                  for u in cdw.users.with_fields(isAdmin=True).order_by("+username")]

    def to_post(self):
        try:
            responseTo = cdw.posts.with_id(self.responseto.data)
        except:
            responseTo = None

        return Post(yesNo=int(self.yesno.data),
                    text=self.text.data,
                    author=User.objects.with_id(self.author_id.data[0]),
                    origin=self.origin.data,
                    likes=self.likes.data,
                    responseTo=responseTo)
Пример #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 AppForm(Form):
    id = IntegerField(label=None, widget=HiddenInput())
    name = TextField('Name', [
        validators.Required(),
        Unique(model.Session,
               model.App,
               model.App.name,
               message="Name is already taken.")
    ])
    short_name = TextField('Short Name', [
        validators.Required(),
        Unique(model.Session,
               model.App,
               model.App.short_name,
               message="Short Name is already taken.")
    ])
    description = TextField(
        'Description',
        [validators.Required(message="You must provide a description.")])
    hidden = BooleanField('Hide?')
Пример #16
0
class KeyForm(Form):
    key_name = TextField('Key', validators=[Required()])
    key_ttl = IntegerField('TTL')
Пример #17
0
class TaskPresenterForm(Form):
    id = IntegerField(label=None, widget=HiddenInput())
    editor = TextAreaField('')
Пример #18
0
class ImportarForm(Form):
    montos = TextAreaField('Montos a retirar', validators=[Required()])
    concepto = TextAreaField('Concepto', validators=[Required()])
    fecha = DateField("Fecha", format='%d/%m/%Y', validators=[Required()])
    del_anio = IntegerField(u'del año', default=lambda: datetime.now().year)
Пример #19
0
class ImageForm(Form):
    img_msg = 'You have to provide a file to upload'
    image = FileField(u'Image', validators=[file_required(message=img_msg)])
    side = SelectField("Resize side", choices=[('', ''),('0', 'Width'), ('1', 'Height')])
    resize_to = IntegerField('Resize to', validators=[validators.Optional()])
    caption = TextField('Caption', validators=[validators.Optional()])
Пример #20
0
class MeasForm(Form):
    sys = IntegerField('Systolic', [Required()])
    dia = IntegerField('Diastolic', [Required()])
    pulse = IntegerField('Pulse', [Required()])