Пример #1
0
class RegistrationForm(FlaskForm):
    name = StringField("Name", validators=[DataRequired()])
    email = StringField("Email", validators=[DataRequired(), Email()])
    phone = StringField("Phone", validators=[DataRequired()])
    community = StringField("Community Name", validators=[DataRequired()])
    days = SelectMultipleField('Attending Days',
                               choices=[('0', 'Friday, April 27'),
                                        ('1', 'Saturday, April 28'),
                                        ('2', 'Sunday, April 29')],
                               option_widget=CheckboxInput(),
                               widget=ListWidget(prefix_label=False))
    dietary = SelectMultipleField('Dietary Restrictions',
                                  choices=[('0', 'None'), ('1', 'Vegetarian'),
                                           ('2', 'Gluten Free'),
                                           ('3', 'Dairy Free')],
                                  option_widget=CheckboxInput(),
                                  widget=ListWidget(prefix_label=False))
    dietary_other = StringField("Other Dietary")
    food_allergies = StringField("Food Allergies")

    number_of_adults = IntegerField("Number of Adults Attending",
                                    validators=[DataRequired()])
    names_of_adults = StringField("Names of Adults")

    number_of_children = IntegerField("Number of Children Attending",
                                      validators=[])
    names_of_children = StringField("Names of Children")

    number_of_jy = IntegerField("Number of Youth Attending", validators=[])
    names_of_jy = StringField("Names of JY")
Пример #2
0
class WordCounterUpload(UploadForm, WordCounterForm, FlaskForm):
    ignore_case_upload = BooleanField(_('Ignore case'),
                                      widget=CheckboxInput(),
                                      default=True)
    ignore_stopwords_upload = BooleanField(_('Ignore stopwords'),
                                           widget=CheckboxInput(),
                                           default=True)
Пример #3
0
class BoardOptionsForm(forms.Form):
    restrict_listing = forms.BooleanField(__(u"Restrict direct posting on this board to owners and the following users"),
        default=True,
        description=__(u"As the owner of this board, you can always cross-add jobs from other boards on Hasjob"))
    posting_users = forms.UserSelectMultiField(__(u"Allowed users"),
        description=__(u"These users will be allowed to post jobs on this board under the following terms"),
        usermodel=User, lastuser=lastuser)
    # Allow turning this off only in siteadmin-approved boards (deleted in the view for non-siteadmins)
    require_pay = forms.BooleanField(__(u"Require pay data for posting on this board?"), default=True,
        description=__(u"Hasjob requires employers to reveal what they intend to pay, "
            u"but you can make it optional for jobs posted from this board. "
            u"Pay data is used to match candidates to jobs. We recommend you collect it"))
    newjob_headline = forms.StringField(__(u"Headline"),
        description=__(u"Optional – The sample headline shown to employers when posting a job"),
        validators=[
            forms.validators.Length(min=0, max=100, message=__("%%(max)d characters maximum"))],
        filters=[forms.filters.strip(), forms.filters.none_if_empty()])
    newjob_blurb = forms.TinyMce4Field(__(u"Posting instructions"),
        description=__(u"Optional – What should we tell employers when they post a job on your board? "
            u"Leave blank to use the default text"),
        content_css=content_css,
        validators=[forms.validators.AllUrlsValid()])
    types = QuerySelectMultipleField(__("Job types"),
        widget=ListWidget(), option_widget=CheckboxInput(),
        query_factory=lambda: JobType.query.filter_by(private=False).order_by(JobType.seq), get_label=jobtype_label,
        validators=[forms.validators.DataRequired(__(u"You need to select at least one job type"))],
        description=__(u"Jobs listed directly on this board can use one of the types enabled here"))
    categories = QuerySelectMultipleField(__("Job categories"),
        widget=ListWidget(), option_widget=CheckboxInput(),
        query_factory=lambda: JobCategory.query.filter_by(private=False).order_by(JobCategory.seq), get_label='title',
        validators=[forms.validators.DataRequired(__(u"You need to select at least one category"))],
        description=__(u"Jobs listed directly on this board can use one of the categories enabled here"))
class UsersCreateForm(Form):
	"""
	Organise users
	"""
	user = StringField('Add / Delete  User',widget=TextInput(), validators=[validators.Email(),validators.optional()])
	admin = BooleanField('Assign as Administrator',widget=CheckboxInput())
	delete = BooleanField('Delete User',widget=CheckboxInput())
	admin_delete = BooleanField('Retract Admin Rights',widget=CheckboxInput())
	all_delete = BooleanField('DELETE ALL USERS - CLICK AT YOUR PERIL',widget=CheckboxInput())
Пример #5
0
class WordCounterPaste(PasteForm, WordCounterForm, FlaskForm):
    ignore_case_paste = BooleanField(_('Ignore case'),
                                     widget=CheckboxInput(),
                                     default=True)
    ignore_stopwords_paste = BooleanField(_('Ignore stopwords'),
                                          widget=CheckboxInput(),
                                          default=True)

    def __init__(self, default_text=''):
        super(WordCounterPaste, self).__init__(default_text)
Пример #6
0
class WordCounterSample(SampleForm, WordCounterForm, FlaskForm):
    ignore_case_sample = BooleanField(_('Ignore case'),
                                      widget=CheckboxInput(),
                                      default=True)
    ignore_stopwords_sample = BooleanField(_('Ignore stopwords'),
                                           widget=CheckboxInput(),
                                           default=True)

    def __init__(self, lang):
        super(WordCounterSample, self).__init__('wordcounter', lang)
Пример #7
0
class FiltersetForm(forms.Form):
    title = forms.StringField(__("Title"),
                              description=__("A title shown to viewers"),
                              validators=[forms.validators.DataRequired()],
                              filters=[forms.filters.strip()])
    description = forms.TinyMce4Field(
        __("Description"),
        content_css=content_css,
        description=__("Description shown to viewers and search engines"),
        validators=[forms.validators.DataRequired()])
    types = QuerySelectMultipleField(__("Job types"),
                                     widget=ListWidget(),
                                     option_widget=CheckboxInput(),
                                     get_label='title',
                                     validators=[forms.validators.Optional()])
    categories = QuerySelectMultipleField(
        __("Job categories"),
        widget=ListWidget(),
        option_widget=CheckboxInput(),
        get_label='title',
        validators=[forms.validators.Optional()])
    geonameids = forms.GeonameSelectMultiField("Locations",
                                               filters=[format_geonameids])
    remote_location = forms.BooleanField(__("Match remote jobs"))
    pay_cash_currency = forms.RadioField(
        __("Currency"),
        choices=get_currency_choices(),
        default='',
        validators=[forms.validators.Optional()])
    pay_cash = forms.IntegerField(__("Pay"),
                                  description=__("Minimum pay"),
                                  validators=[forms.validators.Optional()])
    keywords = forms.StringField(__("Keywords"),
                                 validators=[forms.validators.Optional()],
                                 filters=[forms.filters.strip()])
    auto_domains = forms.AutocompleteMultipleField(
        __("Domains"),
        autocomplete_endpoint='/api/1/domain/autocomplete',
        results_key='domains')
    auto_tags = forms.AutocompleteMultipleField(
        __("Tags"),
        autocomplete_endpoint='/api/1/tag/autocomplete',
        results_key='tags')

    def set_queries(self):
        if not self.edit_parent:
            self.edit_parent = g.board
        self.types.query = JobType.query.join(board_jobtype_table).filter(
            board_jobtype_table.c.board_id == self.edit_parent.id).order_by(
                'title')
        self.categories.query = JobCategory.query.join(
            board_jobcategory_table).filter(
                board_jobcategory_table.c.board_id ==
                self.edit_parent.id).order_by('title')
Пример #8
0
class PortfolioForm(FlaskForm):
    """ Form to be used in changing accout portfolio """
    course_selection = SelectMultipleField('Completed Coursework',
                                           option_widget=CheckboxInput(),
                                           widget=ListWidget(prefix_label=False),
                                           choices=Course_.to_choices())
    skill_selection = SelectMultipleField('Skills',
                                          option_widget=CheckboxInput(),
                                          widget=ListWidget(prefix_label=False),
                                          choices=Skill_.to_choices())
    submit = SubmitField('Update')
Пример #9
0
class WordCounterLink(LinkForm, WordCounterForm, FlaskForm):
    ignore_case_link = BooleanField(_('Ignore case'),
                                    widget=CheckboxInput(),
                                    default=True)
    ignore_stopwords_link = BooleanField(_('Ignore stopwords'),
                                         widget=CheckboxInput(),
                                         default=True)

    def __init__(self):
        super(WordCounterLink, self).__init__(
            _('Paste a link'),
            _('https://en.wikipedia.org/wiki/Natural_language_processing'))
Пример #10
0
class CampaignForm(forms.Form):
    title = forms.StringField(
        __("Title"),
        description=__("A reference name for looking up this campaign again"),
        validators=[
            forms.validators.DataRequired(__("A title is required")),
            forms.validators.StripWhitespace()
        ])
    start_at = forms.DateTimeField(__("Start at"),
                                   timezone=lambda: g.user.timezone
                                   if g.user else None)
    end_at = forms.DateTimeField(__("End at"),
                                 timezone=lambda: g.user.timezone
                                 if g.user else None)
    public = forms.BooleanField(__("This campaign is live"))
    position = forms.RadioField(__("Display position"),
                                choices=CAMPAIGN_POSITION.items(),
                                coerce=int)
    priority = forms.IntegerField(
        __("Priority"),
        default=0,
        description=__(
            "A larger number is higher priority when multiple campaigns are running on the "
            "same dates. 0 implies lowest priority"))
    boards = QuerySelectMultipleField(
        __("Boards"),
        widget=ListWidget(),
        option_widget=CheckboxInput(),
        query_factory=lambda: Board.query.order_by('title'),
        get_label='title',
        validators=[forms.validators.Optional()],
        description=__(u"Select the boards this campaign is active on"))
    geonameids = forms.GeonameSelectMultiField(
        "Locations",
        description=__(
            "This campaign will be targetted at users and jobs with matching locations"
        ))
    user_required = forms.RadioField(__("User is required"),
                                     coerce=getbool,
                                     choices=[(None, __("N/A")),
                                              (True, __("Yes")),
                                              (False, __("No"))])
    flags = forms.RadioMatrixField(
        "Flags",
        coerce=getbool,
        fields=Campaign.flag_choices,
        description=__(
            "All selected flags must match the logged in user for the campaign to be shown"
        ),
        choices=[('None', __("N/A")), ('True', __("True")),
                 ('False', __("False"))])
    content = forms.FormField(CampaignContentForm, __("Campaign content"))

    def validate_geonameids(self, field):
        field.data = [int(x) for x in field.data if x.isdigit()]

    def validate_end_at(self, field):
        if field.data <= self.start_at.data:
            raise forms.ValidationError(
                __(u"The campaign can’t end before it starts"))
Пример #11
0
class CampaignForm(Form):
    _store_id = None
    title = StringField(
        gettext(u'campaign title'),
        validators=[DataRequired(gettext(u'campaign title cannot be empty'))])
    content = StringField(
        gettext(u'campaign detail'),
        validators=[DataRequired(gettext(u'campaign detail cannot be empty'))],
        widget=TextArea())

    related_cars = SelectMultipleField(gettext(u'related cars'),
                                       option_widget=CheckboxInput(),
                                       widget=ListWidget(prefix_label=False))

    start = DateField(
        gettext(u'start time'),
        format='%m/%d/%Y',
        validators=[DataRequired(gettext(u'start time cannot be empty'))])
    end = DateField(gettext(u'end time'),
                    format='%m/%d/%Y',
                    validators=[
                        DataRequired(gettext(u'end time cannot be empty')),
                        validate_end_date
                    ])
    notify_date = DateField(gettext(u'notify time'),
                            format='%m/%d/%Y',
                            validators=[
                                DataRequired(
                                    gettext(u'notify time cannot be empty')),
                                validate_notify_date
                            ])
Пример #12
0
class EditForm(FlaskForm):
    """Project editing Form"""
    title = StringField('Title:', validators=[InputRequired()])
    description = TextAreaField('Project Summary:',
                                validators=[InputRequired()],
                                widget=TextArea(),
                                render_kw={
                                    'cols': '150',
                                    'rows': '25'
                                })

    maxProjSize = IntegerField("Maximum Number of People Needed: ")
    degree = SelectMultipleField(
        'Suggested Degree Path: ',
        coerce=int,
        validators=[InputRequired()],
        choices=[(DegreeAttributes.electrical.value, 'Electrical Engineering'),
                 (DegreeAttributes.mechanical.value, 'Mechanical Engineering'),
                 (DegreeAttributes.computer.value, 'Computer Engineering'),
                 (DegreeAttributes.computersci.value, 'Computer Science')],
        widget=ListWidget(prefix_label=False),
        option_widget=CheckboxInput())
    grade = RadioField('Suggested Minimum Grade: ',
                       validators=[InputRequired()],
                       coerce=int,
                       choices=[(GradeAttributes.Freshman.value, 'Freshman'),
                                (GradeAttributes.Sophmore.value, 'Sophmore'),
                                (GradeAttributes.Junior.value, 'Junior'),
                                (GradeAttributes.Senior.value, 'Senior')])
    submit = SubmitField('Submit')
Пример #13
0
class AddBillForm(FlaskForm):
    billDate = DateField('Bill Date',
                         format='%Y-%m-%d',
                         validators=[DataRequired()])
    dueDate = DateField('Due Date',
                        format='%Y-%m-%d',
                        validators=[DataRequired()])
    selectedWings = SelectMultipleField('Wings',
                                        choices=[],
                                        widget=ListWidget(prefix_label=False),
                                        option_widget=CheckboxInput(),
                                        validators=[DataRequired()])
    WATER_CHARGES = DecimalField(label='WATER CHARGES',
                                 places=2,
                                 validators=[DataRequired()])
    PROPERTY_TAX = DecimalField(label='PROPERTY TAX',
                                places=2,
                                validators=[DataRequired()])
    ELECTRICITY_CHARGES = DecimalField(label='ELECTRICITY CHARGES',
                                       places=2,
                                       validators=[DataRequired()])
    SINKING_FUNDS = DecimalField(label='SINKING FUNDS',
                                 places=2,
                                 validators=[DataRequired()])
    PARKING_CHARGES = DecimalField(label='PARKING CHARGES',
                                   places=2,
                                   validators=[DataRequired()])
    NOC = DecimalField(label='NOC', places=2, validators=[DataRequired()])
    INSURANCE = DecimalField(label='INSURANCE',
                             places=2,
                             validators=[DataRequired()])
    OTHER = DecimalField(label='OTHER', places=2, validators=[Optional()])
    submitBtn = SubmitField(label='Submit')
Пример #14
0
class CreateForm(FlaskForm):
    usernames = SelectMultipleField("Users:",
                                    validators=[InputRequired()],
                                    widget=ListWidget(prefix_label=False),
                                    option_widget=CheckboxInput())
    starting_balance = IntegerField(
        "Starting Balance:", validators=[InputRequired(),
                                         NumberRange(min=1)])
    default_lot = IntegerField(
        "Default Lot Size:",
        validators=[InputRequired(),
                    NumberRange(min=0, max=15)])
    time_limit = IntegerField("Time Limit (seconds):",
                              validators=[Optional(),
                                          NumberRange(min=1)])
    first_nom = StringField("First Nomination:")
    submit_create = SubmitField("Create")

    def validate_usernames(self, usernames):
        if current_user.username not in usernames.data:
            raise ValidationError("You must be one of the drafters.")

    def validate_first_nom(self, first_nom):
        if first_nom.data and first_nom.data not in cube_cards:
            raise ValidationError("That card isn't in the cube.")
Пример #15
0
class SessionForm(Form):
    """Session Form class"""
    title = StringField('Title', [DataRequired()])
    subtitle = StringField('Subtitle')
    abstract = TextAreaField('Abstract')
    description = TextAreaField('Description', [DataRequired()])
    start_time = DateTimeField(
        'Start Time',
        [DataRequired(), CustomDateSessionValidate()])
    end_time = DateTimeField(
        'End Time',
        [DataRequired(), CustomDateSessionValidate()])
    level = QuerySelectField(label='Level',
                             query_factory=DataGetter.get_levels,
                             allow_blank=True)
    format = QuerySelectField(label='Format',
                              query_factory=DataGetter.get_formats,
                              allow_blank=True)
    language = QuerySelectField(label='Language',
                                query_factory=DataGetter.get_languages,
                                allow_blank=True)
    speakers = QuerySelectMultipleField(query_factory=get_speakers,
                                        widget=ListWidget(prefix_label=False),
                                        option_widget=CheckboxInput())
    microlocation = QuerySelectField(
        label='Microlocation',
        query_factory=DataGetter.get_microlocations_by_event_id,
        allow_blank=True)
Пример #16
0
    def __init__(self, *args, **kwargs):
        for opt in DEFAULT_OPTION:
            if isinstance(opt["default_value"], bool):
                name = opt["option"]
                field = BooleanField(label=opt["label"],
                                     default=app.config.get(
                                         name, opt["default_value"]),
                                     description=opt.get("description", ""),
                                     widget=opt.get("widget", CheckboxInput()))
            elif isinstance(opt["default_value"], str):
                name = opt["option"]
                field = StringField(label=opt["label"],
                                    default=app.config.get(
                                        name, opt["default_value"]),
                                    validators=opt.get("validators", []),
                                    description=opt.get("description", ""),
                                    widget=opt.get("widget", TextInput()))

            elif isinstance(opt["default_value"], int):
                name = opt["option"]
                field = IntegerField(label=opt["label"],
                                     default=opt["default_value"],
                                     validators=opt.get("validators", []),
                                     description=opt.get("description", ""),
                                     widget=opt.get("widget",
                                                    NumberInput(step='1')))
            setattr(self, name, field)
            self._unbound_fields = self._unbound_fields + [[name, field]]
        setattr(self, "submit", SubmitField(label=u"提交"))
        self._unbound_fields = self._unbound_fields + [[
            "submit", SubmitField(label=u"提交")
        ]]

        super(SiteOptionForm, self).__init__(*args, **kwargs)
Пример #17
0
class LoginForm(FlaskForm):
    """Sign in form
    """
    email = TextField(
        'Email address',
        validators=[Required('Please enter your email address'),
                    Email()])

    password = PasswordField(
        'Password',
        widget=PasswordInput(hide_value=False),
        validators=[Required('Please enter your password')])

    remember_me = BooleanField('Remember me',
                               widget=CheckboxInput(),
                               default=True)

    def validate_password(form, field):
        """Verify password
        """
        if not form.email.data:
            raise StopValidation()

        # get user and verify password
        u = User.query.filter(User.email == form.email.data).first()
        if not u or not verify_password_hash(field.data, u.password):
            raise ValidationError('Email and password must match')
Пример #18
0
class CreateAccountForm(FlaskForm):
    """Create account form
    """
    email = TextField(
        'Email address',
        validators=[Required('Please enter an email address'),
                    Email()])

    password = PasswordField('Password',
                             widget=PasswordInput(hide_value=False),
                             validators=[
                                 Required('Please choose a password'),
                                 EqualTo('password_confirm',
                                         message='Passwords must match')
                             ])

    password_confirm = PasswordField(
        'Confirm Password',
        widget=PasswordInput(hide_value=False),
        validators=[Required('Please confirm your password')])

    newsletter = BooleanField('Please send me product updates',
                              widget=CheckboxInput(),
                              default=True)

    def validate_email(form, field):
        """Check if email already exists
        """
        u = User.query.filter(User.email == field.data).first()
        if u != None:
            raise ValidationError('Did your forget your password?')
Пример #19
0
class ParticipantForm(forms.Form):
    fullname = forms.StringField(__("Full Name"),
                                 validators=[forms.validators.DataRequired()])
    email = forms.EmailField(__("Email"),
                             validators=[
                                 forms.validators.DataRequired(),
                                 forms.validators.Length(max=80)
                             ])
    phone = forms.StringField(__("Phone number"),
                              validators=[forms.validators.Length(max=80)])
    city = forms.StringField(__("City"),
                             validators=[forms.validators.Length(max=80)])
    company = forms.StringField(__("Company"),
                                validators=[forms.validators.Length(max=80)])
    job_title = forms.StringField(__("Job Title"),
                                  validators=[forms.validators.Length(max=80)])
    twitter = forms.StringField(__("Twitter"),
                                validators=[forms.validators.Length(max=15)])
    events = QuerySelectMultipleField(
        __("Events"),
        widget=ListWidget(),
        option_widget=CheckboxInput(),
        get_label='title',
        validators=[
            forms.validators.DataRequired(u"Select at least one event")
        ])
Пример #20
0
class NewPostForm(Form):
    title = StringField(_l('Title'), validators=[DataRequired()])
    content = TextAreaField(_l('Content'), validators=[DataRequired()])
    covered_period = DateField(_l('Date'),
                               validators=[DataRequired()],
                               default=lambda: dtdate.today())
    week = BooleanField(_l('Covers whole week'))
    categories = SelectMultipleField(_('Categories'),
                                     widget=ListWidget(),
                                     option_widget=CheckboxInput(),
                                     choices=ClassChoices(
                                         Category.query.order_by('name'),
                                         'name'))

    def get_slug(self):
        return slugify(self.title.data)

    def fill_post_object(self, post):
        post.title = self.title.data
        post.content = self.content.data
        post.covered_period = self.covered_period.data
        post.covers_week = self.week.data
        post.categories.extend(
            Category.query.filter(Category.name.in_(self.categories.data)))

        return post
Пример #21
0
class CurriculumUnitAddAppendStudGroupForm(Form):
    relative_curriculum_units = QuerySelectMultipleField(
        'Группы',
        get_pk=lambda cu: cu.id,
        get_label=lambda cu: cu.stud_group.num_print,
        widget=ListWidget(prefix_label=False),
        option_widget=CheckboxInput())
Пример #22
0
class MultiCheckboxField(SelectMultipleField):
    """
	A multiple-select, except displays a list of checkboxes.
	Iterating the field will produce subfields, allowing custom rendering of
	the enclosed checkbox fields.
	"""
    widget = ListWidget(prefix_label=False)
    option_widget = CheckboxInput()
Пример #23
0
class ConnectTheDotsUpload(UploadForm, FlaskForm):
    #  download_template = BooleanField(
    #      _('<a href="http://www.google.com">Download our simple template</a>'),
    #      widget=CheckboxInput(),
    #      default=True)
    has_header_row = BooleanField(_('Has header row'),
                                  widget=CheckboxInput(),
                                  default=True)
Пример #24
0
class TicketTypeForm(forms.Form):
    title = forms.StringField(__("Title"),
                              validators=[forms.validators.DataRequired()])
    events = QuerySelectMultipleField(__("Events"),
                                      widget=ListWidget(),
                                      option_widget=CheckboxInput(),
                                      allow_blank=True,
                                      get_label='title',
                                      query_factory=lambda: [])
Пример #25
0
class NewCategoryForm(Form):
    name = StringField(_l('Name'), validators=[DataRequired()])
    public = BooleanField(_l('Public'))
    users = SelectMultipleField(_l('Allowed readers'),
                                coerce=int,
                                widget=ListWidget(),
                                option_widget=CheckboxInput(),
                                choices=ClassChoices(
                                    User.query.order_by('login'), 'login'))
Пример #26
0
class TrackForm(Form):
    """Track Form class"""
    name = StringField('Name', [Length(min=6, max=35)])
    description = StringField('Description', [Length(min=4, max=1000)])
    track_image_url = StringField('Image')
    sessions = QuerySelectMultipleField(
        query_factory=DataGetter.get_sessions_by_event_id,
        widget=ListWidget(prefix_label=False),
        option_widget=CheckboxInput())
Пример #27
0
class EditStaffForm(Form):
    edit_name = StringField('Name')
    edit_title = StringField('Title')
    edit_bio = StringField('Bio', widget=TextArea())
    edit_email = StringField('Email (optional)')
    edit_phone = StringField('Phone (optional)')
    edit_picture = FileField("Picture")
    edit_active = BooleanField('Active', widget=CheckboxInput())
    edit_order = HiddenField('Order')
Пример #28
0
class AddStaffForm(Form):
    name = StringField('Staff Name', [validators.DataRequired()])
    title = StringField('Title', [validators.DataRequired()])
    bio = StringField('Bio', [validators.DataRequired()], widget=TextArea())
    email = StringField('Email (optional)')
    phone = StringField('Phone (optional)')
    picture = FileField("Picture")
    active = BooleanField('Active', widget=CheckboxInput())
    order = HiddenField('Order')
Пример #29
0
class NewProjectForm(FlaskForm):
    """ Form to be used in new project creation."""
    title = StringField('Project Title', validators=[DataRequired(), Length(max=MAX_LENGTH_TITLE)])
    description = TextAreaField('Project Description', validators=[Length(max=MAX_LENGTH_DESCRIPTION)])
    skill_selection = SelectMultipleField('Preferred Skills',
                                          option_widget=CheckboxInput(),
                                          widget=ListWidget(prefix_label=False),
                                          choices=Skill_.to_choices())
    submit = SubmitField('Submit')
Пример #30
0
class AddNoteForm(Form):
    title = StringField('Title',
                        validators=[DataRequired("Please enter the Title")])
    description = TextAreaField(
        'Description',
        validators=[DataRequired("Please Enter some Description")])
    #widget = ListWidget(prefix_label=False)
    ready = CheckboxInput('Is it Done?')
    submit = SubmitField('Add Note')