Exemplo n.º 1
0
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')))
Exemplo n.º 2
0
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')
Exemplo n.º 3
0
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())
Exemplo n.º 4
0
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')
Exemplo n.º 5
0
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')
Exemplo n.º 7
0
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()])
Exemplo n.º 8
0
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()])
Exemplo n.º 9
0
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()])
Exemplo n.º 10
0
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('Сделать заказ')
Exemplo n.º 11
0
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")
Exemplo n.º 12
0
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
Exemplo n.º 13
0
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()
Exemplo n.º 14
0
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",
    ]
Exemplo n.º 15
0
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')
Exemplo n.º 16
0
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"))
Exemplo n.º 17
0
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))
Exemplo n.º 18
0
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')
Exemplo n.º 19
0
class AddPeriodData(wtforms.Form):
    period_class_id = wtforms.StringField(validators=[DataRequired()])
    start_time = wtforms.DateTimeField(validators=[DataRequired()])
    end_time = wtforms.DateTimeField(validators=[DataRequired()])
Exemplo n.º 20
0
 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)
Exemplo n.º 21
0
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')
Exemplo n.º 22
0
import flask
Exemplo n.º 23
0
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" )