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()], )
class ColumnsForm(BaseForm): value = StringField(validators=[InputRequired()])
class ServiceForm(FlaskForm): service_name = StringField('Service Name', validators=[DataRequired()]) description = StringField('Description')
class LoginForm(FlaskForm): username = StringField('Your Username: '******'Password:'******'Keep me logged in') submit = SubmitField('Log In')
class ReserveForm(Form): mobile = StringField(u'手机号', validators=[MobilePhone()])
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()])
class AnswerForm(FlaskForm): answer_title = StringField('Answer', validators=[DataRequired()]) correct = BooleanField('Correct')
class ProjectForm(Form): project_name = StringField('project_name') description = TextAreaField('description') authority = BooleanField('authority')
class SensorAndEffectorForm(Form): id = StringField('id') type = StringField('type')
class ForgotForm(Form): email = StringField('Email', validators=[DataRequired(), Length(min=6, max=40)])
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.")])
class LoginForm(Form): name = StringField('Username', [DataRequired()]) password = PasswordField('Password', [DataRequired()])
class SearchMinorPlanetForm(FlaskForm): q = StringField('Search') items_per_page = IntegerField(lazy_gettext('Items per page'))
class LoginForm(FlaskForm): username = StringField("Your Username: "******"Password", validators=[DataRequired()]) remember_me = BooleanField('Stay logged in') #sets a cookie submit = SubmitField('Log me in')
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
class FunctionForm(Form): function_name = StringField("function_name") args = StringField("args")
class TodoForm(FlaskForm): description = StringField('Descripción', validators=[DataRequired()]) submit = SubmitField('Crear')
class LoginForm(Form): """Accepts a nickname and a room.""" name = StringField('Name', validators=[DataRequired()]) room = StringField('Room', validators=[DataRequired()]) submit = SubmitField('Enter Chatroom')
class LoginForm(FlaskForm): username = StringField('Nombre de usuario', validators=[DataRequired()]) password = PasswordField('Password', validators=[DataRequired()]) submit = SubmitField('enviar')
class OutputHtmlForm(FlaskForm): tag = StringField('tag: ', validators=[DataRequired()]) submit = SubmitField('Output HTML')
class LoginForm(FlaskForm): email = StringField('Email', validators=[DataRequired(), Email()]) password = PasswordField('Password', validators=[DataRequired()]) remember = BooleanField('remember Me') submit = SubmitField('Submit')
class GetJobForm(FlaskForm): tag = StringField('tag: ', validators=[DataRequired()]) submit = SubmitField('Get Job offers')
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
class ToDoForm(FlaskForm): todo = StringField("New to do:", validators=[required(), Length(min=4, max=60)])
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()])
class TestForm(FlaskForm): url = StringField( 'URL', validators=[InputRequired(), Length(1, 64)]) submit = SubmitField('Submit')
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'))
class ConfigTemplateForm(FlaskForm): name = StringField("name", validators=[DataRequired()]) template_content = TextAreaField("template content", validators=[verify_template_syntax])
class CreateCategoryForm(IndicoForm): """Form to create a new Category""" title = StringField(_("Title"), [DataRequired()]) description = IndicoMarkdownField(_("Description"))
class LoginForm(FlaskForm): name = StringField('Name', validators=[DataRequired()]) code = StringField('Code', validators=[]) submit = SubmitField('Enter Chatroom')