class MembersForm(BaseForm): user_uuids = SelectMultipleField(l_('Members'), choices=[]) users = FieldList(FormField(UserUuidForm)) group_uuids = SelectMultipleField(l_('Groups'), choices=[]) groups = FieldList(FormField(GroupUuidForm)) policy_uuids = SelectMultipleField(l_('Policies'), choices=[]) policies = FieldList(FormField(PolicyUuidForm))
class UserForm(BaseForm): subscription_type = SelectField(l_('Subscription Type'), choices=[ (0, l_('Voice')), (1, l_('Unified Communication')), (2, l_('Collaboration')), (3, l_('Customer Relationship')), ], validators=[InputRequired()]) firstname = StringField(l_('Firstname'), [InputRequired(), Length(max=128)]) lastname = StringField(l_('Lastname'), [Length(max=128)]) username = StringField(l_('Username'), [InputRequired(), Length(min=2, max=254)]) password = StringField(l_('Password'), [Length(min=4, max=64)]) email = EmailField(l_('Email'), [InputRequired(), Length(max=254)]) auth_enabled = BooleanField(l_('Enable authentication')) caller_id = StringField(l_('Caller ID'), [Length(max=80)]) mobile_phone_number = StringField(l_('Phone mobile'), [Length(max=80)]) ring_seconds = IntegerField(l_('Ring seconds'), [NumberRange(min=0, max=60)]) music_on_hold = SelectField(l_('Music On Hold'), choices=[]) preprocess_subroutine = StringField(l_('Subroutine'), [Length(max=39)]) outgoing_caller_id = SelectField(l_('Outgoing caller ID')) simultaneous_calls = IntegerField(l_('Simultaneous calls'), [NumberRange(min=1, max=20)]) timezone = StringField(l_('Timezone'), [Length(max=254)]) userfield = StringField(l_('User Field'), [Length(max=128)]) description = StringField(l_('Description')) fallbacks = FormField(FallbacksForm) forwards = FormField(UserForwardForm) services = FormField(UserServiceForm) lines = FieldList(FormField(LineForm)) group_ids = SelectMultipleField(l_('Groups'), choices=[]) groups = FieldList(FormField(GroupForm)) funckeys = FieldList(FormField(FuncKeyTemplateKeysForm)) schedules = FieldList(FormField(ScheduleForm), min_entries=1) voicemail = FormField(VoicemailForm) call_permission_ids = SelectMultipleField(l_('Call Permissions'), choices=[]) call_permissions = FieldList(FormField(CallPermissionForm)) submit = SubmitField(l_('Submit'))
class TRSearchForm(Form): """ Define the fields we can search TRs by """ search_string = TextField('TR Title / Description') priority = SelectMultipleField('Priority') size = SelectMultipleField('Size') status = SelectMultipleField('Status') requested_by = SelectMultipleField('Requested By') assigned_user = SelectMultipleField('Assigned To') open = BooleanField('Open TRs Only') # TODO (kstone): use WTForms validation framework def is_valid(self): """ Returns true is form is valid to search """ fields_empty = True for value in self.data.values(): if value: fields_empty = False if fields_empty: return False return True
class ParametersForm(Form): frag_method = QuerySelectField( 'Fragmentation method', validators=[InputRequired()], get_label='name', #query_factory=["option 1","option 2"]) query_factory=lambda: db.session.query(FragMethod)) unimod_ptms = [] with open("unimodptms.txt") as f: for row in f: l = row.rstrip().split("=")[1].split(",") tmp = "%s %s (%s)" % (l[0], l[3], l[1]) unimod_ptms.append((row.rstrip(), tmp)) ms2folder = StringField("MS2 spectrum file folder name", validators=[InputRequired()]) prec_error = StringField("Precursor error tol. (ppm)", validators=[InputRequired()]) frag_error = StringField("Fragmentation error tol. (Da)", validators=[InputRequired()]) fixed_ptms = SelectMultipleField("Fixed PTMs", choices=unimod_ptms) variable_ptms = SelectMultipleField("Variable PTMs", choices=unimod_ptms) open_search = BooleanField("Enable extended PTM search") submit = SubmitField('Run')
class UserForm(BaseForm): firstname = StringField(l_('Firstname'), [InputRequired(), Length(max=128)]) lastname = StringField(l_('Lastname'), [Length(max=128)]) username = StringField(l_('Username'), [InputRequired(), Length(min=2, max=254)]) password = StringField(l_('Password'), [Length(min=4, max=64)]) email = EmailField(l_('Email'), [Length(max=254)]) caller_id = StringField(l_('Caller ID'), [Length(max=80)]) mobile_phone_number = StringField(l_('Phone mobile'), [Length(max=80)]) ring_seconds = IntegerField(l_('Ring seconds'), [NumberRange(min=0, max=60)]) music_on_hold = SelectField(l_('Music On Hold'), choices=[]) preprocess_subroutine = StringField(l_('Subroutine'), [Length(max=39)]) simultaneous_calls = IntegerField(l_('Simultaneous calls'), [NumberRange(min=1, max=20)]) timezone = StringField(l_('Timezone'), [Length(max=254)]) userfield = StringField(l_('User Field'), [Length(max=128)]) description = StringField(l_('Description')) fallbacks = FormField(FallbacksForm) forwards = FormField(UserForwardForm) services = FormField(UserServiceForm) lines = FieldList(FormField(LineForm)) cti_profile = FormField(CtiProfileForm) group_ids = SelectMultipleField(l_('Groups'), choices=[]) groups = FieldList(FormField(GroupForm)) funckeys = FieldList(FormField(FuncKeyTemplateKeysForm)) schedules = FieldList(FormField(ScheduleForm), min_entries=1) voicemail = FormField(VoicemailForm) call_permission_ids = SelectMultipleField(l_('Call Permissions'), choices=[]) call_permissions = FieldList(FormField(CallPermissionForm)) submit = SubmitField(l_('Submit'))
class AddDistributedQueryForm(Form): sql = TextAreaField('Query', validators=[DataRequired(), ValidSQL()]) description = TextAreaField('Description', validators=[Optional()]) not_before = DateTimeField('Not Before', format="%Y-%m-%d %H:%M:%S", validators=[Optional()]) nodes = SelectMultipleField('Nodes', choices=[]) tags = SelectMultipleField('Tags', choices=[]) def set_choices(self): self.nodes.choices = [] from polylogyx.models import Node, Tag import datetime as dt checkin_interval = current_app.config['POLYLOGYX_CHECKIN_INTERVAL'] if isinstance(checkin_interval, (int, float)): checkin_interval = dt.timedelta(seconds=checkin_interval) choices_nodes = Node.query.filter(Node.is_active == True).filter( dt.datetime.utcnow() - Node.last_checkin < checkin_interval).with_entities( Node.node_key, Node.node_info['computer_name'].astext, Node.host_identifier).all() for choice_node in choices_nodes: display_name = choice_node[1] if (not display_name or display_name == ''): display_name = choice_node[2] filttered_choice_node = (choice_node[0], display_name) self.nodes.choices.append(filttered_choice_node) self.tags.choices = Tag.query.with_entities(Tag.value, Tag.value).all()
class F(Form): a = SelectMultipleField(choices=[("a", "hello"), ("b", "bye"), ("c", "something")], default=("a", )) b = SelectMultipleField(coerce=int, choices=[(1, "A"), (2, "B"), (3, "C")], default=("1", "3"))
class SettingsForm(FlaskForm): targets = SelectField(label="Select target", choices=[]) skip_tree = BooleanField( label=( "Skip the core gene alignment and tree for visualization " "and troubleshooting"), default=False) work_offline = BooleanField( "Work offline with local genome assemblies", default=False) skip_download = BooleanField( "Skip the download of Genomes from NCBI", default=False) assemblylevel = SelectMultipleField( "Assembly level", choices=[ ('all', "All"), ('complete', 'Complete'), ('chromosome', 'Chromosome'), ('scaffold', 'Scaffold'), ('contig', 'Contig')], validators=[DataRequired()]) customdb = StringField( "Specify the path to a custom BLAST database", default=None) nolist = BooleanField( label=( "Species list is not used and only sequences without blast " "hits are used for primer design "), default=False) blastseqs = SelectField( "Maximal number of sequences per BLAST search", coerce=int, choices=[ (100, "100"), (500, "500"), (1000, "1000"), (2000, "2000"), (5000, "5000")], default=1000) qc_gene = SelectMultipleField( "Gene(s) for BLAST search in the initial quality control step", choices=[ ('rRNA', "16S rRNA"), ('tuf', "tuf"), ('recA', "recA"), ('dnaK', "dnaK"), ('pheS', "pheS")], validators=[DataRequired()]) exception = FieldList(StringField(""), min_entries=1) minsize = IntegerField("Minimal Amplicon size", default=70) maxsize = IntegerField("Maximal Amplicon size", default=200) designprobe = BooleanField("Pick internal hybridization oligo") mfold = FloatField( "ΔG threshold for secondary structures in PCR products" " at 60°C calculated by mfold", default=-3.0) mpprimer = FloatField( "ΔG threshold for 3'-end primer dimer binding", default=-3.5) mfeprimer_threshold = SelectField( "MFEprimer threshold for nontarget sequence PPC", coerce=int, choices=[ (80, "80"), (85, "85"), (90, "90"), (95, "95"), (100, "100")], default=90) ignore_qc = BooleanField( "Include genomes that did not pass quality control") blastdbv5 = BooleanField("BLAST DB Version 5") intermediate = BooleanField("Do not delete intermediate files") change_wd = StringField( "Change path of the working directory", default="/primerdesign") submit = SubmitField("Submit settings") reset = SubmitField("Reset page")
class AdminAddUserForm(Form): user_name = StringField("User Name", [ required(), length(min=5, message="user name's length must be 6 or more") ]) email = StringField("Email", [required(), email("must be email address")]) passwd = PasswordField("Password", [required(), length(min=6)]) groups = SelectMultipleField("Groups") permissions = SelectMultipleField("Permissions")
class TargetsForm(BaseForm): user_uuids = SelectMultipleField(l_('Target Users'), choices=[], default=[]) users = FieldList(FormField(UserForm)) group_ids = SelectMultipleField(l_('Target Groups'), choices=[], default=[]) groups = FieldList(FormField(GroupForm))
class InterceptorsForm(BaseForm): user_uuids = SelectMultipleField(l_('Interceptor Users'), choices=[], default=[]) users = FieldList(FormField(UserForm)) group_ids = SelectMultipleField(l_('Interceptor Groups'), choices=[], default=[]) groups = FieldList(FormField(GroupForm))
class Client2Form(BaseForm): name = StringField(validators=[DataRequired()]) website = URLField() is_confidential = BooleanField('Confidential Client') redirect_uris = TextAreaField() default_redirect_uri = URLField() allowed_scopes = SelectMultipleField(choices=SCOPES) allowed_grants = SelectMultipleField(choices=GRANTS) def update(self, client): client.name = self.name.data client.website = self.website.data client.is_confidential = self.is_confidential.data client.redirect_uris = self.redirect_uris.data.splitlines() client.token_endpoint_auth_method = 'none' # client.default_redirect_uri = self.default_redirect_uri.data print(self.redirect_uris.data) print( 'WAT : REDIRECT_URIS - update : %s' % client.redirect_uris) client.allowed_scopes = ' '.join(self.allowed_scopes.data) client.allowed_grants = ' '.join(self.allowed_grants.data) with db.auto_commit(): db.session.add(client) return client def save(self, user): name = self.name.data is_confidential = self.is_confidential.data client_id = gen_salt(48) if is_confidential: client_secret = gen_salt(78) else: client_secret = '' print( 'WAT : REDIRECT_URIS - save : %s' % self.redirect_uris.data) client = OAuth2Client( user_id=user.id, client_id=client_id, client_secret=client_secret, name=name, is_confidential=is_confidential, default_redirect_uri=self.default_redirect_uri.data, website=self.website.data, allowed_scopes=' '.join(self.allowed_scopes.data), allowed_grants=' '.join(self.allowed_grants.data), ) client.redirect_uris = self.redirect_uris.data.splitlines() client.token_endpoint_auth_method = 'none' with db.auto_commit(): db.session.add(client) return client
class SearchForm(Form): ''' Form for searching the user database. ''' country = CountryField() locales = SelectMultipleField(label=lazy_gettext('Languages'), widget=ChosenSelect(multiple=True), choices=[(l.language, l.display_name) for l in LOCALES]) expertise_domain_names = SelectMultipleField(label=lazy_gettext('Domains of Expertise'), widget=ChosenSelect(multiple=True), choices=[(v, v) for v in DOMAINS]) fulltext = TextField()
class PeriodForm(BaseForm): hours_start = StringField(l_('Hour Start'), validators=[InputRequired()]) hours_end = StringField(l_('Hour End'), validators=[InputRequired()]) week_days = SelectMultipleField(l_('Weekdays'), choices=convert_list_to_choices(week_days), validators=[InputRequired()]) month_days = SelectMultipleField( l_('Monthdays'), choices=convert_list_to_choices(month_days), validators=[InputRequired()]) months = SelectMultipleField(l_('Months'), choices=convert_list_to_choices(months), validators=[InputRequired()])
class AddDistributedQueryForm(Form): sql = TextAreaField('Query', validators=[DataRequired(), ValidSQL()]) description = TextAreaField('Description', validators=[Optional()]) not_before = DateTimeField('Not Before', format="%Y-%m-%d %H:%M:%S", validators=[Optional()]) nodes = SelectMultipleField('Nodes', choices=[]) tags = SelectMultipleField('Tags', choices=[]) def set_choices(self): from doorman.models import Node, Tag self.nodes.choices = Node.query.with_entities(Node.node_key, Node.host_identifier).all() self.tags.choices = Tag.query.with_entities(Tag.value, Tag.value).all()
class UserEditForm(FlaskForm): username = StringField("User Name", [DataRequired("Enter a Username")]) firstname = StringField("First Name", [DataRequired("Enter a Username")]) surname = StringField("Surname", [DataRequired("Enter a Username")]) email = StringField("Email", [DataRequired("Enter a Username")]) staff_no = StringField("Staff Number", [DataRequired("Enter a Username")]) linemanager = StringField("Line Manager") jobrole = SelectMultipleField("Job Role") userrole = SelectMultipleField("User Role") section = QuerySelectField("Section", query_factory=lambda: s.query(Service).all(), get_label="name") submit = SubmitField()
class OutcallForm(BaseForm): name = StringField(l_('Name'), [InputRequired(), Length(max=128)]) description = StringField(l_('Description')) extensions = FieldList(FormField(OutcallExtensionForm)) trunks_id = SelectMultipleField(l_('Trunks'), choices=[]) trunks = FieldList(FormField(TrunkForm)) preprocess_subroutine = StringField(l_('Preprocess Subroutine')) internal_caller_id = BooleanField(l_('Internal Caller ID')) ring_time = IntegerField(l_('Ring time'), [NumberRange(min=0)]) schedules = FieldList(FormField(ScheduleForm), min_entries=1) call_permission_ids = SelectMultipleField(l_('Call Permissions'), choices=[]) call_permissions = FieldList(FormField(CallPermissionForm)) submit = SubmitField(l_('Submit'))
class Client2Form(BaseForm): name = StringField(validators=[DataRequired()]) website = URLField() is_confidential = BooleanField('Confidential Client') redirect_uris = TextAreaField() default_redirect_uri = URLField() allowed_scopes = SelectMultipleField(choices=SCOPES) allowed_grants = SelectMultipleField(choices=GRANTS) def update(self, client): client.name = self.name.data client.website = self.website.data client.is_confidential = self.is_confidential.data client.redirect_uris = self.redirect_uris.data client.default_redirect_uri = self.default_redirect_uri.data client.allowed_scopes = ' '.join(self.allowed_scopes.data) client.allowed_grants = ' '.join(self.allowed_grants.data) with db.auto_commit(): db.session.add(client) return client def save(self, user): name = self.name.data is_confidential = self.is_confidential.data client_id = gen_salt(48) if is_confidential: client_secret = gen_salt(78) else: client_secret = '' client = OAuth2Client( user_id=user.id, client_id=client_id, client_secret=client_secret, name=name, is_confidential=is_confidential, default_redirect_uri=self.default_redirect_uri.data, website=self.website.data, allowed_scopes=' '.join(self.allowed_scopes.data), allowed_grants=' '.join(self.allowed_grants.data), ) try: db.session.add(user) db.session.commit() except: db.session.rollback() raise return client
class CallPermissionForm(BaseForm): name = StringField(l_('Name'), validators=[InputRequired()]) password = StringField(l_('Password')) extensions = FieldList(FormField(ExtensionsForm)) mode = SelectField(l_('Mode'), choices=[(k, v) for k, v in mode_map.items()]) user_uuids = SelectMultipleField(l_('Users'), choices=[]) users = FieldList(FormField(UserForm)) group_ids = SelectMultipleField(l_('Groups'), choices=[]) groups = FieldList(FormField(GroupForm)) outcall_ids = SelectMultipleField(l_('Outcalls'), choices=[]) outcalls = FieldList(FormField(OutcallForm)) description = StringField(l_('Description')) enabled = BooleanField(l_('Enabled')) submit = SubmitField(l_('Submit'))
class RegisterForm(Form): q1 = RadioField('1. 您的性别', choices=[('1', '男'), ('2', '女')], validators=[DataRequired()]) q2 = RadioField('2. 您的年龄', choices=[('1', '20-30'), ('2', '30-40'),('3', '40-50'),('4', '50-60'), ('5', '60+')],validators=[DataRequired()]) q3 = RadioField('3. 您本次投资资金占家庭总资产比例(单选)', choices=[('1', '20-30'), ('2', '30-40'),('3', '40-50'),('4', '50-60'), ('5', '60+')],validators=[DataRequired()]) q4 = RadioField('4. 您本次投资资金占家庭可投资资产比例(单选)', choices=[('1', '20-30'), ('2', '30-40'),('3', '40-50'),('4', '50-60'), ('5', '60+')],validators=[DataRequired()]) q5 = RadioField('5. 您可以承受的最大投资亏损(单选)', choices=[('1%', '小于5%'), ('2', '5%-10%'), ('3', '10%-20%'), ('4', '>20%'), ], validators=[DataRequired()]) q6 = RadioField('6. 您本次投资是为了(单选)', choices=[('1', '获得比银行存款更高的收益'), ('2', '教育储备'), ('3', '养老储备'), ('4', '资产增值'),], validators=[DataRequired()]) q7 = RadioField('7. 您本次投资愿意承担(单选)', choices=[('1', '高风险高收益'), ('2', '适中风险稳健收益'), ('3', '低风险低收益')], validators=[DataRequired()]) # Select类型,下拉单选框,choices里的内容会在Option里,里面每个项是(值,显示名)对 q8 = SelectMultipleField('8. 您过往投资过的产品(多选)', choices=[ ('1', '银行理财'), ('2', '股票'), ('3', '债券'), ('4', '保险'), ('5', '衍生品') ]) # Select类型,多选框,choices里的内容会在Option里,里面每个项是(值,显示名)对 q9 = SelectMultipleField('9. 您不愿意投资的基金类别:(多选)', choices=[ ('1', '股票基金 – 综合类型 大型公司 中小型公司 行业主题 '), ('2', '债券基金 – 政府债券 公司债券 可转换债券'), ('3', '混合型基金 – 股债混合型基金'), ('4', '货币市场基金') ]) q10 = SelectMultipleField('10. 您不愿意投资的地区:(多选)', choices=[ ('1 ', '非洲及中东'), ('2', '亚太地区'), ('3', '金砖四国'), ('4', '新兴市场'), ('5', '欧洲'), ('6', '环球'), ('7', '大中华'), ('8', '北美') ]) # Submit按钮 submit = SubmitField('Submit')
class ChangeAccountGroupForm(FlaskForm): groups = SelectMultipleField('Select Group', coerce=int, option_widget=widgets.CheckboxInput(), widget=widgets.ListWidget(prefix_label=False)) submit = SubmitField('Update group')
class ChangeAccountTypeForm(FlaskForm): roles = SelectMultipleField('Select Role', coerce=int, option_widget=widgets.CheckboxInput(), widget=widgets.ListWidget(prefix_label=False)) submit = SubmitField('Update role')
class EmployeeAddForm(Form): name = StringField("姓名", validators=[DataRequired("姓名不能為空!")]) job = SelectField("職位", choices=[(k + 1, v) for k, v in enumerate(job_list)], coerce=int, validators=[DataRequired("職位不能為空!")]) sex = SelectField("性別", choices=[(k + 1, v) for k, v in enumerate(sex_list)], coerce=int, validators=[DataRequired("性別不能為空!")]) edu = SelectField("學歷", choices=[(k + 1, v) for k, v in enumerate(edu_list)], coerce=int, validators=[DataRequired("學歷不能為空!")]) birth = DateField("生日", validators=[DataRequired("生日不能為空!")]) email = StringField( "郵箱", validators=[DataRequired("郵箱不能為空!"), Email("郵箱格式不正確!!")]) phone = StringField("手機", validators=[ DataRequired("手機不能為空!"), Regexp("09\\d{8}", message="手機格是不正確!") ]) hobby = SelectMultipleField("愛好", choices=[(k + 1, v) for k, v in enumerate(edu_list)], coerce=int, validators=[DataRequired("愛好不能為空!")]) info = TextAreaField(u"介紹", validators=[DataRequired(u"介紹不能為空!")]) face = StringField("頭像", validators=[DataRequired("頭像不能為空!")])
class PlotbrowserForm(SubmitForm, StationsForm, DateForm, FileFormatForm, HeaderdateForm, RIRVForm): """ A web form for :func:`~polyfemos.front.main.plotbrowser`. """ _choices = [(s, s) for s in userdef.sohpars(visibilities={1, 2, 3})] sohpar_names = SelectMultipleField(u'Sohpars', choices=_choices) decimate = BooleanField(u'Decimate', default="checked") ridv = BooleanField(u'Remove identical values', default="checked") track_len = BooleanField(u'Track data length', default="checked") aor = RadioField(u'Advanced outlier removal', choices=[ ('null', 'None'), ('dtr', 'DTR'), ('sta', 'STALTA'), ('lip', 'Lipschitz'), ]) dtr_maxdepth = IntegerField(u'maxdepth', default=0) dtr_scale = FloatField(u'scale', default=24000) dtr_medlim = FloatField(u'medlim', default=10) sta_nsta = IntegerField(u'nsta', default=3) sta_nlta = IntegerField(u'nlta', default=10) sta_threson = FloatField(u'threson', default=1.08) sta_thresoff = FloatField(u'thresoff', default=1.05) sta_offset = IntegerField(u'offset', default=40) lip_itern = IntegerField(u'itern', default=1) lip_klim = FloatField(u'klim', default=7e-5)
class QueryForm(Form): name = StringField('Name', validators=[DataRequired()]) sql = TextAreaField("Query", validators=[DataRequired(), ValidSQL()]) interval = IntegerField('Interval', default=3600, validators=[DataRequired()]) platform = SelectField('Platform', default='all', choices=[ ('all', 'All'), ('darwin', 'Darwin'), ('linux', 'Linux'), ('redhat/centos', 'Red Hat/CentOS'), ('ubuntu', 'Ubuntu'), ]) version = StringField('Version') description = TextAreaField('Description') value = TextAreaField('Value') removed = BooleanField('Log Removed?', default=True) packs = SelectMultipleField('Packs', default=None, choices=[]) tags = TextAreaField("Tags") def set_choices(self): from doorman.models import Pack self.packs.choices = Pack.query.with_entities(Pack.name, Pack.name).all()
class QueryForm(Form): name = StringField('Name', validators=[DataRequired()]) sql = TextAreaField("Query", validators=[DataRequired(), ValidSQL()]) interval = IntegerField('Interval', default=3600, validators=[DataRequired()]) platform = SelectField('Platform', default='all', choices=[ ('all', 'All'), ('darwin', 'Darwin'), ('linux', 'Linux'), ('freebsd', 'FreeBSD'), ('posix', 'POSIX Compatible'), ('windows', 'Windows'), ]) version = StringField('Version') description = TextAreaField('Description') value = TextAreaField('Value') removed = BooleanField('Log Removed?', default=False) packs = SelectMultipleField('Packs', default=None, choices=[]) tags = TextAreaField("Tags") shard = IntegerField('Shard') snapshot = BooleanField('Snapshot', default=False) def set_choices(self): from polylogyx.models import Pack self.packs.choices = Pack.query.with_entities(Pack.name, Pack.name).all()
class ContextForm(BaseForm): name = StringField(l_('Name'), validators=[InputRequired(), Length(max=39)]) label = StringField(l_('Label'), validators=[InputRequired(), Length(max=128)]) type = SelectField(l_('Type'), choices=[('internal', l_('Internal')), ('incall', l_('Incall')), ('outcall', l_('Outcall')), ('services', l_('Services')), ('others', l_('Others'))], validators=[InputRequired()]) description = StringField(l_('Description')) user_ranges = FieldList(FormField(BaseRangesForm)) queue_ranges = FieldList(FormField(BaseRangesForm)) group_ranges = FieldList(FormField(BaseRangesForm)) conference_room_ranges = FieldList(FormField(BaseRangesForm)) incall_ranges = FieldList(FormField(IncallRangesForm)) context_ids = SelectMultipleField(l_('Contexts included'), choices=[], default=[]) contexts = FieldList(FormField(_ContextForm)) submit = SubmitField(l_('Submit'))
class ListingForm(Form): title = StringField("title", validators=[Length(min=2, max=100)]) location = SelectField(validators=[DataRequired()], choices=[], id="list-location") duration = SelectField( validators=[DataRequired()], coerce=int, choices=[(row, row) for row in range(1, 31)], ) availability_from = DateField("availability_from", format="%d/%m/%Y") availability_to = DateField("availability_to", format="%d/%m/%Y") categories = SelectMultipleField( validators=[DataRequired()], choices=[], coerce=int, id="category-id" ) physical_condition = SelectField( validators=[DataRequired()], choices=[ ("Normal physcial condition", "Normal physcial condition"), ( "Not fit for people with special conditions", "Not fit for people with special conditions", ), ], ) connectivity = SelectField( validators=[DataRequired()], choices=[("Good", "Good"), ("Fair", "Fair"), ("Bad", "Bad")], ) package = SelectField( validators=[DataRequired()], choices=[("Budget", "Budget"), ("Luxury", "Luxury")], ) submit = SubmitField("save")
class ListingForms(Form): location = SelectField(validators=[DataRequired()], choices=[], id="list-location") price_type_id = SelectField( validators=[DataRequired()], choices=[], coerce=int, id="list-package" ) package = SelectField( validators=[DataRequired()], choices=[("Budget", "Budget"), ("Luxury", "Luxury")], ) duration = StringField("duration", validators=[Length(min=2, max=80)]) availability_from = DateField("availability_from", format="%d/%m/%Y") availability_to = DateField("availability_to", format="%d/%m/%Y") categories = SelectMultipleField( validators=[DataRequired()], choices=[], coerce=int ) long_description = TextAreaField( "long description", validators=[Length(min=20, max=2000)] ) activities = FieldList(FormField(ActivityForm), min_entries=1) places = FieldList(FormField(PlaceForm), min_entries=1) days = FieldList(FormField(DayForm), min_entries=1) images = FieldList(FormField(ImageForm), min_entries=1) physical_condition = StringField( "physical condition", validators=[Length(min=2, max=80)] ) connectivity = StringField("Connectivity", validators=[Length(min=2, max=80)]) add_ons = TextAreaField("long description", validators=[Length(min=0, max=2000)]) policy = TextAreaField("policy", validators=[Length(min=2, max=2000)]) submit = SubmitField("save")
class TREditForm(Form): """ Define the fields we can edits TRs by """ title = TextField('Title') description = TextAreaField('Description') progress_notes = TextAreaField('Progress Notes') priority = SelectField('Priority') size = SelectField('Size') status = SelectField('Status') requested_by = SelectMultipleField('Requested By') assigned_user = SelectMultipleField('Assigned To') key = HiddenField("TrackRec.key")
def __call__(self, *args, **kwargs): kwargs['style'] = 'height: 25em; width: auto;' return SelectMultipleField.__call__(self, *args, **kwargs)