class SyncForm(wtf.Form): """sync with service""" pattern = wtf.StringField( 'Filter Synced Events', description= 'Only sync events that match the given regex string. Use <code>*</code> to match all events.', default='*') calendar = wtf.SelectField(coerce=str) recurrence_start = wtf.DateTimeField( 'Recurrence Start', description= 'Using all recurring events, create recurrences starting from this datetime. (Default: Today)' ) recurrence_end = wtf.DateTimeField( 'Recurrence End', description= 'Using all recurring events, create recurrences ending at this datetime. (Default: One week from today)' ) shift_duration = wtf.IntegerField( 'Shift Duration', description= 'Specify <b>in minutes</b> the length of each shift. Each event will be split into shifts of this duration. Use <code>0</code> to <i>not</i> split events into shifts.', default=0) shift_alignment = wtf.SelectField( 'Shift Alignment', description= 'Specify where to start splitting shifts. If <code>shift_duration</code> is <code>0</code>, this field will be ignored.', choices=(('HOUR', 'Align with the hour'), ('START', 'Align with the start')))
class UploadApp(flask_wtf.FlaskForm): company = wtf.StringField('Company') position = wtf.StringField('Position') location = wtf.StringField('Location') url = wtf.StringField('Job Post URL') contact = wtf.StringField('Contact Email') called_back = wtf.BooleanField('Received a callback?') interview = wtf.BooleanField('Interview Scheduled?') interview_date = wtf.DateTimeField('Interview Data/Time') assignment = wtf.BooleanField('Assignment Received') assignment_date = wtf.DateTimeField('Assignment due date') top_job = wtf.BooleanField('Do you really really want this job?') submit = wtf.SubmitField('Submit')
class PostForm(wtforms.Form): title = wtforms.TextField(label='Title', validators=[validators.Required()]) slug = wtforms.TextField(label='Slug') tags = CommaListField() pubdate = wtforms.DateTimeField(label='Date', format='%Y-%m-%d %H:%M') published = wtforms.BooleanField(label='Published', default=False) blurb = wtforms.TextAreaField(label='Blurb', validators=[validators.Required()]) body = wtforms.TextAreaField(label='Body') @property def known_tags(self): return [t.tag for t in TagCloud.objects.order_by('tag').only('tag')] def images_to_add(self): newuploads = re.findall(r'\[[^\]]+\]\(([^\)]+)\)', self.blurb.data) newuploads.extend(re.findall(r'\[[^\]]+\]\(([^\)]+)\)', self.body.data)) newuploads = [ u[len('/uploads/'):] for u in newuploads if u.startswith('/uploads/') ] return set(newuploads) - set(uploads.list())
class EventForm(ModelForm): """form for user events""" name = wtf.StringField('Name') description = wtf.StringField('Description', description='(optional)') start = wtf.DateTimeField(description='2016-01-13 12:00:00') end = wtf.DateTimeField(description='2016-01-13 12:00:00') group_id = wtf.HiddenField('group_id') days_of_the_week = MultiCheckboxField( 'Days of the Week', choices=choicify(Event.DAYS_OF_THE_WEEK), description='Days of the week that this event repeats on') frequency = wtf.IntegerField( 'Frequency', description='Happens every _ weeks') until = wtf.DateTimeField(description='2016-01-13 12:00:00')
class UserUpdateForm(wtforms.Form): login_name = wtforms.StringField('login_name', [wtforms.validators.required(), wtforms.validators.Length(min=5, max=25)]) mobile = wtforms.StringField('mobile', [wtforms.validators.Regexp(r'^(1\d{10})?$')]) email = wtforms.StringField('email') user_name = wtforms.StringField('user_name', [wtforms.validators.Length(max=50)]) identity_number = wtforms.StringField('identity_number', [wtforms.validators.Length(max=18)]) last_modified_time = wtforms.DateTimeField('last_modified_time') last_modified_user = wtforms.StringField('last_modified_user', [wtforms.validators.Length(max=25)]) referrer = wtforms.StringField('referrer', [wtforms.validators.Length(max=25)]) status = wtforms.StringField('status', [wtforms.validators.Length(max=20)]) channel = wtforms.StringField('channel', [wtforms.validators.Length(max=32)]) province = wtforms.StringField('province', [wtforms.validators.Length(max=32)]) city = wtforms.StringField('city', [wtforms.validators.Length(max=32)]) source = wtforms.StringField('source', [wtforms.validators.Length(max=16)]) staff_referrer_mobile = wtforms.StringField('staff_referrer_mobile', [wtforms.validators.Regexp(r'^(1\d{10})?$')]) def validate_login_name(self, field): if field.data and not User.query.filter(User.login_name == field.data).first(): raise ValidationError('user {} not exist'.format(field.data)) def validate_mobile(self, field): if field.data and User.query.filter( (User.mobile == field.data) & (User.login_name != self.login_name.data)).first(): raise ValidationError('user {} already exists'.format(field.data)) def validate_referrer(self, field): if field.data and not User.query.filter((User.login_name == field.data)).first(): raise ValidationError('referrer {} not exist'.format(field.data)) def validate_status(self, field): if field.data and field.data not in constants.USER_STATUSES: raise ValidationError('status must be a value in {}'.format(constants.USER_STATUSES))
class DeviceAdminForm(FlaskForm): id = form.HiddenField() mac = form.StringField('MAC adresas', validators=[DataRequired()]) uuid = form.StringField('UUID identifikatorius') user = form.StringField('Naudotojas') next_aes_key_change = form.DateTimeField( 'Artimiausio AES rakto keitimo data')
class UserQueryForm(wtforms.Form): page = wtforms.IntegerField('page', [wtforms.validators.number_range(min=1, max=1000)], default=1) page_size = wtforms.IntegerField('page_size', [wtforms.validators.number_range(min=1, max=1000)]) sort = CommaSeparatedField('sort', [wtforms.validators.optional()]) fields = CommaSeparatedField('fields', [wtforms.validators.optional()]) email = wtforms.StringField('email', [wtforms.validators.optional()]) role = wtforms.StringField('role', [wtforms.validators.optional()]) status = wtforms.StringField('status', [wtforms.validators.optional()]) channels = CommaSeparatedField('channels', [wtforms.validators.optional()]) referrer = wtforms.StringField('referrer', [wtforms.validators.optional()]) identity_number = wtforms.StringField('identity_number', [wtforms.validators.Length(max=18)]) mobile__like = wtforms.StringField('mobile__like', [wtforms.validators.optional()]) register_time__gte = wtforms.DateTimeField('register_time__gte', [wtforms.validators.optional()]) register_time__lte = wtforms.DateTimeField('register_time__lte', [wtforms.validators.optional()]) referrer__hasvalue = wtforms.StringField('referrer__hasvalue', [wtforms.validators.optional()])
class AddCourtResource(wtforms.Form): date = wtforms.DateTimeField(validators=[DataRequired()]) period_id = wtforms.StringField(validators=[DataRequired()]) court_id = wtforms.StringField(validators=[DataRequired()]) court_number = wtforms.StringField(validators=[DataRequired()]) occupied = wtforms.StringField(validators=[DataRequired()]) max_order_count = wtforms.StringField(validators=[DataRequired()]) order_count = wtforms.StringField(validators=[DataRequired()])
class AddShcedule(wtforms.Form): court_id = wtforms.StringField(validators=[DataRequired()]) date = wtforms.DateTimeField(validators=[DataRequired()]) total = wtforms.StringField(validators=[DataRequired()]) order_count = wtforms.StringField(validators=[DataRequired()]) occupied_count = wtforms.StringField(validators=[DataRequired()]) visible = wtforms.StringField(validators=[DataRequired()]) enabled = wtforms.StringField(validators=[DataRequired()])
class OrderForm(ft.FlaskForm): payment_type = f.SelectField('Тип оплаты', choices=['Наличные', 'Карта'], validate_choice=False) name = f.StringField('Имя', [f.validators.Length(min=1, max=20)]) last_name = f.StringField('Фамилия', [f.validators.Length(min=1, max=20)]) surname = f.StringField('Отчество', [f.validators.Length(min=1, max=20)]) phone = f.StringField('Телефон') time = f.DateTimeField('Дата проведения', render_kw={'placeholder': 'гггг-мм-дд чч:мм:сс'}) submit = f.SubmitField('Сделать заказ')
class DmsWebhookApplicationForm(wtforms.Form): procedure_id = wtforms.IntegerField(validators=[wtforms.validators.InputRequired()]) dossier_id = wtforms.IntegerField(validators=[wtforms.validators.InputRequired()]) state = wtforms.SelectField( choices=list(GraphQLApplicationStates), validators=[ wtforms.validators.InputRequired(), wtforms.validators.AnyOf(values=list(GraphQLApplicationStates)), ], coerce=coerce_for_enum(GraphQLApplicationStates), ) updated_at = wtforms.DateTimeField(validators=[wtforms.validators.InputRequired()], format="%Y-%m-%d %H:%M:%S %z")
class PostForm(FlaskForm): user_ids = form.FieldList(form.IntegerField(), validators=[v.DataRequired()]) message = form.StringField(validators=[v.InputRequired()]) img_url = form.StringField(validators=[v.Optional(), v.URL()]) expire = form.IntegerField(validators=[v.optional(), v.NumberRange(min=0)]) lesson_id = form.IntegerField(validators=[v.Optional()]) show_at = form.DateTimeField(validators=[v.Optional(), Future()], format='%d.%m.%Y %H:%M') class Meta: csrf = False
class UserForm(wt.Form): # TODO(a.telyshev): Password username = wt.StringField(validators=(wt.validators.required(), )) email = wt.StringField(validators=(wt.validators.required(), wt.validators.email())) real_name = wt.StringField() birthday = wt.DateTimeField(format='%d.%m.%Y', description='Формат: 29.11.1996') location = wt.StringField() msg_signature = wt.TextAreaField() is_staff = wt.BooleanField() is_admin = wt.BooleanField()
class ReservationForm(FlaskForm): reservation_id = f.HiddenField("") # for update reservation_date = f.DateTimeField("Date", validators=[DataRequired()]) people_number = f.IntegerField("N. of People", validators=[DataRequired()]) friends = f.TextAreaField("Friend's mails (separated by semicolon)", validators=[DataRequired()]) restaurant_id = f.HiddenField("") display = [ "reservation_id", "reservation_date", "people_number", "friends", "restaurant_id", ]
class GroupMeetingForm(MyBaseForm): meeting_id = wtforms.HiddenField() start_datetime = wtforms.DateTimeField( '', format=constants.DATE_TIME_FORMAT) topic = wtforms.TextAreaField( 'Meeting Topic', [wtforms.validators.DataRequired()]) duration = wtforms.SelectField( 'Duration', choices=zoom_meeting_duration_choices(), validators=[wtforms.validators.DataRequired()]) meeting_type = wtforms.SelectField('Type', choices=meeting_types()) repeat_end_date = wtforms.DateField( 'Repeat End Date (blank means no end date)', format=constants.DATE_FORMAT, validators=[wtforms.validators.Optional()]) submit = wtforms.SubmitField('Add')
class NewSleepEntry(FlaskForm): # nouvelle_entree_sommeil.html titre = lazy_gettext("Nouvelle fiche sommeil") # date_heure = DateTimeLocalField("Date et heure", default=datetime.datetime.now()) evenement = wtforms.RadioField(lazy_gettext("evenement_sommeil"), validators=[DataRequired(lazy_gettext("Ce champ est obligatoire."))], choices=[ (EvenementSommeil.coucher.name, lazy_gettext(EvenementSommeil.coucher.name.capitalize())), (EvenementSommeil.lever.name, lazy_gettext(EvenementSommeil.lever.name.capitalize())), (EvenementSommeil.reveil_nuit.name, lazy_gettext(EvenementSommeil.reveil_nuit.name.capitalize())) ]) date_heure_evenement = wtforms.DateTimeField(lazy_gettext("Moment du sommeil"), validators=[DataRequired(lazy_gettext("Ce champ est obligatoire."))]) commentaire = wtforms.TextAreaField(lazy_gettext("Commentaire"), validators=[DataRequired(lazy_gettext("Ce champ est obligatoire."))]) enregistrement_sommeil = wtforms.SubmitField(lazy_gettext("Enregistrer"))
def field_factory(attr): kwargs = defaultdict(list) kwargs['id'] = attr.name kwargs['label'] = attr.comment if attr.in_key: kwargs['validators'].append(required()) if attr.nullable or attr.default is not None: kwargs['validators'].append(optional()) if attr.type.startswith('int'): return wtf.IntegerField(**kwargs) elif attr.type == 'double' or attr.type == 'float': return wtf.FloatField(**kwargs) elif attr.type.startswith('varchar'): ml = int(attr.type.split('(')[-1][:-1]) return wtf.StringField( **kwargs) # TODO: can I specify a max length here? elif attr.type == 'date': kwargs['validators'].append(date_validator) return wtf.DateField(format='%Y-%m-%d', default=datetime.date.today(), **kwargs) elif attr.type.startswith('enum'): choices = [(e[1:-1], e[1:-1]) for e in attr.type[attr.type.find('(') + 1:attr.type.rfind(')')].split(',')] return wtf.SelectField(choices=choices, **kwargs) elif attr.type.startswith('char'): l = int(attr.type.split('(')[-1][:-1]) kwargs['validators'].append(len_validator_factory(l)) return wtf.StringField( **kwargs) # TODO: can I specify a max length here? elif attr.type == 'timestamp': return wtf.DateTimeField(format='%Y-%m-%d %H:%M', default=datetime.datetime.today(), **kwargs) else: raise NotImplementedError( 'FieldFactory does not know what to do with %s' % (attr.type))
class ProjectForm(FlaskForm): title = wtforms.StringField('Title') body = wtforms.TextAreaField('Body') img_path = wtforms.StringField('Image Path') url_to_link = wtforms.StringField('URL') key_project = wtforms.BooleanField('Key Project') date = wtforms.DateTimeField('Date') choice_manip = lambda x: [(y, y) for y in x] language_list = [ 'Python', 'C++', 'Java', 'HTML', 'CSS', 'Javascript', 'JSON', 'SQLite3', 'MySQL' ] language_list = choice_manip(language_list) languages = wtforms.SelectMultipleField(u'Languages', choices=language_list) package_list = [ 'numpy', 'pandas', 'matplotlib', 'keras', 'pygame', 'scipy' ] package_list = choice_manip(package_list) packages = wtforms.SelectMultipleField(u'Packages', choices=package_list) framework_list = ['Flask', 'React'] framework_list = choice_manip(framework_list) frameworks = wtforms.SelectMultipleField(u'Frameworks', choices=framework_list) category_list = ['Finance', 'Monte Carlo', 'Games', 'Modelling'] category_list = choice_manip(category_list) categories = wtforms.SelectMultipleField(u'Categories', choices=category_list) submit = wtforms.SubmitField('Submit') delete = wtforms.SubmitField('Delete') new_project = wtforms.SubmitField('New Project')
class AddPeriodData(wtforms.Form): period_class_id = wtforms.StringField(validators=[DataRequired()]) start_time = wtforms.DateTimeField(validators=[DataRequired()]) end_time = wtforms.DateTimeField(validators=[DataRequired()])
def conv_DateTime(self, column: "sa.Column", field_args, **extra) -> "Field": field_args = self._apply_require_validators(column, field_args) return wtforms.DateTimeField(**field_args)
class CreatePost(Form): title = wtforms.TextField(render_kw={'placeholder': 'title'}, validators=[wtforms.validators.Required()]) text = wtforms.TextAreaField(render_kw={'placeholder': 'write your story'}, validators=[wtforms.validators.Required()]) date = wtforms.DateTimeField(render_kw={'placeholder': 'format: YYYY-mm-dd HH:MM:SS'}, default=datetime.now, format='%Y-%m-%d %H:%M:%S', validators=[wtforms.validators.Required()]) image = wtforms.FileField(validators=[flask.ext.wtf.file.FileAllowed(['png', 'jpg', 'jpeg'], message='Wrong file type')]) public = wtforms.BooleanField('public')
import flask
class UserAbsenceForm( flask_wtf.FlaskForm ): choice_category = wtforms.SelectField( "Absence category", validate_choice = False, coerce=int ) ts_absence_start = wtforms.DateTimeField( "Absence start", validators = [wtforms.validators.InputRequired()] ) ts_absence_end = wtforms.DateTimeField( "Absence end", validators = [wtforms.validators.InputRequired()] ) description = wtforms.TextAreaField( "Description", validators = [wtforms.validators.Length( min = 0, max = 500 )] ) submit = wtforms.SubmitField( "Save" )