Ejemplo n.º 1
0
    def test(self):
        expected = 42

        def default_callable():
            return expected

        test_value = StringField(default=expected).bind(Form(), "a")
        test_value.process(None)
        self.assertEqual(test_value.data, expected)

        test_callable = StringField(default=default_callable).bind(Form(), "a")
        test_callable.process(None)
        self.assertEqual(test_callable.data, expected)
class AnswerForm(Form):
    text = StringField(
        'Text',
        validators=[validators.Required(),
                    validators.length(min=3, max=500)])
Ejemplo n.º 3
0
class LoginForm(Form):
    username = StringField('Enter your Username', validators=[Required()])
    password = PasswordField('Enter your Password', validators=[Required()])
    submit = SubmitField('Submit')
Ejemplo n.º 4
0
class ActivateForm(FlaskForm):
    LICENSE_KEY_LENGTH = 64

    license = StringField(lazy_gettext(u'License:'),
                          validators=[InputRequired(), Length(min=LICENSE_KEY_LENGTH, max=LICENSE_KEY_LENGTH)])
    submit = SubmitField(lazy_gettext(u'Activate'))
Ejemplo n.º 5
0
class LoginForm(FlaskForm):
    name = StringField("Name", validators=[validators.InputRequired()])
    token = StringField("Token", validators=[validators.InputRequired()])
    submit = SubmitField("Enter Chatroom")
Ejemplo n.º 6
0
class NodeDestinationForm(BaseForm):
    type = SelectField(l_('Type'), choices=[
        ('holding', l_('Holding')),
    ])
    music_on_hold = StringField(l_('Music On Hold'))
    answer = BooleanField(l_('Answer'), default=False)
Ejemplo n.º 7
0
class SignInForm(FlaskForm):
    """The form for signing into an existing user."""
    username = StringField('Username', validators=[DataRequired()])
    password = PasswordField('Password', validators=[DataRequired()])
    remember_me = BooleanField('Keep me logged in')
    submit = SubmitField('Sign in')
Ejemplo n.º 8
0
class UserSearchForm(FlaskForm):
    username = StringField('名前: ', validators=[DataRequired()])
    submit = SubmitField('ユーザ検索')
Ejemplo n.º 9
0
class LoginForm(Form):
    """Form for login users."""
    identifier = StringField('Identifiant', validators=[DataRequired()])
    password = PasswordField('Mot de passe', validators=[DataRequired()])
Ejemplo n.º 10
0
class ExchangeForm(Form):
    currency_from = StringField("currency_from", validators=[DataRequired(), Length(min=3, max=3)])
    currency_to = StringField("currency_to", validators=[DataRequired(), Length(min=3, max=3)])
Ejemplo n.º 11
0
class TranscriptHeroRegisterForm(ConfirmRegisterForm):
    name = StringField('Name', [Required()])
Ejemplo n.º 12
0
class LogIn(FlaskForm):
    username = StringField('username', validators=[InputRequired()])
    password = PasswordField('password',
                             validators=[InputRequired(), ValidateLogin])
    log_in = SubmitField('Login', render_kw={'class': 'submit-'})
Ejemplo n.º 13
0
class TemplateFormHoroscopo(FlaskForm):
    campoAnyo = StringField("Año Nacimiento",
                            validators=[DataRequired(),
                                        Length(4, 5)])

    enviar = SubmitField("Enviar")
Ejemplo n.º 14
0
class LoginForm(FlaskForm):
    user_name = StringField(
        'User Name', validators=[InputRequired('User Name is required')])
    password = PasswordField(
        'Password', validators=[InputRequired('Password is required')])
    submit = SubmitField("Login")
Ejemplo n.º 15
0
class CustomDestination(BaseForm):

    command = StringField(validators=[InputRequired(), Length(max=255)])
Ejemplo n.º 16
0
class SumForm_pass(Form):
    user_pass = StringField('user_pass', validators=[Required()])
Ejemplo n.º 17
0
class ProfileForm(Form):
    """Form for editing the user's profile."""
    firstname = StringField('Prénom', validators=[DataRequired()])
    lastname = StringField('Nom', validators=[DataRequired()])
    email = StringField('Adresse email', validators=[DataRequired()])
Ejemplo n.º 18
0
class ContributionForm(IndicoForm):
    title = StringField(_("Title"), [DataRequired()])
    description = TextAreaField(_("Description"))
    start_dt = IndicoDateTimeField(
        _("Start date"), [
            DataRequired(),
            DateTimeRange(
                earliest=lambda form, field: form._get_earliest_start_dt(),
                latest=lambda form, field: form._get_latest_start_dt())
        ],
        allow_clear=False,
        description=_("Start date of the contribution"))
    duration = TimeDeltaField(
        _("Duration"),
        [DataRequired(), MaxDuration(timedelta(hours=24))],
        default=timedelta(minutes=20),
        units=('minutes', 'hours'))
    type = QuerySelectField(_("Type"),
                            get_label='name',
                            allow_blank=True,
                            blank_text=_("No type selected"))
    person_link_data = ContributionPersonLinkListField(_("People"))
    location_data = IndicoLocationField(_("Location"))
    keywords = IndicoTagListField(_('Keywords'))
    references = ReferencesField(
        _("External IDs"),
        reference_class=ContributionReference,
        description=_("Manage external resources for this contribution"))
    board_number = StringField(_("Board Number"))

    @generated_data
    def render_mode(self):
        return RenderMode.markdown

    def __init__(self, *args, **kwargs):
        self.event = kwargs.pop('event')
        self.contrib = kwargs.pop('contrib', None)
        self.session_block = kwargs.get('session_block')
        self.timezone = self.event.timezone
        to_schedule = kwargs.pop('to_schedule', False)
        super(ContributionForm, self).__init__(*args, **kwargs)
        self.type.query = self.event.contribution_types
        if self.event.type != 'conference':
            self.person_link_data.label.text = _("Speakers")
        if not self.type.query.count():
            del self.type
        if not to_schedule and (self.contrib is None
                                or not self.contrib.is_scheduled):
            del self.start_dt

    def _get_earliest_start_dt(self):
        return self.session_block.start_dt if self.session_block else self.event.start_dt

    def _get_latest_start_dt(self):
        return self.session_block.end_dt if self.session_block else self.event.end_dt

    def validate_duration(self, field):
        start_dt = self.start_dt.data if self.start_dt else None
        if start_dt:
            end_dt = start_dt + field.data
            if self.session_block and end_dt > self.session_block.end_dt:
                raise ValidationError(
                    _("With the current duration the contribution exceeds the block end date"
                      ))
            if end_dt > self.event.end_dt:
                raise ValidationError(
                    _('With the current duration the contribution exceeds the event end date'
                      ))

    @property
    def custom_field_names(self):
        return tuple([
            field_name for field_name in self._fields
            if field_name.startswith('custom_')
        ])
Ejemplo n.º 19
0
class LostPasswordForm(InvenioBaseForm):
    """Form to recover lost password."""

    email = StringField(_("Email address"),
                        validators=[DataRequired(), email_validator])
Ejemplo n.º 20
0
class ApplicationForm(BaseForm):
    name = StringField(l_('Name'), [Length(max=128)])
    destination = ApplicationDestinationField()

    submit = SubmitField(l_('Submit'))
Ejemplo n.º 21
0
class AbstractForm(IndicoForm):
    title = StringField(_("Title"), [DataRequired()])
    description = IndicoMarkdownField(_('Content'), editor=True, mathjax=True)
    submitted_contrib_type = QuerySelectField(_("Contribution type"),
                                              get_label='name',
                                              allow_blank=True,
                                              blank_text=_("No type selected"))
    person_links = AbstractPersonLinkListField(
        _("Authors"), default_author_type=AuthorType.primary)
    submission_comment = TextAreaField(_("Comments"))
    attachments = EditableFileField(_('Attachments'),
                                    multiple_files=True,
                                    lightweight=True)

    def __init__(self, *args, **kwargs):
        self.event = kwargs.pop('event')
        self.abstract = kwargs.pop('abstract', None)
        is_invited = kwargs.pop('invited', False)
        management = kwargs.pop('management', False)
        description_settings = abstracts_settings.get(self.event,
                                                      'description_settings')
        description_validators = self._get_description_validators(
            description_settings, invited=is_invited)
        if description_validators:
            inject_validators(self, 'description', description_validators)
        if not is_invited:
            inject_validators(self, 'person_links', [DataRequired()])
        if abstracts_settings.get(self.event, 'contrib_type_required'):
            inject_validators(self, 'submitted_contrib_type', [DataRequired()])
        super(AbstractForm, self).__init__(*args, **kwargs)
        if management:
            self.submitted_contrib_type.query = (
                self.event.contribution_types.order_by(
                    db.func.lower(ContributionType.name)))
        else:
            criteria = [~ContributionType.is_private]
            if self.abstract and self.abstract.submitted_contrib_type:
                criteria.append(ContributionType.id ==
                                self.abstract.submitted_contrib_type.id)
            self.submitted_contrib_type.query = (
                self.event.contribution_types.filter(db.or_(
                    *criteria)).order_by(db.func.lower(ContributionType.name)))
        if not self.submitted_contrib_type.query.count():
            del self.submitted_contrib_type
        if not self.event.cfa.allow_attachments:
            del self.attachments
        if not description_settings['is_active']:
            del self.description
        if not is_invited:
            self.person_links.require_speaker_author = abstracts_settings.get(
                self.event, 'speakers_required')
            self.person_links.allow_speakers = abstracts_settings.get(
                self.event, 'allow_speakers')
            self.person_links.disable_user_search = session.user is None
        else:
            self.person_links.require_primary_author = False

    def _get_description_validators(self, description_settings, invited=False):
        validators = []
        if description_settings['is_required'] and not invited:
            validators.append(DataRequired())
        if description_settings['max_length']:
            validators.append(
                SoftLength(max=description_settings['max_length']))
        if description_settings['max_words']:
            validators.append(WordCount(max=description_settings['max_words']))
        return validators
Ejemplo n.º 22
0
class LoginForm(FlaskForm):
    username = StringField('Nombre de Usuario', validators=[DataRequired()])
    password = PasswordField('Password', validators=[DataRequired()])
    submit = SubmitField('Enviar')
Ejemplo n.º 23
0
class MovieForm(FlaskForm):
    '''
    电影表单
    '''
    title = StringField(label="片名",
                        validators=[DataRequired("请输入片名!")],
                        description="片名",
                        render_kw={
                            "class": "form-control",
                            "id": "input_title",
                            "placeholder": "请输入片名"
                        })
    url = FileField(
        label="文件",
        validators=[DataRequired("请上传文件")],
        description="文件",
    )
    info = TextAreaField(label="简介",
                         validators=[DataRequired("请输入简介")],
                         description="简介",
                         render_kw={
                             "class": "form-control",
                             "rows": 10,
                         })
    logo = FileField(
        label="封面",
        validators=[DataRequired("请输入封面")],
        description="封面",
    )
    star = SelectField(label="星级",
                       validators=[DataRequired("请选择星级")],
                       description="星级",
                       coerce=int,
                       choices=[(1, "1星"), (2, "2星"), (3, "3星"), (4, "4星"),
                                (5, "5星")],
                       render_kw={
                           "class": "form-control",
                       })
    tag_id = SelectField(label="标签",
                         validators=[DataRequired("请选择标签")],
                         description="标签",
                         coerce=int,
                         choices=[(v.id, v.name) for v in tags],
                         render_kw={
                             "class": "form-control",
                         })
    area = StringField(label="地区",
                       validators=[DataRequired("请输入地区!")],
                       description="地区",
                       render_kw={
                           "class": "form-control",
                           "placeholder": "请输入地区"
                       })
    length = IntegerField(label="片长",
                          validators=[DataRequired("请输入片长!")],
                          description="片长",
                          render_kw={
                              "class": "form-control",
                              "placeholder": "请输入片长"
                          })
    release_time = StringField(label="上映时间",
                               validators=[DataRequired("请输入上映时间!")],
                               description="上映时间",
                               render_kw={
                                   "class": "form-control",
                                   "placeholder": "请输入上映时间",
                                   "id": "input_release_time",
                               })
    submit = SubmitField("提交", render_kw={
        "class": "btn btn-primary",
    })
Ejemplo n.º 24
0
class CreateSchoolForm(Form):
    name = StringField(validators=[
        Required(),
        Length(1, 32),
    ])
Ejemplo n.º 25
0
class LoginForm(Form):
    """ Log in an existing user. """
    email = StringField('Login', validators=[InputRequired()])
    password = PasswordField('Password', validators=[InputRequired()])
Ejemplo n.º 26
0
class LoginForm(FlaskForm):
    """Accepts a username and a room."""
    username = StringField('Username', validators=[DataRequired()])
    room = StringField('Room', validators=[DataRequired()])
    submit = SubmitField('Login')
Ejemplo n.º 27
0
class RegistrationForm(Form):
    """  Register a new user.  """
    email = StringField('Email', validators=[InputRequired()])
    password = PasswordField('Password', validators=[InputRequired()])
Ejemplo n.º 28
0
class LoginForm(Form):
    email = StringField("Email: ", validators=[DataRequired()])
    password = PasswordField("Password: "******"Stay Logged In")
    submit = SubmitField("Log In")
Ejemplo n.º 29
0
class SumForm(Form):
    user_name = StringField('user_name', validators=[Required()])
    user_pass = StringField('user_pass', validators=[Required()])
    user_email = StringField('user_email', validators=[Required(), wtforms.validators.Email()])
Ejemplo n.º 30
0
class SignUpForm(FlaskForm):
    email = EmailField(
        label='Email',
        render_kw={'autocomplete': 'email'},
        description={
            'icon': {
                'origin': 'icons/outline/finger-print-outline.svg',
            },
        },
        validators=[
            InputRequired(),
            EmailValidator,
            IsEmailExists,
        ]
    )

    full_name = StringField(
        label='Full name',
        render_kw={'autocomplete': 'name'},
        description={
            'icon': {
                'origin': 'icons/outline/scan-outline.svg',
            },
        },
        filters=[
            lambda string: str(string).strip() if string else '',   # discarding all redundant spaces
        ],
        validators=[
            DataRequired(message='Please fill out this field'),
            Length(min=2, max=50, message='The length must between 2 and 50 letters'),
        ]
    )

    password = PasswordField(
        label='Password',
        render_kw={'autocomplete': 'new-password'},
        description={
            'icon': {
                'origin': 'icons/outline/lock-closed-outline.svg',
                'alternate': 'icons/outline/lock-open-outline.svg',
            },
        },
        validators=[
            InputRequired(message='Please fill out this field'),
            PasswordValidator,
        ]
    )

    re_password = PasswordField(
        label='Re-enter password',
        render_kw={'autocomplete': 'new-password'},
        description={
            'icon': {
                'origin': 'icons/outline/lock-closed-outline.svg',
                'alternate': 'icons/outline/lock-open-outline.svg',
            },
        },
        validators=[
            InputRequired(message='Please fill out this field'),
            PasswordValidator,
            EqualTo(fieldname='password', message='Password fields does not match'),
        ]
    )
Ejemplo n.º 31
0
class SumForm_info(Form):
    user_email = StringField('user_email', validators=[Required(), wtforms.validators.Email()])