Beispiel #1
0
class StoryForm(FlaskForm):
    location = StringField('Location', validators=[Optional()])
    time = TimeField('Time', validators=[Optional()])
    event_name = StringField('Event Name', validators=[Optional()])
Beispiel #2
0
class TaskForm(FlaskForm):
    # general
    comp_name = ""
    task_name = StringField(
        "Task Name",
        description='optional. If you want to give the task a name. '
        'If left blank it will default to "Task #"')
    task_num = IntegerField(
        "Task Number",
        validators=[NumberRange(min=0, max=50)],
        description='task number, by default one more than the last task')
    comment = StringField(
        'Comment',
        description='Sometimes you may wish to make a comment that will show up'
        ' in the competition overview page. e.g. "task stopped at 14:34"')
    date = DateField('Date',
                     format='%Y-%m-%d',
                     validators=[DataRequired()],
                     default=date.today)
    task_type = SelectField('Type',
                            choices=[('race', 'Race'),
                                     ('elapsed_time', 'Elapsed time')])
    # times
    window_open_time = TimeField('Window open',
                                 format='%H:%M',
                                 validators=[DataRequired()])
    start_time = TimeField('Start time',
                           format='%H:%M',
                           validators=[DataRequired()])
    window_close_time = TimeField('Window close',
                                  format='%H:%M',
                                  validators=[DataRequired()])
    start_close_time = TimeField('Start close',
                                 format='%H:%M',
                                 validators=[DataRequired()])
    stopped_time = TimeField('Stopped time',
                             format='%H:%M',
                             validators=[Optional(strip_whitespace=True)])
    task_deadline = TimeField('Deadline',
                              format='%H:%M',
                              validators=[DataRequired()])

    # other
    SS_interval = DecimalField('Gate interval (mins)')
    start_iteration = IntegerField(
        'Number of gates',
        description='number of start iterations: 0 is indefinite up to '
        'start close time',
        validators=[Optional(strip_whitespace=True)])
    time_offset = DecimalField(
        'GMT offset',
        validators=[InputRequired()],
        places=2,
        render_kw=dict(maxlength=5),
        description=
        'The time offset for the task. Default value taken from the competition '
        'time offset')
    check_launch = BooleanField(
        'Check launch',
        description='If we check pilots leaving launch - i.e. launch is like '
        'an exit cylinder')
    # region = SelectField('Waypoint file', choices=[(1,'1'), (2,'2')])

    # airspace
    airspace_check = BooleanField('Airspace checking')
    # openair_file = SelectField('Openair file', choices=[(1,'1'), (2,'2')])
    QNH = DecimalField('QNH', validators=[NumberRange(min=900, max=1100)])

    #formula overides
    formula_distance = SelectField('Distance points',
                                   choices=[('on', 'On'),
                                            ('difficulty', 'Difficulty'),
                                            ('off', 'Off')])
    formula_arrival = SelectField('Arrival points',
                                  choices=[('position', 'Position'),
                                           ('time', 'Time'), ('off', 'Off')])
    formula_departure = SelectField('Departure points',
                                    choices=[('leadout', 'Leadout'),
                                             ('departure', 'Departure'),
                                             ('off', 'Off')])
    formula_time = SelectField('Time points',
                               choices=[('on', 'On'), ('off', 'Off')])
    arr_alt_bonus = DecimalField('Height bonus',
                                 validators=[InputRequired()],
                                 default=0)
    max_JTG = IntegerField("Max Jump the gun (sec)", default=0)
    no_goal_penalty = DecimalField('No goal penalty (%)',
                                   validators=[InputRequired()],
                                   default=0)
    tolerance = DecimalField('Turnpoint radius tolerance (%)', places=3)

    submit = SubmitField('Save')

    def validate_on_submit(self):
        result = super(TaskForm, self).validate()
        if self.window_close_time.data < self.window_open_time.data:
            self.window_open_time.errors.append(
                'window open time is after window close time')
            result = False
        if self.start_time.data < self.window_open_time.data:
            self.start_time.errors.append('start time is before window open')
            result = False
        if self.start_close_time.data < self.start_time.data:
            self.start_close_time.errors.append(
                'start time is after start close time')
            result = False
        if self.window_close_time.data > self.start_close_time.data:
            self.window_close_time.errors.append(
                'window close time is after start close time')
            result = False
        if self.task_deadline.data < self.start_close_time.data:
            result = False
        return result
class LogbookForm(FlaskForm):

    saida = StringField('Saida', validators=[DataRequired()])
    chegada = StringField('Chegada', validators=[DataRequired()])
    aeronave = SelectField('Aeronave',
                           choices=[
                               ("A-10", "A-10"),
                               ('AC-130', 'AC-130'),
                               ('Airbus A318', 'Airbus A318'),
                               ('Airbus A319', 'Airbus A319'),
                               ('Airbus A320', 'Airbus A320'),
                               ('Airbus A321', 'Airbus A321'),
                               ('Airbus A330-200F', 'Airbus A330-200F'),
                               ('Airbus A330-300', 'Airbus A330-300'),
                               ('Airbus A340-600', 'Airbus A340-600'),
                               ('Airbus A350', 'Airbus A350'),
                               ('Airbus A380', 'Airbus A380'),
                               ('Boeing 717-200', 'Boeing 717-200'),
                               ('Boeing 737-700', 'Boeing 737-700'),
                               ('Boeing 737-800', 'Boeing 737-800'),
                               ('Boeing 737-900', 'Boeing 737-900'),
                               ('Boeing 747-200', 'Boeing 747-200'),
                               ('Boeing 747-400', 'Boeing 747-400'),
                               ('Boeing 747-8', 'Boeing 747-8'),
                               ('Boeing 747-AF1', 'Boeing 747-AF1'),
                               ('Boeing 747-SCA', 'Boeing 747-SCA'),
                               ('Boeing 747-SOFIA', 'Boeing 747-SOFIA'),
                               ('Boeing 757-200', 'Boeing 757-200'),
                               ('Boeing 767-300', 'Boeing 767-300'),
                               ('Boeing 777-200ER', 'Boeing 777-200ER'),
                               ('Boeing 777-200LR', 'Boeing 777-200LR'),
                               ('Boeing 777-300ER', 'Boeing 777-300ER'),
                               ('Boeing 777F', 'Boeing 777F'),
                               ('Boeing 787-10', 'Boeing 787-10'),
                               ('Boeing 787-8', 'Boeing 787-8'),
                               ('Boeing 787-9', 'Boeing 787-9'),
                               ('Bombardier Dash 8-Q400',
                                'Bombardier Dash 8-Q400'),
                               ('C-130H', 'C-130H'),
                               ('C-130J', 'C-130J'),
                               ('C-130J-30', 'C-130J-30'),
                               ('C-17', 'C-17'),
                               ('Cessna 172', 'Cessna 172'),
                               ('Cessna 208', 'Cessna 208'),
                               ('Cessna Citation X', 'Cessna Citation X'),
                               ('Cirrus SR22 GTS', 'Cirrus SR22 GTS'),
                               ('CRJ-1000', 'CRJ-1000'),
                               ('CRJ-200', 'CRJ-200'),
                               ('CRJ-700', 'CRJ-700'),
                               ('CRJ-900', 'CRJ-900'),
                               ('CubCrafters XCub', 'CubCrafters XCub'),
                               ('DC-10', 'DC-10'),
                               ('DC-10F', 'DC-10F'),
                               ('ERJ-170', 'ERJ-170'),
                               ('ERJ-175', 'ERJ-175'),
                               ('ERJ-190', 'ERJ-190'),
                               ('ERJ-195', 'ERJ-195'),
                               ('F-14', 'F-14'),
                               ('F-16', 'F-16'),
                               ('F18', 'F18'),
                               ('F-22', 'F-22'),
                               ('MD-11', 'MD-11'),
                               ('MD-11F', 'MD-11F'),
                               ('P-38', 'P-38'),
                               ('Spitfire', 'Spitfire'),
                               ('TBM-930', 'TBM-930'),
                           ])
    voo = StringField('Voo', validators=[DataRequired()])
    tempo = TimeField('Tempo Total',
                      validators=[DataRequired('O campo e obrigatório')])
    photo = FileField('Imagem do seu logbook', validators=[FileRequired()])
    submit = SubmitField('Enviar')
Beispiel #4
0
class ReservationForm(FlaskForm):
    date = DateField('Fecha',format='%Y-%m-%d',  validators=[DataRequired()],render_kw = {"placeholder":'2021-01-01'})
    start_time = TimeField("Hora comienzo", validators=[DataRequired()],format='%H:%M', render_kw={"placeholder":'12:00'})
    end_time = TimeField("Hora finalización", validators=[DataRequired()],format='%H:%M',render_kw={"placeholder":'00:00'})
    num_people = IntegerField("Cantidad de personas", validators=[DataRequired()])
    submit = SubmitField("Book")
Beispiel #5
0
class ArtistAvailabilityForm(Form):
    id = IntegerField()
    day = SelectField(
        choices=[(None, "---"), ('1', 'Monday'), ('2', 'Tuesday'), ('3', 'Wednesday')])
    time_from = TimeField()
    time_to = TimeField()
class ValveForm(FlaskForm):
    valveName = StringField("Name", validators=[DataRequired(), Length(min=1, max=100)])
    valveNotes = TextAreaField("Notes", validators=[Length(max=300)])
    valveOnOff = SelectField("on/off", choices=[("True", "on"), ("False", "off")])
    valveCycleIrrigate = SelectField("cycle or irrigate", choices=[("cycle", "Cycle"), ("irrigate", "Irrigate")])

    valveIrrigationTime = TimeField("valveIrrigationTime")
    valveTimeHour = StringField("valveTimeHour")
    valveTimeMinute = StringField("valveTimeMinute")
    #valveTimeSecond = StringField("valveTimeSecond")

    cycleOnTimeHour = StringField("cycleOnTimeHour")
    cycleOnTimeMinute = StringField("cycleOnTimeMinute")
    cycleOnTimeSeconds = StringField("cycleOnTimeSecond")

    cycleOffTimeHour = StringField("cycleOffTimeHour")
    cycleOffTimeMinute = StringField("cycleOffTimeMinute")
    cycleOffTimeSeconds = StringField("cycleOffTimeSecond")

    blackoutStart = TimeField("blackoutStart")
    blackoutStop = TimeField("blackoutStop")

    selectAll = BooleanField("Select All")
    monday = BooleanField("monday")
    tuesday = BooleanField("tuesday")
    wednesday = BooleanField("wednesday")
    thursday = BooleanField("thursday")
    friday = BooleanField("friday")
    saturday = BooleanField("saturday")
    sunday = BooleanField("sunday")

    daysTuple = (selectAll, monday, tuesday, wednesday, thursday, friday, saturday, sunday)

    #submit = SubmitField()


    def setValve(self, valve):
        #for valve in IrrigationValve.valveList:
        valve.name = self.valveName.data
        valve.notes = self.valveNotes
        valve.on = self.valveOnOff
        valve.cycleOrIrrigate = self.valveCycleIrrigate

        valve.irrigationTimes[self.valveIrrigationTime] = datetime.time(hour=self.valveTimeHour,
                                                                        minute=self.valveTimeMinute)
        valve.cycleOnTime = datetime.timedelta(hours=self.cycleOnTimeHour,
                                               minutes=self.cycleOffTimeMinute,
                                               seconds=self.cycleOnTimeSeconds)
        valve.cycleOffTime = datetime.timedelta(hours=self.cycleOffTimeHour,
                                                minutes=self.cycleOffTimeMinute,
                                                seconds=self.cycleOffTimeSeconds)
        valve.blackoutStart = self.blackoutStart
        valve.blackoutStop = self.blackoutStop
        if self.selectAll:
            self.days.add(ValveForm.daysTuple)
        else:
            for day in ValveForm.daysTuple:
                if day:
                    self.days.add(day)

    #TODO can't do these next two functions until i figure out how to tell which valve is submited
    def irrigation_time_add(self):
        valve.irrigationTimes[self.valveIrrigationTime] = datetime.time(hour=self.valveTimeHour,
                                                                        minute=self.valveTimeMinute)

    def irrigation_time_delete(self):
        del valve.irrigationTimes[self.valveIrrigationTime]
Beispiel #7
0
class DettaglioVersamento(Form):
    cassa = SelectField(u'Cassa',
                        validators=[validators.required()],
                        choices=[],
                        coerce=int)
    v_001 = IntegerField(u'0.01',
                         validators=[validators.Optional()],
                         default=0)
    v_002 = IntegerField(u'0.02',
                         validators=[validators.Optional()],
                         default=0)
    v_005 = IntegerField(u'0.05',
                         validators=[validators.Optional()],
                         default=0)
    v_010 = IntegerField(u'0.10',
                         validators=[validators.Optional()],
                         default=0)
    v_020 = IntegerField(u'0.20',
                         validators=[validators.Optional()],
                         default=0)
    v_050 = IntegerField(u'0.50',
                         validators=[validators.Optional()],
                         default=0)
    v_1 = IntegerField(u'1.00', validators=[validators.Optional()], default=0)
    v_2 = IntegerField(u'2.00', validators=[validators.Optional()], default=0)
    v_5 = IntegerField(u'5.00', validators=[validators.Optional()], default=0)
    v_10 = IntegerField(u'10.00',
                        validators=[validators.Optional()],
                        default=0)
    v_20 = IntegerField(u'20.00',
                        validators=[validators.Optional()],
                        default=0)
    v_50 = IntegerField(u'50.00',
                        validators=[validators.Optional()],
                        default=0)
    v_100 = IntegerField(u'100.00',
                         validators=[validators.Optional()],
                         default=0)
    v_200 = IntegerField(u'200.00',
                         validators=[validators.Optional()],
                         default=0)
    v_500 = IntegerField(u'500.00',
                         validators=[validators.Optional()],
                         default=0)
    totale_contanti = HiddenField()

    fondo_cassa = DecimalField(u'Fondo Cassa',
                               validators=[validators.required()],
                               places=None,
                               rounding=None,
                               use_locale=False,
                               number_format=None)
    bancomat = DecimalField(u'Bancomat',
                            validators=[validators.required()],
                            places=None,
                            rounding=None,
                            use_locale=False,
                            number_format=None)

    ora_reso1 = TimeField('Inizio',
                          format='%H:%M',
                          validators=[validators.optional()])
    ora_reso2 = TimeField('Inizio',
                          format='%H:%M',
                          validators=[validators.optional()])
    ora_reso3 = TimeField('Inizio',
                          format='%H:%M',
                          validators=[validators.optional()])
    ora_reso4 = TimeField('Inizio',
                          format='%H:%M',
                          validators=[validators.optional()])
    ora_reso5 = TimeField('Inizio',
                          format='%H:%M',
                          validators=[validators.optional()])
    ora_reso6 = TimeField('Inizio',
                          format='%H:%M',
                          validators=[validators.optional()])
    ora_reso7 = TimeField('Inizio',
                          format='%H:%M',
                          validators=[validators.optional()])
    ora_reso8 = TimeField('Inizio',
                          format='%H:%M',
                          validators=[validators.optional()])
    ora_reso9 = TimeField('Inizio',
                          format='%H:%M',
                          validators=[validators.optional()])
    ora_reso10 = TimeField('Inizio',
                           format='%H:%M',
                           validators=[validators.optional()])
    ora_reso11 = TimeField('Inizio',
                           format='%H:%M',
                           validators=[validators.optional()])
    ora_reso12 = TimeField('Inizio',
                           format='%H:%M',
                           validators=[validators.optional()])
    ora_reso13 = TimeField('Inizio',
                           format='%H:%M',
                           validators=[validators.optional()])
    ora_reso14 = TimeField('Inizio',
                           format='%H:%M',
                           validators=[validators.optional()])
    ora_reso15 = TimeField('Inizio',
                           format='%H:%M',
                           validators=[validators.optional()])

    scontrino_reso1 = StringField(u'', validators=[validators.Optional()])
    scontrino_reso2 = StringField(u'', validators=[validators.Optional()])
    scontrino_reso3 = StringField(u'', validators=[validators.Optional()])
    scontrino_reso4 = StringField(u'', validators=[validators.Optional()])
    scontrino_reso5 = StringField(u'', validators=[validators.Optional()])
    scontrino_reso6 = StringField(u'', validators=[validators.Optional()])
    scontrino_reso7 = StringField(u'', validators=[validators.Optional()])
    scontrino_reso8 = StringField(u'', validators=[validators.Optional()])
    scontrino_reso9 = StringField(u'', validators=[validators.Optional()])
    scontrino_reso10 = StringField(u'', validators=[validators.Optional()])
    scontrino_reso11 = StringField(u'', validators=[validators.Optional()])
    scontrino_reso12 = StringField(u'', validators=[validators.Optional()])
    scontrino_reso13 = StringField(u'', validators=[validators.Optional()])
    scontrino_reso14 = StringField(u'', validators=[validators.Optional()])
    scontrino_reso15 = StringField(u'', validators=[validators.Optional()])

    imp_reso1 = DecimalField(validators=[validators.Optional()], default=0)
    imp_reso2 = DecimalField(validators=[validators.Optional()], default=0)
    imp_reso3 = DecimalField(validators=[validators.Optional()], default=0)
    imp_reso4 = DecimalField(validators=[validators.Optional()], default=0)
    imp_reso5 = DecimalField(validators=[validators.Optional()], default=0)
    imp_reso6 = DecimalField(validators=[validators.Optional()], default=0)
    imp_reso7 = DecimalField(validators=[validators.Optional()], default=0)
    imp_reso8 = DecimalField(validators=[validators.Optional()], default=0)
    imp_reso9 = DecimalField(validators=[validators.Optional()], default=0)
    imp_reso10 = DecimalField(validators=[validators.Optional()], default=0)
    imp_reso11 = DecimalField(validators=[validators.Optional()], default=0)
    imp_reso12 = DecimalField(validators=[validators.Optional()], default=0)
    imp_reso13 = DecimalField(validators=[validators.Optional()], default=0)
    imp_reso14 = DecimalField(validators=[validators.Optional()], default=0)
    imp_reso15 = DecimalField(validators=[validators.Optional()], default=0)
    totale_resi = DecimalField()

    id_versamento = HiddenField()
    calcola = SubmitField(u'Calcola')
    aggiungi = SubmitField(u'Aggiungi')
Beispiel #8
0
class InformForm(FlaskForm):
    title = StringField('Title', validators=[DataRequired()])
    startdate = DateField('Start Date',
                          format="%Y-%m-%d",
                          validators=(validators.DataRequired(), ))
    enddate = DateField('End Date',
                        format="%Y-%m-%d",
                        validators=(validators.DataRequired(), ))
    start_at = TimeField(
        'Start at',
        format="'%h-%m'",
        validators=[DateRange(min=datetime.now()),
                    validators.DataRequired()])
    end_at = TimeField(
        'End at',
        format="'%h-%m'",
        validators=[DateRange(min=datetime.now()),
                    validators.DataRequired()])
    date_of_joining = DateField('Date of Joining',
                                format="%Y-%m-%d",
                                validators=(validators.DataRequired(), ))
    date_of_birth = DateField('Date Of Birth',
                              format="%Y-%m-%d",
                              validators=(validators.DataRequired(), ))
    last_date = DateField(
        'Last Date',
        format="%Y-%m-%d",
    )
    official_email_address = EmailField('Official Email address')
    email_address = EmailField('Email address',
                               validators=(validators.DataRequired(),
                                           validators.Email()))
    phoneNumber = StringField('Phone Number')
    salary = h5fields.IntegerField("Salary",
                                   widget=h5widgets.NumberInput(min=0))
    bonus = h5fields.IntegerField("Bonus", widget=h5widgets.NumberInput(min=0))
    bank_name = StringField('Bank Name')
    account_number = StringField('Account Number')
    UAN_number = StringField('UAN Number')
    basic_allowance = h5fields.IntegerField(
        "Basic Allowance", widget=h5widgets.NumberInput(min=0))
    medical_allowance = h5fields.IntegerField(
        "Medical Allowance", widget=h5widgets.NumberInput(min=0))
    provident_fund = h5fields.IntegerField("Provident Fund",
                                           widget=h5widgets.NumberInput(min=0))
    tax = h5fields.IntegerField("Tax", widget=h5widgets.NumberInput(min=0))
    current_address = StringField('Current Address')
    permanent_address = StringField('Permanent Address')
    is_active = BooleanField('Active')
    is_manager = BooleanField('Is a Manager?')
    first_name = StringField('First Name', validators=[DataRequired()])
    last_name = StringField('Last Name', validators=[DataRequired()])
    hourly_pay = IntegerField('Hourly Pay')
    submit = SubmitField('Submit')

    department_name = StringField('Department Name',
                                  validators=[DataRequired()])
    employee_type_description = StringField('Employee Type Description',
                                            validators=[DataRequired()])

    role_name = StringField('Role Name', validators=[DataRequired()])
    role_have_full_power = BooleanField('Assign Full Power?')
    role_upload_documents_profile_pictures = BooleanField(
        'Ablity to Upload Document?')
Beispiel #9
0
class survey_form(FlaskForm):
    site = SelectField(label='Site',
                       coerce=int,
                       choices=[],
                       validators=[DataRequired()])
    date = DateField(label='Date', validators=[DataRequired()])
    crew = IntegerField(label='Crew Count',
                        validators=[NumberRange(min=1, max=6),
                                    DataRequired()])
    time_in = TimeField(label='Time In', validators=[DataRequired()])
    time_out = TimeField(label='Time Out', validators=[DataRequired()])
    precentage_surveyed = IntegerField(
        label='Precentage Surveyed',
        default=0,
        validators=[NumberRange(min=0, max=100),
                    DataRequired()])
    method = SelectField(label='Method',
                         choices=[
                             ('foot', 'Foot'),
                             ('boat', 'Boat'),
                             ('peeking', 'Peeking'),
                         ],
                         validators=[DataRequired()])
    ac1 = IntegerField(label='Adult Tern Count 1',
                       default=0,
                       validators=[NumberRange(min=0),
                                   InputRequired()])
    ac2 = IntegerField(label='Adult Tern Count 2',
                       default=0,
                       validators=[NumberRange(min=0),
                                   InputRequired()])
    ac3 = IntegerField(label='Adult Tern Count 3',
                       default=0,
                       validators=[NumberRange(min=0),
                                   InputRequired()])
    egg1 = IntegerField(label='Nest(s) with 1 Egg',
                        default=0,
                        validators=[NumberRange(min=0),
                                    InputRequired()])
    egg2 = IntegerField(label='Nest(s) with 2 Egg',
                        default=0,
                        validators=[NumberRange(min=0),
                                    InputRequired()])
    egg3 = IntegerField(label='Nest(s) with 3 Egg',
                        default=0,
                        validators=[NumberRange(min=0),
                                    InputRequired()])
    scrape = BooleanField(label='Scrape Presence',
                          default=False,
                          validators=[
                              Optional(),
                          ])
    chick02 = IntegerField(label='Chicks 0-2 day(s) old',
                           default=0,
                           validators=[NumberRange(min=0),
                                       InputRequired()])
    chick39 = IntegerField(label='Chicks 3-9 days old',
                           default=0,
                           validators=[NumberRange(min=0),
                                       InputRequired()])
    chick1017 = IntegerField(label='Chicks 10-17 days old',
                             default=0,
                             validators=[NumberRange(min=0),
                                         InputRequired()])
    fledgling = IntegerField(label='Fledglings',
                             default=0,
                             validators=[NumberRange(min=0),
                                         InputRequired()])
    ef_choices = [
        ('NA', 'N/A'),
        ('a', 'a'),
        ('b', 'b'),
        ('c', 'c'),
        ('d', 'd'),
        ('e', 'e'),
        ('f', 'f'),
        ('g', 'g'),
        ('h', 'h'),
        ('i', 'i'),
        ('i+', 'i+'),
    ]
    ef1 = SelectField(label='Egg Float #1',
                      choices=ef_choices,
                      validators=[
                          Optional(),
                      ])
    ef2 = SelectField(label='Egg Float #2',
                      choices=ef_choices,
                      validators=[
                          Optional(),
                      ])
    ef3 = SelectField(label='Egg Float #3',
                      choices=ef_choices,
                      validators=[
                          Optional(),
                      ])
    ef4 = SelectField(label='Egg Float #4',
                      choices=ef_choices,
                      validators=[
                          Optional(),
                      ])
    vegetation_choices = [
        ('none', 'none'),
        ('grass', 'Grass'),
        ('herb', 'Herb'),
        ('vine', 'Vine'),
        ('woody', 'Woody'),
        ('treey', 'Trees'),
    ]
    primary_vegitation = SelectField(label='Primary Vegetation',
                                     choices=vegetation_choices,
                                     validators=[DataRequired()])
    precentage_primary_vegitation = IntegerField(
        label='Precentage Vegetation',
        default=0,
        validators=[NumberRange(min=0, max=100),
                    InputRequired()])
    size_type = SelectField(label='Size',
                            coerce=int,
                            choices=[(1, 'Small'), (2, 'Medium'),
                                     (3, 'Large')],
                            validators=[DataRequired()])
    cwdn1 = IntegerField(label='Course Woody Debris - Nest 1',
                         default=0,
                         validators=[NumberRange(min=0),
                                     InputRequired()])
    cwdn2 = IntegerField(label='Course Woody Debris - Nest 2',
                         default=0,
                         validators=[NumberRange(min=0),
                                     InputRequired()])
    cwdn3 = IntegerField(label='Course Woody Debris - Nest 3',
                         default=0,
                         validators=[NumberRange(min=0),
                                     InputRequired()])
    cwdlog = IntegerField(label='Course Woody Debris - Logs',
                          default=0,
                          validators=[NumberRange(min=0),
                                      InputRequired()])
    water_temp = DecimalField(places=1,
                              label='Water Temperature',
                              validators=[
                                  Optional(),
                              ])
    ambient_temp = DecimalField(places=1,
                                label='Ambient Temperature',
                                validators=[
                                    Optional(),
                                ])
    precentage_disolved_oxygen = DecimalField(places=1,
                                              label='% Disolved Oxygen',
                                              validators=[
                                                  Optional(),
                                              ])
    salinity = DecimalField(places=2,
                            label='Salinity in ppt',
                            validators=[
                                Optional(),
                            ])
    specific_conductance = DecimalField(places=1,
                                        label='Specific Conductance',
                                        validators=[
                                            Optional(),
                                        ])
    conductivity = DecimalField(places=1,
                                label='Conductivity',
                                validators=[
                                    Optional(),
                                ])
    comment = TextAreaField(label='Comments',
                            default='',
                            validators=[
                                Optional(),
                            ])
    submit = SubmitField()
Beispiel #10
0
class OrderFormTime(FlaskForm):
    deliveryTime = TimeField('Przewidywana godzina dostawy:',
                             validators=[DataRequired()])
    submit = SubmitField('Zmien')
Beispiel #11
0
class CreatePostForm(FlaskForm):
    car_brand = StringField('car_brand',
                            validators=[
                                DataRequired('kötelező'),
                                Length(
                                    min=3,
                                    max=30,
                                    message='Minimum 3 és maximum 30 karakter')
                            ])
    car_model = StringField('car_model',
                            validators=[
                                DataRequired('kötelező'),
                                Length(
                                    min=2,
                                    max=30,
                                    message='Minimum 3 és maximum 30 karakter')
                            ])
    car_color = StringField('car_color',
                            validators=[
                                DataRequired('kötelező'),
                                Length(
                                    min=3,
                                    max=30,
                                    message='Minimum 3 és maximum 30 karakter')
                            ])
    date_of_manufacture = IntegerField('date_of_manufacture',
                                       validators=[DataRequired('kötelező')])

    def validate_date_of_manufacture(self, date_of_manufacture):
        if date_of_manufacture.data < 1900:
            raise ValidationError("évjárat > 1900 ")
        if date_of_manufacture.data > 2050:
            raise ValidationError("évjárat < 2050 ")

    seats = IntegerField(validators=[DataRequired('Kötelező')])
    place_of_departure = StringField(
        'place_of_departure',
        validators=[
            DataRequired('kötelező'),
            Length(min=3, max=30, message='Minimum 3 és maximum 30 karakter')
        ])
    destination = StringField(
        'destination',
        validators=[
            DataRequired('kötelező'),
            Length(min=3, max=30, message='Minimum 3 és maximum 30 karakter')
        ])
    start_time = TimeField(validators=[DataRequired('Kötelező')])
    arrival_time = TimeField(validators=[DataRequired('Kötelező')])
    price = IntegerField(validators=[DataRequired('kötelező')])

    def validate_start_time(self, start_time):
        if start_time.data >= self.arrival_time.data:
            raise ValidationError('indulási idő > érkezési idő')

    def validate_price(self, price):
        if price.data > 1000000:
            raise ValidationError("túl nagy szám")

    travel_date = DateField(format='%Y-%m-%d',
                            validators=[DataRequired('válassz Dátumot')])
    note = TextAreaField(
        validators=[Length(max=300, message='Maximum 300 karakter')])
    package_delivery = BooleanField()
    house_to_house = BooleanField()
    submit_post = SubmitField('Feladás')

    def post_fill(self, car_brand, car_model, car_color, date_of_manufacture,
                  seats, place_of_departure, destination, price, note,
                  house_to_house, package_delivery, travel_date, start_time,
                  arrival_time):
        self.car_brand.data = car_brand
        self.car_model.data = car_model
        self.car_color.data = car_color
        self.date_of_manufacture.data = date_of_manufacture
        self.seats.data = seats
        self.place_of_departure.data = place_of_departure
        self.destination.data = destination
        self.price.data = price
        self.note.data = note
        self.house_to_house.data = house_to_house
        self.package_delivery.data = package_delivery
        self.travel_date.data = travel_date
        self.start_time.data = start_time
        self.arrival_time.data = arrival_time
Beispiel #12
0
class AddTaskForm(FlaskForm):
    task_name = StringField("Task name", validators=[DataRequired()])
    description = StringField("Description", validators=[DataRequired()])
    finish_date = DateField("Finish date", format="%d-%m-%Y", validators=[DataRequired()])
    finish_time = TimeField("Finish time", format="%H:%M", validators=[DataRequired()])
    submit = SubmitField("Add Task")
Beispiel #13
0
class AddTimesForm(FlaskForm):
    time = TimeField(label='Add a Time', format='%H:%M', validators=[check_time, InputRequired()])
    add_time = SubmitField('Confirm')
Beispiel #14
0
class AddVisitForm(FlaskForm):
    date_of_visit = DateField('Data wizyty', validators=[InputRequired()])
    time_of_visit = TimeField('Czas wizyty', validators=[InputRequired()])
    doctor = QuerySelectField('Lekarz',
                              query_factory=lambda: Doctor.query.all(),
                              validators=[InputRequired()])
Beispiel #15
0
class confirmAppointment(FlaskForm):
    appoint_date = DateField("Appointment Date", validators=[DataRequired()])
    appoint_time = TimeField("Appointment Time", validators=[DataRequired()])
    submit = SubmitField("Confirm Appointment")
Beispiel #16
0
class DateForm(FlaskForm):
    date = DateField(default=datetime.date.today)
    time = TimeField(default=datetime.time(00,00))
    date2 = DateField(default=datetime.date.today)
    time2 = TimeField(default=datetime.time(00,00))
    submit = SubmitField()
Beispiel #17
0
class AddInterviewForm(FlaskForm):
    todays_datetime = datetime.now()
    todays_date = datetime.now().date().strftime("%Y-%m-%d")
    current_time = datetime.now().time().strftime("%H:%M")

    #Fields to display:
    interview_date = DateField(
        "Interview Date: ",
        format='%Y-%m-%d',
        validators=[
            InputRequired(message="Please provide the Interview Date.")
        ],
    )

    interview_time = TimeField(
        "Interview Time: ",
        validators=[
            InputRequired(
                message="Please provide the starting time for the interview.")
        ],
    )

    interviewer_names = StringField(
        "Interviewer Names: ",
        [validators.optional()],
        default="Unknown at present",
        render_kw={
            'placeholder':
            "The names of the interviewers, if known at this point."
        },
    )
    interview_type = SelectField(
        "Interview Type: ",
        choices=[('in_person', 'In Person / On Site'),
                 ('video_or_online', 'Video / Online'),
                 ('phone_call', 'Telephone Call')],
        default='video_or_online',
    )
    interview_location = StringField(
        "Interview Location: ",
        [validators.optional()],
        render_kw={
            'placeholder':
            "Where will the interview be located. 'Remote' will be the default value."
        },
    )
    interview_medium = SelectField(
        "Video Interview Medium: ",
        choices=[('ms_teams', 'Microsoft Teams'), ('skype', 'Skype'),
                 ('zoom', 'Zoom'), ('google_chat', 'Google Chat'),
                 ('meet_jit_si', 'Meet.jit.si'), ('other', 'Other')],
        default='ms_teams',
    )
    other_medium = StringField(
        "Other Interview Medium: ",
        [validators.optional()],
        render_kw={
            'placeholder':
            "Any other form of video medium, not mention in the above list."
        },
    )
    video_link = TextAreaField(
        "Interview Video Link:",
        [validators.optional()],
        render_kw={
            'placeholder':
            "The link for the interview, if applicable. EG: https://join.skype.com/..."
        },
    )

    phone_call = TelField(
        "Telephone Call: ",
        [validators.optional()],
        render_kw={
            'placeholder':
            "The telephone number you're expecting a call from, for this interview. If left blank, it will default to 'Unknown at present'."
        },
    )
    status = SelectField(
        "Interview Status: ",
        choices=[('upcoming', 'Upcoming Interview'),
                 ('done', 'Interview Done'),
                 ('cancelled', 'Interview Cancelled'),
                 ('post-poned', 'Interview has been post-poned')],
        default='upcoming',
    )

    extra_notes = TextAreaField(
        "Extra Notes:",
        [validators.optional()],
        render_kw={
            'placeholder':
            "Extra notes for this interview. You may want to include your meeting ID & Password, where applicable."
        },
    )

    save_button = SubmitField("Save")
Beispiel #18
0
class LoginForm(Form):
	name = StringField('City', [validators.Length(min=1, max=50)])
	name = StringField('Name Of Place', [validators.Length(min=1, max=50)])
	entrytime = TimeField('Entry Time', format='%H-%M-%S')
	exittime = TimeField('Exit Time', format='%H-%M-%S')
class CreateTestForm(FlaskForm):
    name = StringField('Task Name', validators=[DataRequired()])
    due_date = DateField('Date due', validators=[InputRequired()])
    due_time = TimeField('Time due', validators=[InputRequired()])
    submit = SubmitField('Add Test')
class AlarmForm(Form):
    name = StringField(label="Alarm name",
                       validators=[validators.InputRequired()])
    ringtone = SelectField(label="Ringtone",
                           validators=[validators.InputRequired()])
    time = TimeField(label="Time", validators=[validators.InputRequired()])
Beispiel #21
0
class CreateChurchServiceForm(FlaskForm):
    name = StringField("Name of Service", validators=[DataRequired()])
    date = DateField("Date of Service", format='%Y-%m-%d')
    time = TimeField("Time Service Begins", format='%H.%M')
    submit = SubmitField("Create Service")
Beispiel #22
0
class EventForm(FlaskForm):
    next = HiddenField()
    id = HiddenField('id')
    name = StringField(
        u'Title',
        [length(max=80),
         UniqueValidator(Event, 'name'),
         DataRequired()])
    is_current = BooleanField(
        u'Featured',
        default=False,
        description=u'📣 Pin this event to the top of the homepage.')
    is_hidden = BooleanField(
        u'Hidden',
        default=False,
        description=u'🚧 This event is not shown on the homepage.')
    lock_editing = BooleanField(
        u'Freeze projects',
        default=False,
        description=u'🔒 Prevent users editing any projects.')
    lock_starting = BooleanField(
        u'Lock projects',
        default=False,
        description=u'🔒 Block starting new projects here.')
    lock_resources = BooleanField(
        u'Resource area',
        default=False,
        description=u'💡 Used as toolbox, ignoring start and finish.')
    starts_date = DateField(u'Starts date', default=datetime.now())
    starts_time = TimeField(u'Starts time', default=time(9, 0, 0))
    ends_date = DateField(u'Finish date', default=datetime.now())
    ends_time = TimeField(u'Finish time', default=time(16, 0, 0))
    summary = StringField(
        u'Summary', [length(max=140)],
        description=u'A short overview (140 chars) of the upcoming event')
    hostname = StringField(
        u'Hosted by', [length(max=80)],
        description=u'Organization responsible for the event')
    location = StringField(u'Located at', [length(max=255)],
                           description=u'The event locale or virtual space')
    description = TextAreaField(u'Description',
                                description=u'Markdown and HTML supported')
    logo_url = URLField(
        u'Host logo link', [length(max=255)],
        description=u'URL to an (ideally) square and max 512x512 pixel image')
    webpage_url = URLField(
        u'Home page link', [length(max=255)],
        description=u'Link to register or get more info about the event')
    community_url = URLField(
        u'Community link', [length(max=255)],
        description=u'Link to connect to a community forum or hashtag')
    certificate_path = URLField(
        u'Certificate link', [length(max=1024)],
        description='Include {username}, {email} or {sso} identifier ' +
        'in your participant certificate generator')
    instruction = TextAreaField(
        u'Instructions',
        description=u'Shown to participants on the Resources page - ' +
        'Markdown and HTML supported')
    boilerplate = TextAreaField(
        u'Getting started guide',
        description=u'Top of new project page, markdown and HTML supported')
    community_embed = TextAreaField(
        u'Code of conduct and community links',
        description=u'Bottom of event and project page: Markdown, HTML and ' +
        'embedded scripts are supported')
    custom_css = TextAreaField(
        u'Custom stylesheet',
        description=u'For external CSS: @import url(https://...);')
    submit = SubmitField(u'Save')
Beispiel #23
0
class AddTimeForm(FlaskForm):
    doctor = StringField('Врач', validators=[DataRequired])
    date = DateField('Дата', validators=[DataRequired()])
    time1 = TimeField('Время начала работы', validators=[DataRequired()])
    time2 = TimeField('Время окончания работы', validators=[DataRequired()])
    submit2 = SubmitField('Добавить')
class SessionRegForm(FlaskForm):
    course = StringField('Course code', validators=[DataRequired()])
    start_time = TimeField('Start at', validators=[DataRequired()])
    end_time = TimeField('End at', validators=[DataRequired()])
    date = DateField('Day', validators=[DataRequired()])
    submit = SubmitField('Create sesion')
Beispiel #25
0
class GenerateResourceGroupDowntimeForm(FlaskForm):
    scheduled = SelectField(
        "Scheduled (registered at least 24 hours in advance)",
        [InputRequired()],
        choices=[
            ("", "-- Select one --"),
            ("SCHEDULED", "Yes"),
            ("UNSCHEDULED", "No"),
        ])
    severity = SelectField(
        "Severity (how much of the resource group is affected)",
        [InputRequired()],
        choices=[("", "-- Select one --"),
                 ("Outage", "Outage (completely inaccessible)"),
                 ("Severe", "Severe (most services down)"),
                 ("Intermittent Outage",
                  "Intermittent Outage (may be up for some of the time)"),
                 ("No Significant Outage Expected",
                  "No Significant Outage Expected (you shouldn't notice)")])
    description = StringField(
        "Description (the reason and/or impact of the outage)",
        [InputRequired()])

    start_date = DateField("Local Start Date", validators=[InputRequired()])
    start_time = TimeField("Local Start Time", validators=[InputRequired()])
    end_date = DateField("Local End Date", validators=[InputRequired()])
    end_time = TimeField("Local End Time", validators=[InputRequired()])

    utc_offset = SelectField("UTC Offset", choices=UTCOFFSET_CHOICES)

    facility = SelectField("Facility", choices=[], default="")
    change_facility = SubmitField()
    site = SelectField("Site", choices=[], default="")
    change_site = SubmitField()
    resource_group = SelectField("Resource Group", choices=[], default="")
    change_resource_group = SubmitField()

    generate = SubmitField()

    yamloutput = TextAreaField(None,
                               render_kw={
                                   "readonly": True,
                                   "style":
                                   "font-family:monospace; font-size:small;",
                                   "rows": "15"
                               })

    class Meta:
        csrf = False  # CSRF not needed because no data gets modified

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.infos = ""

    # https://stackoverflow.com/a/21815180
    def validate(self):
        self.infos = ""

        if not super().validate():
            return False
        if self.get_start_datetime() > self.get_end_datetime():
            self.end_date.errors.append(
                "End date/time must be after start date/time")
            return False

        days_in_future = (self.get_start_datetime() -
                          datetime.datetime.utcnow()).days
        if days_in_future < 1 and self.scheduled.data == "SCHEDULED":
            self.infos += "Note: Downtime registered less than one day in advance " \
                          "is considered unscheduled by WLCG policy."
        elif days_in_future >= 1 and self.scheduled.data == "UNSCHEDULED":
            self.infos += "Note: Downtime registered at least one day in advance " \
                          "is considered scheduled by WLCG policy."

        return True

    def get_start_datetime(self):
        return datetime.datetime.combine(
            self.start_date.data, self.start_time.data) + datetime.timedelta(
                minutes=int(self.utc_offset.data))

    def get_end_datetime(self):
        return datetime.datetime.combine(
            self.end_date.data, self.end_time.data) + datetime.timedelta(
                minutes=int(self.utc_offset.data))

    def get_yaml(self, resources, service_names_by_resource) -> str:

        created_datetime = datetime.datetime.utcnow()
        dtid = models._dtid(created_datetime)

        yaml = ""
        for index, resource in enumerate(resources):
            yaml += models.get_downtime_yaml(
                id=dtid + index,
                start_datetime=self.get_start_datetime(),
                end_datetime=self.get_end_datetime(),
                created_datetime=created_datetime,
                description=self.description.data,
                severity=self.severity.data,
                class_=self.scheduled.data,
                resource_name=resource,
                services=service_names_by_resource[resource],
            )

        return yaml
Beispiel #26
0
class TimelapseForm(FlaskForm):
    """
    Timelapse webform fields
    """
    resolutions = [('240p', '320x240'), ('480p', '640x480'),
                   ('600p', '800x600'), ('720p', '1280x720'),
                   ('1080p', '1920x1080'), ('1440p', '2560x1440'),
                   ('2160p', '3840x2160')]

    daysfields = ['mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun']
    daysnames = [calendar.day_name[i] for i, _ in enumerate(daysfields)]

    app.logger.debug(f'config: {timelapse.conf}')
    timelapse_on = BooleanField('Time Lapse',
                                default=timelapse.conf.timelapse_on)
    interval = IntegerField(default=timelapse.conf.interval,
                            validators=[DataRequired()])
    timeset = BooleanField('Jours de la semaine',
                           default=timelapse.conf.timeset)

    dayslabels = list(zip(daysfields, daysnames))
    days = MultiCheckboxField('Label', choices=dayslabels)

    start = TimeField('De : ', format='%H:%M')
    end = TimeField('à : ', format='%H:%M')
    res = SelectField('Résolution', choices=resolutions)
    submit = SubmitField('Enregistrer')

    # path = FileField('Répertoire :', default=timelapse.conf.path)
    # print(path)

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.res.default = TimelapseForm.get_name_from_res(timelapse.conf.res)
        self.process()
        self.start.data = \
            time(hour=timelapse.conf.start['hour'],
                 minute=timelapse.conf.start['minute'])
        self.end.data = time(hour=timelapse.conf.end['hour'],
                             minute=timelapse.conf.end['minute'])

    @staticmethod
    def get_res_from_name(resname):
        res = (0, 0)
        for r in TimelapseForm.resolutions:
            if resname == r[0]:
                res = [int(v) for v in r[1].split('x')]
                break
        app.logger.debug('get_res_from_name(%s) -> %s', resname, res)
        return res

    @staticmethod
    def get_name_from_res(res):
        name = ''
        for i, r in enumerate(TimelapseForm.resolutions):
            value = 'x'.join([str(v) for v in res])
            if value == r[1]:
                name = r[0]
                break
        app.logger.debug('get_name_from_res(%s) -> %s', res, name)
        return name

    @staticmethod
    def boolean_daylist(days):
        booldays = [d in days for d, _ in TimelapseForm.dayslabels]
        app.logger.debug('boolean_daylist(%s) -> %s', days, booldays)
        return booldays

    @staticmethod
    def daylist_frombool(days):
        daylist = [
            d for i, d in enumerate(TimelapseForm.daysfields) if days[i]
        ]
        app.logger.debug('daylist_frombool(%s) -> %s', days, daylist)
        return daylist
Beispiel #27
0
class AutoPostDuration(FlaskForm):
    time_start = TimeField('', validators=[DataRequired()])
    time_end = TimeField('', validators=[DataRequired()])
    submit2 = SubmitField('save')