コード例 #1
0
ファイル: portfolio.py プロジェクト: robgil/atst
class PortfolioCreationForm(BaseForm):
    name = StringField(
        translate("forms.portfolio.name_label"),
        validators=[
            Length(
                min=4,
                max=100,
                message=translate("forms.portfolio.name_length_validation_message"),
            )
        ],
    )

    defense_component = SelectField(
        translate("forms.task_order.defense_component_label"),
        choices=SERVICE_BRANCHES,
        default="",
        filters=[remove_empty_string],
    )

    description = TextAreaField(
        translate("forms.task_order.scope_label"),
        description=translate("forms.task_order.scope_description"),
    )

    app_migration = RadioField(
        translate("forms.task_order.app_migration.label"),
        description=translate("forms.task_order.app_migration.description"),
        choices=APP_MIGRATION,
        default="",
        validators=[Optional()],
    )

    native_apps = RadioField(
        translate("forms.task_order.native_apps.label"),
        description=translate("forms.task_order.native_apps.description"),
        choices=[("yes", "Yes"), ("no", "No"), ("not_sure", "Not Sure")],
        default="",
        validators=[Optional()],
    )

    complexity = SelectMultipleField(
        translate("forms.task_order.complexity.label"),
        description=translate("forms.task_order.complexity.description"),
        choices=APPLICATION_COMPLEXITY,
        default=None,
        widget=ListWidget(prefix_label=False),
        option_widget=CheckboxInput(),
    )

    complexity_other = StringField(
        translate("forms.task_order.complexity_other_label"),
        default=None,
        filters=[remove_empty_string],
    )

    dev_team = SelectMultipleField(
        translate("forms.task_order.dev_team.label"),
        description=translate("forms.task_order.dev_team.description"),
        choices=DEV_TEAM,
        default=None,
        widget=ListWidget(prefix_label=False),
        option_widget=CheckboxInput(),
    )

    dev_team_other = StringField(
        translate("forms.task_order.dev_team_other_label"),
        default=None,
        filters=[remove_empty_string],
    )

    team_experience = RadioField(
        translate("forms.task_order.team_experience.label"),
        description=translate("forms.task_order.team_experience.description"),
        choices=TEAM_EXPERIENCE,
        default="",
        validators=[Optional()],
    )
コード例 #2
0
class ColumnsForm(BaseForm):
    value = StringField(validators=[InputRequired()])
コード例 #3
0
class ServiceForm(FlaskForm):
    service_name = StringField('Service Name', validators=[DataRequired()])
    description = StringField('Description')
コード例 #4
0
class LoginForm(FlaskForm):
    username = StringField('Your Username: '******'Password:'******'Keep me logged in')
    submit = SubmitField('Log In')
コード例 #5
0
ファイル: beauty38.py プロジェクト: c1xfr2e/soledad
class ReserveForm(Form):
    mobile = StringField(u'手机号', validators=[MobilePhone()])
コード例 #6
0
ファイル: forms.py プロジェクト: luisdomin5/donations
class DonateForm(BaseForm):
    lock_key = HiddenField("Lock Key", [validators.Optional()])
    display_as = StringField(u"Preferred name", [validators.Optional()])
    anonymous = BooleanField(u"Anonymous?",
                             false_values=(False, 'false', 0, '0', None,
                                           "None"))
    in_honor_or_memory = RadioField(u"Honor or memory?",
                                    [validators.Optional()],
                                    choices=[('honor', 'In honor of'),
                                             ('memory', 'In memory of'),
                                             ('0', 'False')])
    in_honor_memory_of = StringField(u"Honor or memory of",
                                     [validators.Optional()])
    # swag
    # this needs to be updated if the swag options change
    member_benefit_request_swag = HiddenField(
        u"Swag choice",
        [validators.Optional(),
         validators.AnyOf(["mug", "water bottle"])])

    member_benefit_request_atlantic = HiddenField(
        u"The Atlantic subscription?",
        [validators.Optional(),
         validators.AnyOf(["yes", "no"])])
    member_benefit_request_atlantic_id = HiddenField(
        "The Atlantic Subscriber ID", [validators.Optional()])
    member_benefit_request_nyt = HiddenField(
        u"New York Times subscription?",
        [validators.Optional(),
         validators.AnyOf(["yes", "no"])])

    # billing
    billing_street = StringField(u"Street Address", [
        validators.required(message="Your billing street address is required.")
    ])
    billing_city = StringField(
        u"City",
        [validators.required(message="Your billing city is required.")])
    billing_state = StringField(
        u"State",
        [validators.required(message="Your billing state is required.")])
    billing_zip = StringField(
        u"ZIP Code",
        [validators.required(message="Your billing zip code is required.")])
    billing_country = StringField(u"Country", [validators.Optional()])

    # shipping
    shipping_name = StringField(u"Ship to", [validators.Optional()])
    shipping_street = StringField(u"Street Address", [validators.Optional()])
    shipping_city = StringField(u"City", [validators.Optional()])
    shipping_state = StringField(u"State", [validators.Optional()])
    shipping_zip = StringField(u"ZIP Code", [validators.Optional()])
    shipping_country = StringField(u"Country", [validators.Optional()])
コード例 #7
0
class AnswerForm(FlaskForm):
    answer_title = StringField('Answer', validators=[DataRequired()])
    correct = BooleanField('Correct')
コード例 #8
0
ファイル: forms.py プロジェクト: lizekang/NaiveHardware
class ProjectForm(Form):
    project_name = StringField('project_name')
    description = TextAreaField('description')
    authority = BooleanField('authority')
コード例 #9
0
ファイル: forms.py プロジェクト: lizekang/NaiveHardware
class SensorAndEffectorForm(Form):
    id = StringField('id')
    type = StringField('type')
コード例 #10
0
class ForgotForm(Form):
    email = StringField('Email',
                        validators=[DataRequired(),
                                    Length(min=6, max=40)])
コード例 #11
0
class MultipleFieldFormatTestForm(FlaskForm):
    test_one = DMEmailField("Email address")
    test_two = StringField("Test Two", validators=[DataRequired(message="Enter text.")])
    test_three = StringField("Test Three", validators=[Length(min=100, max=100, message="Bad length.")])
    test_four = StringField("Test Four", validators=[DataRequired(message="Enter text.")])
コード例 #12
0
class LoginForm(Form):
    name = StringField('Username', [DataRequired()])
    password = PasswordField('Password', [DataRequired()])
コード例 #13
0
ファイル: minor_planet_forms.py プロジェクト: skybber/czsky
class SearchMinorPlanetForm(FlaskForm):
    q = StringField('Search')
    items_per_page = IntegerField(lazy_gettext('Items per page'))
コード例 #14
0
class LoginForm(FlaskForm):
    username = StringField("Your Username: "******"Password", validators=[DataRequired()])
    remember_me = BooleanField('Stay logged in')  #sets a cookie
    submit = SubmitField('Log me in')
コード例 #15
0
ファイル: admin.py プロジェクト: weko3-dev35/weko
class IdentifierSettingView(ModelView):
    """Pidstore Identifier admin view."""

    can_create = True
    can_edit = True
    can_delete = False
    can_view_details = True
    create_template = WEKO_PIDSTORE_IDENTIFIER_TEMPLATE_CREATOR
    edit_template = WEKO_PIDSTORE_IDENTIFIER_TEMPLATE_EDITOR

    column_list = ('repository', 'jalc_doi', 'jalc_crossref_doi',
                   'jalc_datacite_doi', 'ndl_jalc_doi', 'suffix', 'jalc_flag',
                   'jalc_crossref_flag', 'jalc_datacite_flag', 'ndl_jalc_flag')

    column_searchable_list = ('repository', 'jalc_doi', 'jalc_crossref_doi',
                              'jalc_datacite_doi', 'ndl_jalc_doi', 'suffix')

    column_details_list = ('repository', 'jalc_doi', 'jalc_crossref_doi',
                           'jalc_datacite_doi', 'ndl_jalc_doi', 'suffix',
                           'created_userId', 'created_date', 'updated_userId',
                           'updated_date')

    form_extra_fields = {
        'repo_selected': StringField('Repository Selector'),
    }

    form_create_rules = [
        rules.Header(_('Prefix')),
        'repository',
        'jalc_doi',
        'jalc_crossref_doi',
        'jalc_datacite_doi',
        'ndl_jalc_doi',
        rules.Header(_('Suffix')),
        'suffix',
        rules.Header(_('Enable/Disable')),
        'jalc_flag',
        'jalc_crossref_flag',
        'jalc_datacite_flag',
        'ndl_jalc_flag',
        'repo_selected',
    ]

    form_edit_rules = form_create_rules

    column_labels = dict(repository=_('Repository'),
                         jalc_doi=_('JaLC DOI'),
                         jalc_crossref_doi=_('JaLC CrossRef DOI'),
                         jalc_datacite_doi=_('JaLC DataCite DOI'),
                         ndl_jalc_doi=_('NDL JaLC DOI'),
                         suffix=_('Semi-automatic Suffix'))

    def _validator_halfwidth_input(form, field):
        """
        Valid input character set.

        :param form: Form used to create/update model
        :param field: Template fields contain data need validator
        """
        if field.data is None:
            return
        else:
            try:
                for inchar in field.data:
                    if unicodedata.east_asian_width(inchar) in 'FWA':
                        raise ValidationError(
                            _('Only allow half with 1-bytes character in '
                              'input'))
            except Exception as ex:
                raise ValidationError('{}'.format(ex))

    form_args = {
        'jalc_doi': {
            'validators': [_validator_halfwidth_input]
        },
        'jalc_crossref_doi': {
            'validators': [_validator_halfwidth_input]
        },
        'jalc_datacite_doi': {
            'validators': [_validator_halfwidth_input]
        },
        'ndl_jalc_doi': {
            'validators': [_validator_halfwidth_input]
        },
        'suffix': {
            'validators': [_validator_halfwidth_input]
        }
    }

    form_widget_args = {
        'jalc_doi': {
            'maxlength': 100,
            'readonly': True,
        },
        'jalc_crossref_doi': {
            'maxlength': 100,
            'readonly': True,
        },
        'jalc_datacite_doi': {
            'maxlength': 100,
            'readonly': True,
        },
        'ndl_jalc_doi': {
            'maxlength': 100,
            'readonly': True,
        },
        'suffix': {
            'maxlength': 100,
        }
    }

    form_overrides = {
        'repository': QuerySelectField,
    }

    def validate_form(self, form):
        """
        Custom validate the form on submit.

        :param form:
            Form to validate
        """
        if isinstance(form.repository.data, Community):
            id_list = []
            id_data = Identifier.query.all()
            for i in id_data:
                id_list.append(i.repository)

            if (form.repository.data.id in id_list) and \
                (form.action == 'create'
                 or form.repo_selected.data != form.repository.data.id):
                flash(_('Specified repository is already registered.'),
                      'error')
                return False
        return super(IdentifierSettingView, self).validate_form(form)

    def on_model_change(self, form, model, is_created):
        """
        Perform some actions before a model is created or updated.

        Called from create_model and update_model in the same transaction
        (if it has any meaning for a store backend).
        By default does nothing.

        :param form: Form used to create/update model
        :param model: Model that will be created/updated
        :param is_created: Will be set to True if model was created
            and to False if edited
        """
        # Update hidden data automation
        if is_created:
            model.created_userId = current_user.get_id()
            model.created_date = datetime.utcnow().replace(microsecond=0)
        model.updated_userId = current_user.get_id()
        model.updated_date = datetime.utcnow().replace(microsecond=0)
        model.repository = str(model.repository.id)

    def on_form_prefill(self, form, id):
        form.repo_selected.data = form.repository.data

    def create_form(self, obj=None):
        """
        Instantiate model delete form and return it.

        Override to implement custom behavior.
        The delete form originally used a GET request, so delete_form
        accepts both GET and POST request for backwards compatibility.

        :param obj: input object
        """
        return self._use_append_repository(
            super(IdentifierSettingView, self).create_form())

    def edit_form(self, obj):
        """
        Instantiate model editing form and return it.

        Override to implement custom behavior.

        :param obj: input object
        """
        return self._use_append_repository_edit(
            super(IdentifierSettingView, self).edit_form(obj))

    def _use_append_repository(self, form):
        form.repository.query_factory = self._get_community_list
        form.repo_selected.data = 'Root Index'
        setattr(form, 'action', 'create')
        return form

    def _use_append_repository_edit(self, form):
        form.repository.query_factory = self._get_community_list
        setattr(form, 'action', 'edit')
        return form

    def _get_community_list(self):
        try:
            query_data = Community.query.all()
            query_data.insert(0, Community(id='Root Index'))
        except Exception as ex:
            current_app.logger.debug(ex)
        return query_data
コード例 #16
0
ファイル: forms.py プロジェクト: lizekang/NaiveHardware
class FunctionForm(Form):
    function_name = StringField("function_name")
    args = StringField("args")
コード例 #17
0
class TodoForm(FlaskForm):
    description = StringField('Descripción', validators=[DataRequired()])
    submit = SubmitField('Crear')
コード例 #18
0
class LoginForm(Form):
    """Accepts a nickname and a room."""
    name = StringField('Name', validators=[DataRequired()])
    room = StringField('Room', validators=[DataRequired()])
    submit = SubmitField('Enter Chatroom')
コード例 #19
0
ファイル: main.py プロジェクト: jestarita/python_flask
class LoginForm(FlaskForm):
    username = StringField('Nombre de usuario', validators=[DataRequired()])
    password = PasswordField('Password', validators=[DataRequired()])
    submit = SubmitField('enviar')
コード例 #20
0
class OutputHtmlForm(FlaskForm):
    tag = StringField('tag: ', validators=[DataRequired()])
    submit = SubmitField('Output HTML')
コード例 #21
0
ファイル: forms.py プロジェクト: destinysam/MyFlaskApp
class LoginForm(FlaskForm):
    email = StringField('Email', validators=[DataRequired(), Email()])
    password = PasswordField('Password', validators=[DataRequired()])
    remember = BooleanField('remember Me')
    submit = SubmitField('Submit')
コード例 #22
0
class GetJobForm(FlaskForm):
    tag = StringField('tag: ', validators=[DataRequired()])
    submit = SubmitField('Get Job offers')
コード例 #23
0
ファイル: settings.py プロジェクト: OneGov/onegov.feriennet
class FeriennetSettingsForm(Form):

    bank_account = StringField(label=_("Bank Account (IBAN)"),
                               fieldset=_("Payment"),
                               validators=[Stdnum(format='iban')])

    bank_beneficiary = StringField(
        label=_("Beneficiary"),
        fieldset=_("Payment"),
    )

    bank_reference_schema = RadioField(label=_("Payment Order"),
                                       fieldset=_("Payment"),
                                       choices=[('feriennet-v1', _("Basic")),
                                                ('esr-v1', _("ESR (General)")),
                                                ('raiffeisen-v1',
                                                 _("ESR (Raiffeisen)"))],
                                       default='feriennet-v1')

    bank_esr_participant_number = StringField(
        label=_("ESR participant number"),
        fieldset=_("Payment"),
        validators=[InputRequired()],
        depends_on=('bank_reference_schema', '!feriennet-v1'))

    bank_esr_identification_number = StringField(
        label=_("ESR identification number"),
        fieldset=_("Payment"),
        validators=[InputRequired()],
        depends_on=('bank_reference_schema', 'raiffeisen-v1'))

    show_political_municipality = BooleanField(
        label=_("Require the political municipality in the userprofile"),
        fieldset=_("Userprofile"))

    show_related_contacts = BooleanField(label=_(
        "Parents can see the contacts of other parents in "
        "the same activity"),
                                         fieldset=_("Privacy"))

    public_organiser_data = MultiCheckboxField(
        label=_("Public organiser data"),
        choices=(('name', _("Name")), ('address', _("Address")), ('email',
                                                                  _("E-Mail")),
                 ('phone', _("Phone")), ('website', _("Website"))),
        fieldset=_("Organiser"))

    tos_url = URLField(
        label=_("Link to the TOS"),
        description=_("Require users to accept the TOS before booking"),
        fieldset=_("TOS"))

    donation = BooleanField(
        label=_("Donations"),
        description=_("Show a donation button in the invoice view"),
        default=True,
        fieldset=_("Donation"))

    donation_amounts = TextAreaField(label=_("Donation Amounts"),
                                     description=_("One amount per line"),
                                     depends_on=('donation', 'y'),
                                     render_kw={'rows': 3},
                                     fieldset=_("Donation"))

    donation_description = HtmlField(label=_("Description"),
                                     depends_on=('donation', 'y'),
                                     fieldset=_("Donation"),
                                     render_kw={'rows': 10})

    def ensure_beneificary_if_bank_account(self):
        if self.bank_account.data and not self.bank_beneficiary.data:
            self.bank_beneficiary.errors.append(
                _("A beneficiary is required if a bank account is given."))
            return False

    def ensure_valid_esr_identification_number(self):
        if self.bank_reference_schema.data == 'raiffeisen-v1':
            ident = self.bank_esr_identification_number.data

            if not 3 <= len(ident.replace('-', ' ').strip()) <= 6:
                self.bank_esr_identification_number.errors.append(
                    _("The ESR identification number must be 3-6 characters long"
                      ))
                return False

    def process_obj(self, obj):
        super().process_obj(obj)

        attributes = (
            ('show_political_municipality', False),
            ('show_related_contacts', False),
            ('public_organiser_data', self.request.app.public_organiser_data),
            ('bank_account', ''),
            ('bank_beneficiary', ''),
            ('bank_reference_schema', 'feriennet-v1'),
            ('bank_esr_participant_number', ''),
            ('bank_esr_identification_number', ''),
            ('tos_url', ''),
            ('donation', True),
            ('donation_amounts', DEFAULT_DONATION_AMOUNTS),
            ('donation_description', ''),
        )

        for attr, default in attributes:
            value = obj.meta.get(attr, default)

            if attr == 'donation_amounts':
                value = format_donation_amounts(value)

            getattr(self, attr).data = value

    def populate_obj(self, obj, *args, **kwargs):
        super().populate_obj(obj, *args, **kwargs)

        attributes = (
            'show_political_municipality',
            'show_related_contacts',
            'public_organiser_data',
            'bank_account',
            'bank_beneficiary',
            'bank_reference_schema',
            'bank_esr_participant_number',
            'bank_esr_identification_number',
            'tos_url',
            'donation',
            'donation_amounts',
            'donation_description',
        )

        for attr in attributes:
            value = getattr(self, attr).data

            if attr == 'donation_amounts':
                value = parse_donation_amounts(value)

            obj.meta[attr] = value
コード例 #24
0
ファイル: forms.py プロジェクト: rebeccamichelle27/todo
class ToDoForm(FlaskForm):
    todo = StringField("New to do:",
                       validators=[required(),
                                   Length(min=4, max=60)])
コード例 #25
0
class PhonebookForm(BaseForm):
    first_matched_columns = FieldList(FormField(ColumnsForm))
    format_columns = FieldList(FormField(ValueColumnsForm))
    searched_columns = FieldList(FormField(ColumnsForm))
    db_uri = StringField(l_('DB Uri'), validators=[InputRequired()])
コード例 #26
0
ファイル: forms.py プロジェクト: tobymccann/flask-base
class TestForm(FlaskForm):
    url = StringField(
        'URL', validators=[InputRequired(), Length(1, 64)])
    submit = SubmitField('Submit')
コード例 #27
0
class Office365Form(BaseForm):
    auth = FormField(Office365AuthForm)
    first_matched_columns = FieldList(FormField(ColumnsForm))
    format_columns = FieldList(FormField(ValueColumnsForm))
    searched_columns = FieldList(FormField(ColumnsForm))
    endpoint = StringField(l_('Endpoint'))
コード例 #28
0
ファイル: forms.py プロジェクト: tobymccann/flask-base
class ConfigTemplateForm(FlaskForm):
    name = StringField("name", validators=[DataRequired()])
    template_content = TextAreaField("template content", validators=[verify_template_syntax])
コード例 #29
0
class CreateCategoryForm(IndicoForm):
    """Form to create a new Category"""

    title = StringField(_("Title"), [DataRequired()])
    description = IndicoMarkdownField(_("Description"))
コード例 #30
0
class LoginForm(FlaskForm):
	name = StringField('Name', validators=[DataRequired()])
	code = StringField('Code', validators=[])
	submit = SubmitField('Enter Chatroom')