コード例 #1
0
class EditTicketForm(FlaskForm):
    assigned_employee = QuerySelectField(
        "Assigned Person",
        query_factory=lambda: db.session.query(User).order_by("last_name"),
        get_pk=lambda a: a.id,
        get_label=lambda a: str(a.first_name) + " " + str(a.last_name),
        allow_blank=True,
    )
    reclamation = QuerySelectField(
        "Reclamation",
        query_factory=lambda: db.session.query(Reclamation).order_by("due_date"
                                                                     ),
        get_pk=lambda a: a.id,
        get_label=lambda a: str(a.id) + " " + str(a.reclamation_customer.name)
        + " " + str(a.reclamation_part_sn_id.part_sn),
        allow_blank=True,
    )
    due_date = DateField("Due Date", format="%Y-%m-%d")
    description_ticket = TextAreaField("Description of the ticket")
    finished_date = DateTimeField(
        "Finished Date",
        format="%Y-%m-%d %H:%M",
        render_kw={"readonly": True},
        validators=[validators.Optional()],
    )
コード例 #2
0
ファイル: forms.py プロジェクト: irlunac/CRM
class AppConfigForm(FlaskForm):
    default_currency = QuerySelectField('Default Currency',
                                        query_factory=Currency.get_list_query,
                                        get_pk=lambda a: a.id,
                                        get_label='name')
    default_timezone = QuerySelectField('Default TimeZone',
                                        query_factory=TimeZone.get_list_query,
                                        get_pk=lambda a: a.name,
                                        get_label='name')
    date_format = QuerySelectField('Date Format',
                                   query_factory=date_format_query,
                                   get_pk=lambda a: a['key'],
                                   get_label=lambda a: a['val'])

    address_format = TextAreaField('Default Address Format',
                                   default=DEFAULT_ADDRESS)

    smtp_server = StringField('SMTP Mail Server')
    smtp_port = StringField('SMTP Port')
    smtp_encryption = QuerySelectField('E-MAIL Encryption',
                                       query_factory=email_enc_query,
                                       get_pk=lambda a: a['key'],
                                       get_label=lambda a: a['val'])
    smtp_charset = StringField('SMTP Charset', default='utf-8')
    sender_name = StringField('Sender Name')
    sender_email = StringField('Sender Email')
    submit = SubmitField('Save')
コード例 #3
0
ファイル: forms.py プロジェクト: nodebe/eds
class NewEmployeeForm(FlaskForm):
	firstname = StringField('', validators=[DataRequired()])
	lastname = StringField('', validators=[DataRequired()])
	dob = DateField('', validators=[DataRequired()])
	doj = DateField('', validators=[DataRequired()])
	address = StringField('', validators=[DataRequired()])
	city = StringField('', validators=[DataRequired()])
	state = StringField('', validators=[DataRequired()])
	phone = StringField('', validators=[DataRequired()])
	nin = StringField('', validators=[DataRequired()])
	id_card = FileField('', validators=[FileAllowed(['jpg','png', 'jpeg','JPG','JPEG','PNG'])])
	email = StringField('', validators=[DataRequired()])
	department = QuerySelectField(query_factory=department_query, allow_blank=False, get_label='name')
	grade = QuerySelectField(query_factory=grade_query, allow_blank=False, get_label='name')

	def __init__(self, *args, **kwargs):
		kwargs['csrf_enabled'] = False
		super(NewEmployeeForm, self).__init__(*args, **kwargs)

	def validate_nin(self, nin):
		nin_id = Employee.query.filter_by(nin=nin.data).first()
		if nin_id:
			raise ValidationError('Employee already exists!')

	def validate_email(self, email):
		user_email = Employee.query.filter_by(email=email.data).first()
		if user_email:
			raise ValidationError('Employee already exists!')
コード例 #4
0
class OtherPermissionsForm(FlaskForm):
    module = QuerySelectField(
        "action",
        query_factory=lambda: DB.session.query(TModules).order_by(TModules.module_label).all(),
        get_pk=lambda mod: str(mod.id_module),
        get_label=lambda mod: mod.module_label,
    )
    action = QuerySelectField(
        "action",
        query_factory=lambda: DB.session.query(TActions).all(),
        get_pk=lambda act: str(act.id_action),
        get_label=lambda act: act.description_action,
    )
    filter = SelectField("filtre",)
    submit = SubmitField("Valider")

    def __init__(self, id_filter_type, *args, **kwargs):
        super(OtherPermissionsForm, self).__init__(*args, **kwargs)
        # id_filter_type = args[0]
        self.filter.choices = [
            (str(filt.id_filter), filt.label_filter)
            for filt in DB.session.query(TFilters)
            .filter(TFilters.id_filter_type == id_filter_type)
            .all()
        ]
コード例 #5
0
class EditReclamationForm(FlaskForm):
    customer = QuerySelectField(
        "Customer",
        query_factory=lambda: db.session.query(Customer).order_by("name"),
        get_pk=lambda a: a.id,
        get_label=lambda a: a.name,
        allow_blank=True,
    )

    informed_date = DateField("Informed Date", format="%Y-%m-%d")
    due_date = DateField("Due Date", format="%Y-%m-%d")
    part_model = QuerySelectField(
        "Part Model",
        query_factory=lambda: db.session.query(PartNo).order_by("model"),
        get_pk=lambda a: a.id,
        get_label=lambda a: a.model,
        allow_blank=True,
    )
    part_sn = StringField("Serial Number")
    part_prod_date = DateField("Part Production Date", format="%Y-%m-%d")
    description = TextAreaField("Description of the issue")
    finished_date = DateTimeField(
        "Finished Date",
        format="%Y-%m-%d %H:%M",
        validators=[validators.Optional()],
        render_kw={"readonly": True},
    )

    submit = SubmitField("Edit the claim")
コード例 #6
0
ファイル: tests.py プロジェクト: msouth/wtforms-sqlalchemy
 class F(Form):
     a = QuerySelectField(get_label=(lambda model: model.name),
                          query_factory=lambda: sess.query(self.Test),
                          widget=LazySelect())
     b = QuerySelectField(allow_blank=True,
                          query_factory=lambda: sess.query(self.PKTest),
                          widget=LazySelect())
コード例 #7
0
    class FilmForm(OrderFormMixin, ModelForm):
        """A dynamic Film form. Uses Film class fields as well as custom-ordered additional fields."""
        def __init__(self, db_film=None):
            super().__init__(
                obj=db_film
            )  # The parent FlaskWTForms-Alchemy ModelForm class accepts an existing database object as a form model

        class Meta:  # Supplies parameters to OrderFormMixin to arrange additional fields
            model = Film
            order_before = ["delete"]
            order_after = ["submit"]

        if db_film:  # Used when an existing Film is used as the model object for the form
            play = QuerySelectField(
                "Play", query_factory=Play.query.all,
                default=db_film.play)  # Defaults to the existing Film's play

        else:
            play = QuerySelectField("Play",
                                    query_factory=Play.query.all,
                                    default=db_film.play)

        delete = BooleanField(label="Delete record?")

        submit = SubmitField("Submit")
コード例 #8
0
ファイル: forms.py プロジェクト: irlunac/CRM
class ConvertLead(FlaskForm):
    title = StringField('Deal Title', validators=[DataRequired('Deal title is mandatory')])
    use_account_information = BooleanField('Use Account Information', default=True)
    account_name = StringField('Account Name')
    account_email = StringField('Account Email')
    accounts = QuerySelectField('Account', query_factory=Account.account_list_query, get_pk=lambda a: a.id,
                                get_label=Account.get_label, blank_text='Select An Account', allow_blank=True)

    use_contact_information = BooleanField('Use Contact Information', default=False)
    contact_first_name = StringField('Contact First Name')
    contact_last_name = StringField('Contact Last Name')
    contact_email = StringField('Contact Email',
                                validators=[Optional(), Email(message='Invalid email address!')])
    contact_phone = StringField('Contact Phone')
    contacts = QuerySelectField('Contact', query_factory=Contact.contact_list_query, get_pk=lambda a: a.id,
                                get_label=Contact.get_label, blank_text='Select A Contact', allow_blank=True)

    create_deal = BooleanField('Create Deal', default=True)

    expected_close_price = FloatField('Expected Close Price',
                                      validators=[DataRequired('Expected Close Price is mandatory')])
    expected_close_date = DateField('Expected Close Date', format='%Y-%m-%d',
                                    validators=[Optional()])
    deal_stages = QuerySelectField('Deal Stage', query_factory=DealStage.deal_stage_list_query, get_pk=lambda a: a.id,
                                   get_label=DealStage.get_label, allow_blank=False,
                                   validators=[DataRequired(message='Please select deal stage')])

    assignees = QuerySelectField('Assign To', query_factory=User.user_list_query, get_pk=lambda a: a.id,
                                 get_label=User.get_label, default=User.get_current_user)
    submit = SubmitField('Covert Lead')
コード例 #9
0
ファイル: forms.py プロジェクト: irlunac/CRM
class CurrencyTz(FlaskForm):
    currency = QuerySelectField('Default Currency', query_factory=Currency.get_list_query, get_pk=lambda a: a.id,
                                get_label='name',
                                validators=[DataRequired(message='Please select default currency')])
    time_zone = QuerySelectField('Your Time Zone', query_factory=TimeZone.get_list_query, get_pk=lambda a: a.id,
                                 get_label='name',
                                 validators=[DataRequired(message='Please select your timezone')])
    submit = SubmitField('Next: Finish Installation')
コード例 #10
0
ファイル: forms.py プロジェクト: nodebe/eds
class GenerateReportForm(FlaskForm):
	grade = QuerySelectField(query_factory=grade_query, allow_blank=True, get_label='name')
	salary = QuerySelectField(query_factory=grade_query, allow_blank=True, get_label='salary')
	department = QuerySelectField(query_factory=department_query, allow_blank=True, get_label='name')

	def __init__(self, *args, **kwargs):
		kwargs['csrf_enabled'] = False
		super(GenerateReportForm, self).__init__(*args, **kwargs)
コード例 #11
0
class AddGameForm(FlaskForm):
    first_team = QuerySelectField(query_factory=choice_query,
                                  allow_blank=True,
                                  get_label='name')
    second_team = QuerySelectField(query_factory=choice_query,
                                   allow_blank=True,
                                   get_label='name')
    scheduled_date = DateField('date', format='%Y-%m-%d')
コード例 #12
0
ファイル: forms.py プロジェクト: AlenAlic/xTDS_WebPortal
class TeamCaptainForm(FlaskForm):
    team_captain_one = QuerySelectField('Teamcaptain',
                                        allow_blank=True,
                                        blank_text='No teamcaptain')
    team_captain_two = QuerySelectField('Teamcaptain',
                                        allow_blank=True,
                                        blank_text='No teamcaptain')
    submit = SubmitField('Set teamcaptain')
コード例 #13
0
class AbstractJudgmentFormBase(IndicoForm):
    """Form base class for abstract judgment operations."""

    _order = ('judgment', 'accepted_track', 'accepted_contrib_type', 'session', 'duplicate_of', 'merged_into',
              'merge_persons', 'judgment_comment', 'send_notifications')

    accepted_track = QuerySelectField(_('Track'), [HiddenUnless('judgment', AbstractAction.accept)],
                                      get_label=lambda obj: obj.title_with_group,
                                      allow_blank=True, blank_text=_('Choose a track...'),
                                      description=_('The abstract will be accepted in this track'))
    accepted_contrib_type = QuerySelectField(_('Contribution type'), [HiddenUnless('judgment', AbstractAction.accept)],
                                             get_label=lambda x: x.name.title(), allow_blank=True,
                                             blank_text=_('You may choose a contribution type...'),
                                             description=_('The abstract will be converted '
                                                           'into a contribution of this type'))
    session = QuerySelectField(_('Session'), [HiddenUnless('judgment', AbstractAction.accept)],
                               get_label='title', allow_blank=True, blank_text=_('You may choose a session...'),
                               description=_('The generated contribution will be allocated in this session'))
    duplicate_of = AbstractField(_('Duplicate of'),
                                 [HiddenUnless('judgment', AbstractAction.mark_as_duplicate), DataRequired()],
                                 description=_('The current abstract will be marked as duplicate of the selected one'),
                                 ajax_endpoint='abstracts.other_abstracts')
    merged_into = AbstractField(_('Merge into'), [HiddenUnless('judgment', AbstractAction.merge), DataRequired()],
                                description=_('The current abstract will be merged into the selected one'),
                                ajax_endpoint='abstracts.other_abstracts')
    merge_persons = BooleanField(_('Merge persons'), [HiddenUnless('judgment', AbstractAction.merge)],
                                 description=_('Authors and speakers of the current abstract will be added to the '
                                               'selected one'))
    judgment_comment = TextAreaField(_('Comment'), render_kw={'placeholder': _('Leave a comment for the submitter...'),
                                                              'class': 'grow'})
    # TODO: show only if notifications apply?
    send_notifications = BooleanField(_('Send notifications to submitter'), default=True)

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.session.query = Session.query.with_parent(self.event).order_by(Session.title)
        if not self.session.query.count():
            del self.session
        self.accepted_track.query = Track.query.with_parent(self.event).order_by(Track.position)
        if not self.accepted_track.query.count():
            del self.accepted_track
        self.accepted_contrib_type.query = (ContributionType.query
                                            .with_parent(self.event)
                                            .order_by(ContributionType.name))
        if not self.accepted_contrib_type.query.count():
            del self.accepted_contrib_type

    @property
    def split_data(self):
        abstract_data = self.data
        judgment_data = {
            'judgment': abstract_data.pop('judgment'),
            'send_notifications': abstract_data.pop('send_notifications'),
            'contrib_session': abstract_data.pop('session', None),
            'merge_persons': abstract_data.pop('merge_persons', None)
        }
        return judgment_data, abstract_data
コード例 #14
0
class EmployeeAssignForm(FlaskForm):
    """
    Form for admin to assign departments and roles to employees
    """
    department = QuerySelectField(query_factory=lambda: Department.query.all(),
                                  get_label="name")
    role = QuerySelectField(query_factory=lambda: Role.query.all(),
                            get_label="name")
    submit = SubmitField('Submit')
コード例 #15
0
ファイル: forms.py プロジェクト: PetrMitsel/TeacherCloud
class AddGradesForm(FlaskForm):
    course_id = 0
    student_id = 0
    value = IntegerField("Grade",
                         validators=[InputRequired(),
                                     NumberRange(0, 100)])
    student = QuerySelectField(get_pk=get_pk)
    assignment = QuerySelectField(get_pk=get_pk)
    submit_grade = SubmitField("Add Grade")
コード例 #16
0
    class InterpretationForm(OrderFormMixin, ModelForm):
        """A dynamic Interpretation form. Uses Interpretation class fields as well as custom-ordered additional fields."""
        def __init__(self, db_play, db_question=None, db_object=None):
            super().__init__(
                obj=db_object
            )  # The parent FlaskWTForms-Alchemy ModelForm class accepts an existing database object as a form model
            self.db_play = db_play
            self.db_question = db_question
            self.db_interpretation = db_interpretation

        class Meta:  # Supplies parameters to OrderFormMixin to arrange additional fields
            model = Interpretation
            order_before = ["delete", "play", "question", "film"]
            order_after = ["scenes", "submit"]

        if db_interpretation:  # Used when an existing Interpretation is used as the model object for the form
            play = QuerySelectField(
                "Play",
                query_factory=Play.query.all,
                default=db_interpretation.play
            )  # Defaults to the existing Interpretation's play
            question = QuerySelectField(
                "Question",
                query_factory=Question.query.filter(
                    Question.play_id == db_play.id).all,
                default=db_interpretation.question
            )  # Defaults to the existing Interpretation's question

        else:
            play = QuerySelectField("Play",
                                    query_factory=Play.query.all,
                                    default=db_play)
            question = QuerySelectField(
                "Question",
                query_factory=Question.query.filter(
                    Question.play_id == db_play.id).all,
                default=db_question)

        delete = BooleanField(label="Delete record?")
        film = QuerySelectField(
            "Related Film",
            query_factory=Film.query.filter(Film.play_id == db_play.id).all)
        scenes = QuerySelectMultipleField(
            "Related Scenes",
            query_factory=Scene.query.filter(
                Scene.play_id == db_play.id).order_by(Scene.act,
                                                      Scene.scene).all)
        image = FileField("Image",
                          validators=[
                              FileAllowed(["jpg", "jpeg", "png", "bmp", "gif"],
                                          "Images files only.")
                          ],
                          render_kw={"class": "form-control"})
        image_url = StringField("Image URL")

        submit = SubmitField("Submit")
コード例 #17
0
ファイル: forms.py プロジェクト: maria-j-k/library_v2
class CopyForm(FlaskForm):
    signature_mark = StringField('Singature mark')
    collection = QuerySelectField(query_factory=all_collections,
                                  allow_blank=True)
    room = QuerySelectField(query_factory=all_rooms, allow_blank=True)
    shelf = QuerySelectField(query_factory=all_shelves, allow_blank=True)
    section = StringField('Section')
    remarques = StringField('Remarques')
    on_shelf = BooleanField('On shelf')
    submit = SubmitField('Submit')
コード例 #18
0
ファイル: forms.py プロジェクト: Mc-Beton/Program
class AddsForm(FlaskForm):
    wazon = QuerySelectField(query_factory=wazon_query, allow_blank=True, get_label='name')
    info1 = TextAreaField('Info')
    podstawa = QuerySelectField(query_factory=podst_query, allow_blank=True, get_label='name')
    info2 = TextAreaField('Info')
    lampion = QuerySelectField(query_factory=lampion_query, allow_blank=True, get_label='name')
    info3 = TextAreaField('Info')
    photo = QuerySelectField(query_factory=photo_query, allow_blank=True, get_label='name')
    info4 = TextAreaField('Info')
    cross = QuerySelectField(query_factory=cross_query, allow_blank=True, get_label='name')
    info5 = TextAreaField('Info')
コード例 #19
0
ファイル: forms.py プロジェクト: Mc-Beton/Program
class ProductForm(FlaskForm):
    kind = StringField('Kind', validators=[DataRequired()])
    finish = StringField('Finish', validators=[DataRequired()])
    parapet = StringField('Parapet', validators=[DataRequired()])
    mat1 = QuerySelectField(query_factory=mat_query, allow_blank=True, get_label='name')
    cokoly = StringField('Cokoly', validators=[DataRequired()])
    mat2 = QuerySelectField(query_factory=mat_query, allow_blank=True, get_label='name')
    plyta = StringField('Plyta', validators=[DataRequired()])
    thick = StringField('Thick', validators=[DataRequired()])
    mat3 = QuerySelectField(query_factory=mat_query, allow_blank=True, get_label='name')
    info11 = TextAreaField('Info')
コード例 #20
0
class CommercialForm(FlaskForm):
    unit = StringField('Name of the Unit',
                       validators=[DataRequired(),
                                   Length(0, 64)],
                       render_kw={'placeholder': 'Enter name of the Unit'})
    constitution = QuerySelectField('Constitution Type',
                                    query_factory=constitution_query,
                                    get_pk=get_pk,
                                    allow_blank=False,
                                    get_label='constitution_type')
    activity = QuerySelectField('Class of Activity',
                                query_factory=activity_query,
                                get_pk=get_pk,
                                allow_blank=False,
                                get_label='class_of_activity')
    pan = StringField('PAN No.',
                      validators=[DataRequired(),
                                  Length(0, 10)],
                      render_kw={'placeholder': 'Enter your PAN Number'})
    address = StringField('Registered Office Address',
                          validators=[DataRequired(),
                                      Length(0, 50)],
                          render_kw={'placeholder': 'Enter your address'})
    state = QuerySelectField('State',
                             query_factory=state_query,
                             get_pk=get_pk,
                             allow_blank=False,
                             get_label='state')
    city = StringField('City',
                       validators=[DataRequired(),
                                   Length(0, 50)],
                       render_kw={'placeholder': 'Enter your city'})
    pin = IntegerField('Pin code',
                       validators=[DataRequired()],
                       render_kw={'placeholder': 'Enter pin code'})
    enquiry_purpose = QuerySelectField('Enquiry_purpose',
                                       query_factory=enquiry_purpose_query,
                                       get_pk=get_pk,
                                       allow_blank=False,
                                       get_label='enquiry_purpose')
    ref_no = StringField(
        'Member Reference No.',
        validators=[DataRequired(), Length(0, 10)],
        render_kw={'placeholder': 'Enter Member Reference No.'})
    loan = IntegerField('Loan amount',
                        validators=[DataRequired()],
                        render_kw={'placeholder': 'Enter loan amount'})
    enquiry_type = QuerySelectField('Enquiry_type',
                                    query_factory=enquiry_type_query,
                                    get_pk=get_pk,
                                    allow_blank=False,
                                    get_label='enquiry_type')
    submit = SubmitField('Submit')
コード例 #21
0
ファイル: forms.py プロジェクト: daniel-stephens/fault_logger
class FunctionForm(FlaskForm):
    number = StringField('Number', validators=[DataRequired()])
    name = StringField('Function Name', validators=[DataRequired()])
    rating = IntegerField('rating', validators=[DataRequired()])
    motor = StringField('Motor')
    location = QuerySelectField(query_factory=location_query,
                                allow_blank=False,
                                get_label='location')
    starter = QuerySelectField(query_factory=starter_query,
                               allow_blank=False,
                               get_label='name')
    submit = SubmitField('Submit')
コード例 #22
0
class AddSongForm(FlaskForm):
    title = StringField(
        'Song name',
        validators=[
            validators.DataRequired(message='Song name required'),
            validators.Regexp(
                '^[a-zA-Z0-9 \']*$',
                message="Must contain only letters numbers or underscore")
        ])
    artists = QuerySelectField(query_factory=all_artists, get_label='name')
    albums = QuerySelectField(query_factory=all_albums, get_label='name')
    file = FileField('MP3 file', validators=[FileRequired()])
コード例 #23
0
ファイル: forms.py プロジェクト: m3nd0r/todo_app
class CreateCharacterForm(FlaskForm):
    """
    Форма создания персонажа
    """
    name = wtforms.StringField(
        'Имя персонажа',
        validators=[validators.Required(message=('Это обязательное поле'))],
        render_kw={'placeholder': 'Имя персонажа'})
    gender = QuerySelectField(query_factory=gender_query)
    race = QuerySelectField(query_factory=race_query)
    profession = QuerySelectField(query_factory=profession_query)
    submit = wtforms.SubmitField('Создать')
コード例 #24
0
class SensorCreateForm(Form):
    # uuid = StringField('uuid', validators=[InputRequired()])
    uuid = SelectField('UUID')
    type = SelectField('Type', choices=[('door', 'door'), ('motion', 'motion')], validators=[InputRequired()])
    facility = QuerySelectField(query_factory=facility_query, allow_blank=False, get_label='fullname')
    location = SelectField('location', choices=[('bedroom', 'bedroom'), ('toilet', 'toilet')],
                           validators=[InputRequired()])
    description = StringField('Description')
    resident = QuerySelectField(query_factory=resident_query, allow_blank=False, get_label='name')
    # juvo_target = IntegerField('juvo target', validators=[InputRequired()])
    # facility_abrv = StringField('facility abbreviation', validators=[InputRequired()])
    submit = SubmitField('Submit')
コード例 #25
0
ファイル: forms.py プロジェクト: Agil89/real_estate_flask_app
class RegisterProduct(FlaskForm):
    title = StringField('Title', validators=[Length(2, 40), DataRequired()])
    description = TextAreaField('Description', validators=[DataRequired()])
    short_description = StringField(
        'Short Description', validators=[Length(max=100),
                                         DataRequired()])
    image = FileField(label='Image', validators=[FileRequired()])
    price = IntegerField('Price')
    is_published = BooleanField('Is active')
    city_id = QuerySelectField('City', query_factory=city_choice)
    type_id = QuerySelectField('Type', query_factory=type_choice)
    status_id = QuerySelectField('Status', query_factory=status_choice)
コード例 #26
0
ファイル: forms.py プロジェクト: jasonrahm/rrftc
class MatchScoutingForm(Form):
    competition = QuerySelectField(
        query_factory=lambda: Competition.query.all(), get_label='Name')
    team = QuerySelectField(query_factory=lambda: Team.query.all(),
                            get_label='Number')
    scout = QuerySelectField(query_factory=lambda: Users.query.filter(
        Users.username != 'admin').all(),
                             get_label='username')
    match = IntegerField(
        'Match Number?',
        [validators.DataRequired('Please enter the match number')],
        default=1)
    move = BooleanField('Did the robot move?', default=False)
    a_climbers = BooleanField('Deliver climbers?', default=False)
    beacon = BooleanField('Push Beacon?', default=False)
    a_park = SelectField('Highest Parking Level?',
                         choices=[(0, 'Cannot Park'), (1, 'Floor/Partial Low'),
                                  (2, 'Low Zone'), (3, 'Mid Zone'),
                                  (4, 'High Zone')],
                         coerce=int)
    t_climbers = BooleanField('Deliver climbers?', default=False)
    score = BooleanField('Did the robot score?', default=False)
    cycles = SelectField('How many scoring cycles?',
                         choices=[(0, '0'), (1, '1'), (2, '2'), (3, '3'),
                                  (4, '4'), (5, '5'), (6, '6')],
                         coerce=int)
    scorelow = BooleanField('Score in low zone?', default=False)
    scoremid = BooleanField('Score in mid zone?', default=False)
    scorehigh = BooleanField('Score in high zone?', default=False)
    lowclimber = BooleanField('Release low climber?', default=False)
    midclimber = BooleanField('Release mid climber?', default=False)
    highclimber = BooleanField('Release high climber?', default=False)
    t_park = SelectField('Highest Parking Level?',
                         choices=[(0, 'Cannot Park'), (1, 'Floor/Partial Low'),
                                  (2, 'Low Zone'), (3, 'Mid Zone'),
                                  (4, 'High Zone')],
                         coerce=int)
    hang = BooleanField('Did the robot hang?', default=False)
    allclear = BooleanField('Did the robot trigger the all clear?',
                            default=False)
    comments = TextAreaField('General Comments')

    submit = SubmitField('Add Report')

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

    def validate(self):
        if not Form.validate(self):
            return False
        else:
            return True
コード例 #27
0
class ConsumerForm(FlaskForm):
    loan = IntegerField('Loan amount',
                        validators=[DataRequired()],
                        render_kw={'placeholder': 'Enter loan amount'})
    purpose = QuerySelectField('Purpose',
                               query_factory=purpose_query,
                               get_pk=get_pk,
                               allow_blank=False,
                               get_label='purpose')
    name = StringField('Name',
                       validators=[DataRequired(),
                                   Length(0, 64)],
                       render_kw={'placeholder': 'Enter your name'})
    gender = RadioField('Gender',
                        choices=[('male', 'Male'), ('female', 'Female'),
                                 ('others', 'Others')],
                        default='male')
    dob = DateField('Date of birth',
                    validators=[DataRequired()],
                    format='%Y-%m-%d')
    pan = StringField('PAN No.',
                      validators=[DataRequired()],
                      render_kw={'placeholder': 'Enter your PAN Number'})
    aadhaar = IntegerField(
        'Aadhaar No.',
        render_kw={'placeholder': 'Enter your Aadhaar Number if any'})
    voter_id = StringField(
        'Voter Id.', render_kw={'placeholder': 'Enter your Voter ID if any'})
    passport = StringField(
        'Paassport',
        render_kw={'placeholder': 'Enter your Passport Number if any'})
    driving_lic = StringField(
        'Driving License',
        render_kw={'placeholder': 'Enter your Driving License Number if any'})
    address = StringField('Address',
                          validators=[DataRequired(),
                                      Length(0, 50)],
                          render_kw={'placeholder': 'Enter your address'})
    state = QuerySelectField('State',
                             query_factory=state_query,
                             get_pk=get_pk,
                             allow_blank=False,
                             get_label='state')
    pin = IntegerField('Pin code',
                       validators=[DataRequired()],
                       render_kw={'placeholder': 'Enter pin code'})
    address_category = QuerySelectField('Address Category',
                                        query_factory=address_category_query,
                                        get_pk=get_pk,
                                        allow_blank=False,
                                        get_label='address_category')
    submit = SubmitField('Submit')
コード例 #28
0
ファイル: forms.py プロジェクト: AlenAlic/xTDS_WebPortal
class DancingInfoForm(FlaskForm):
    def __init__(self, **kwargs):
        super().__init__(**kwargs)

        if not g.sc.breitensport_obliged_blind_date:
            self.latin_blind_date.data = str(False)
            self.ballroom_blind_date.data = str(False)

    ballroom_level = SelectField('Level', validators=[Level()])
    ballroom_role = SelectField('Role',
                                validators=[Role('ballroom_level')],
                                choices=[(k, v) for k, v in ROLES.items()])
    ballroom_blind_date = SelectField('Mandatory blind dating',
                                      validators=[Role('ballroom_level')],
                                      choices=[(k, v)
                                               for k, v in BLIND_DATE.items()])
    ballroom_partner = QuerySelectField(
        validators=[Role('ballroom_level'), Level()],
        allow_blank=True,
        blank_text=PARTNER_TEXT)

    latin_level = SelectField('Level', validators=[Level()])
    latin_role = SelectField('Role',
                             validators=[Role('latin_level')],
                             choices=[(k, v) for k, v in ROLES.items()])
    latin_blind_date = SelectField('Mandatory blind dating',
                                   validators=[Role('latin_level')],
                                   choices=[(k, v)
                                            for k, v in BLIND_DATE.items()])
    latin_partner = QuerySelectField(validators=[Role('latin_level'),
                                                 Level()],
                                     allow_blank=True,
                                     blank_text=PARTNER_TEXT)

    def custom_validate(self):
        if self.ballroom_level.data == BEGINNERS:
            self.ballroom_blind_date.data = str(False)
        if self.ballroom_level.data == CLOSED or self.ballroom_level.data == OPEN_CLASS:
            self.ballroom_blind_date.data = str(True)
        if self.latin_level.data == BEGINNERS:
            self.latin_blind_date.data = str(False)
        if self.latin_level.data == CLOSED or self.latin_level.data == OPEN_CLASS:
            self.latin_blind_date.data = str(True)
        if self.ballroom_level.data == NO:
            self.ballroom_role.data = NO
            self.ballroom_blind_date.data = str(False)
            self.ballroom_partner.data = None
        if self.latin_level.data == NO:
            self.latin_role.data = NO
            self.latin_blind_date.data = str(False)
            self.latin_partner.data = None
コード例 #29
0
class ChoiceForm(FlaskForm):

    stream = QuerySelectField(query_factory=Details_query,
                              allow_blank=True,
                              get_label='Name')
    course = QuerySelectField(query_factory=Details_query,
                              allow_blank=True,
                              get_label='Course')
    locality = QuerySelectField(query_factory=Details_query,
                                allow_blank=True,
                                get_label='Locality')
    exam = QuerySelectField(query_factory=Details_query,
                            allow_blank=True,
                            get_label='Exam')
コード例 #30
0
ファイル: forms.py プロジェクト: natusaspire/shop
class ProductForm(FlaskForm):
    name = StringField(validators=[InputRequired()])

    manufacturer = QuerySelectField(
        query_factory=lambda: Manufacturer.query,
        get_pk=lambda manufacturer: manufacturer.id,
        validators=[InputRequired()])

    category = QuerySelectField(query_factory=lambda: Category.query,
                                get_pk=lambda category: category.id,
                                validators=[InputRequired()])

    home_page = URLField(validators=[URL(), Optional()])
    price = IntegerField(validators=[InputRequired(), NumberRange(min=1)])