Пример #1
0
class UserSearchForm(Form):
    id = TextField(u"Nutzer-ID")
    name = TextField(u"Name")
    login = TextField(u"Unix-Login")
    mac = MacField(u"MAC-Adresse")
    ip_address = TextField(u"IP-Adresse")
    property_group_id = QuerySelectField(u"Eigenschaftsgruppe",
                                         get_label='name',
                                         query_factory=property_group_query,
                                         allow_blank=True,
                                         blank_text=u"<Eigenschaftsgruppe>")
    building_id = QuerySelectField(u"Wohnheim",
                                   get_label='short_name',
                                   query_factory=building_query,
                                   allow_blank=True,
                                   blank_text=u"<Wohnheim>")
Пример #2
0
class UserAddGroupMembership(Form):
    group_id = QuerySelectField(u"Gruppe",get_label='name',query_factory=group_query)
    begin_date = DateField(
        u"Beginn", [Required()], default=datetime.now, today_btn=True,
        today_highlight=True)
    unlimited = BooleanField(u"Unbegrenzte Dauer", default=False)
    end_date = DateField(u"Ende", today_btn=True, today_highlight=True)
Пример #3
0
class RoomForm(Form):
    number = TextField(u"Nummer")
    level = TextField(u"Etage")
    inhabitable = BooleanField(u"Bewohnbar")
    dormitory_id = QuerySelectField(u"Wohnheim",
                                    get_label='short_name',
                                    query_factory=dormitory_query)
Пример #4
0
class SwitchPortForm(Form):
    name = TextField(label="Name", validators=[DataRequired()], filters=[to_uppercase])
    patch_port = QuerySelectField(label="Patch-Port", get_label="name", allow_blank=True)
    default_vlans = QuerySelectMultipleField(label="Standard VLANs",
                                     get_label=lambda vlan: "{} ({})".format(vlan.name, vlan.vid),
                                     query_factory=vlan_query,
                                     allow_blank=True,
                                     render_kw={'size': 25})
Пример #5
0
class UserCreateForm(UserEditNameForm, UserMoveForm):
    login = TextField(u"Login", [Required(message=u"Login?"),
                                 Regexp(regex=User.login_regex,
                                     message=u"Login ist ungültig!"),
                                 validate_unique_login])
    mac = TextField(u"MAC", [Regexp(regex=NetDevice.mac_regex,
        message=u"MAC ist ungültig!")])
    host = TextField(u"Host")
    email = TextField(u"E-Mail", [Regexp(regex=User.email_regex,
                                         message=u"E-Mail ist ungueltig!")])
    semester = QuerySelectField(u"aktuelles Semester", get_label="name",
        query_factory=semester_query)
Пример #6
0
class UserMoveForm(Form):
    dormitory = QuerySelectField(u"Wohnheim",
        [Required(message=u"Wohnheim?")],
        get_label='short_name',
        query_factory=dormitory_query)
    level = LazyLoadSelectField(u"Etage",
        validators=[NumberRange(message=u"Etage?")],
        coerce=int,
        choices=[],
        conditions=["dormitory"],
        data_endpoint="user.json_levels")
    room_number = LazyLoadSelectField(u"Raumnummer",
        validators=[Required(message=u"Raum?")],
        coerce=str,
        choices=[],
        conditions=["dormitory", "level"],
        data_endpoint="user.json_rooms")
Пример #7
0
class UserMoveForm(Form):
    building = QuerySelectField(u"Wohnheim", [Optional()],
                                get_label='short_name',
                                query_factory=building_query)
    level = LazyLoadSelectField(
        u"Etage",
        validators=[Optional(), NumberRange(message=u"Etage?")],
        coerce=int,
        choices=[],
        conditions=["building"],
        data_endpoint="facilities.json_levels")
    room_number = LazyLoadSelectField(u"Raumnummer",
                                      validators=[Optional()],
                                      coerce=str,
                                      choices=[],
                                      conditions=["building", "level"],
                                      data_endpoint="facilities.json_rooms")
Пример #8
0
class UserCreateForm(UserMoveForm):
    name = TextField(u"Name", [DataRequired(message=u"Name wird benötigt!")])
    login = TextField(u"Login", [
        DataRequired(message=u"Login wird benötigt!"),
        Regexp(regex=User.login_regex, message=u"Login ist ungültig!"),
        validate_unique_login
    ])
    email = TextField(u"E-Mail",
                      [Email(message=u"E-Mail ist ungueltig!"),
                       Optional()],
                      filters=[empty_to_none])
    mac = TextField(u"MAC", [
        OptionalIf('room_number', invert=True),
        Regexp(regex=mac_regex, message=u"MAC ist ungültig!")
    ])
    birthdate = DateField(
        u"Geburtsdatum",
        [DataRequired(message=u"Geburtsdatum wird benötigt!")])
    property_group = QuerySelectField(u"Gruppe",
                                      get_label='name',
                                      query_factory=property_group_query)

    annex = BooleanField(u"Host annektieren", [Optional()])
    force = BooleanField(u"* Hinweise ignorieren", [Optional()])
Пример #9
0
class UserAddGroupMembership(Form):
    group = QuerySelectField(u"Gruppe",
                             get_label='name',
                             query_factory=group_query)
    begins_at = FormField(OptionallyDirectBeginDateForm)
    ends_at = FormField(OptionallyUnlimitedEndDateForm)
Пример #10
0
class CNAMERecordCreateForm(Form):
    name = TextField(u"Alias Name", [Required(message=u"Alias?")])
    record_for = QuerySelectField(u"für", get_label='name')