class UserForm(BaseForm): id = IntegerField( "User Id", [validators.DataRequired(message='Must provide a user id')]) # last_login_dt = DateTimeField("Last Login Date") # datepicker_options # created_dt = DateTimeField("Created Date") identity_hash = ReadonlyTextField('ID Hash') role = SelectField("Role", choices=[('admin', 'Admin'), ('receiver', 'Receiver'), ('sender', 'Sender'), ('pending', "Pending"), ("denylist", "Denied")]) registration_attempts = IntegerField("Registration Attempts") comment = StringField("Comment") locale = SelectField("Language", choices=[("en", "English"), ("es", "Spanish")]) deleted = BooleanField("Deleted (flag)")
class UserEditForm(Form): name = TextField(u"Name", [DataRequired(message=u"Name wird benötigt!")]) email = TextField(u"E-Mail", [Optional(), Email(u"E-Mail-Adresse ist ungültig!")]) email_forwarded = BooleanField("E-Mail Weiterleitung", default=True) birthdate = DateField(u"Geburtsdatum", [Optional()]) person_id = IntegerField("Debitorennummer", [Optional()], filters=[empty_to_none])
class PropertyGroupForm(Form): name = TextField("Gruppenname", [ DataRequired("Name?"), Regexp("^[a-zA-Z0-9äöüÄÖÜ ]{3,}$", message="Namen ohne Sonderzeichen und mindestens 3 Buchstaben" " eingeben! (RegEx: ^[a-zA-Z0-9äöüÄÖÜ ]{3,}$)") ]) permission_level = IntegerField("Berechtigungslevel")
class EditRoomForm(CreateAddressForm): building = static(TextField("Wohnheim")) level = static(IntegerField("Etage")) number = TextField("Nummer") vo_suchname = TextField("VO Nummer", validators=[Optional()], filters=[empty_to_none]) inhabitable = BooleanField("Bewohnbar", validators=[Optional()]) _order = ('building', 'level', 'number', 'vo_suchname', 'inhabitable', *iter_prefixed_field_names(CreateAddressForm, 'address_'))
class PreMemberEditForm(UserBaseDataForm, SelectRoomForm): # overrides `email` from UserBaseDataForm email = TextField("E-Mail", [DataRequired("Mitgliedschaftsanfragen benötigen E-Mail"), Email(message="E-Mail ist ungueltig!")], filters=[empty_to_none]) birthdate = DateField(u"Geburtsdatum", [DataRequired("Das Geburtsdatum wird benötigt!")]) move_in_date = DateField("Einzugsdatum", [Optional()]) person_id = IntegerField("Debitorennummer", [Optional()], filters=[empty_to_none]) force = ConfirmCheckboxField("* Hinweise ignorieren") _order = ("name", "building", "level", "room_number")
class MembershipFeeCreateForm(Form): name = TextField(u"Beitragsname", validators=[DataRequired()]) regular_fee = MoneyField(u"Regulärer Beitrag", validators=[InputRequired(), NumberRange(min=0)]) # TODO Transform IntegerFields to IntervalFields booking_begin = IntegerField( u"Buchungsbeginn (Tage)", description=u"Ab diesem Tag im Zeitraum wird ein Mitglied " u"als zahlungspflichtig angesehen.", validators=[InputRequired(), NumberRange(min=1)]) booking_end = IntegerField( u"Buchungsende (Tage)", description=u"Bis zu diesem Tag im Zeitraum wird ein neues Mitglied " u"als zahlungspflichtig angesehen.", validators=[InputRequired(), NumberRange(min=1)]) payment_deadline = IntegerField( u"Zahlungsfrist (Tage)", description=u"Bleibt ein Mitglied mehr Tage als hier angegeben eine " u"Zahlung schuldig, so wird es Mitglied in der " u"Zahlungsrückstands-Gruppe.", validators=[InputRequired(), NumberRange(min=0)]) payment_deadline_final = IntegerField( u"Endgültige Zahlungsfrist (Tage)", description=u"Bleibt ein Mitglied mehr Tage als hier angegeben eine " u"Zahlung schuldig, so wird seine Mitgliedschaft beendet.", validators=[InputRequired(), NumberRange(min=0)]) begins_on = DateField(u"Anfang", validators=[DataRequired()], today_btn=True, today_highlight=True) ends_on = DateField(u"Ende", validators=[DataRequired()], today_btn=True, today_highlight=True)
class CreateRoomForm(CreateAddressForm): building = QuerySelectField("Wohnheim", get_label='short_name', query_factory=building_query) level = IntegerField("Etage") number = TextField("Nummer") vo_suchname = TextField("VO Nummer", validators=[Optional()], filters=[empty_to_none]) inhabitable = BooleanField("Bewohnbar", validators=[Optional()]) _order = ( 'building', 'level', 'number', 'vo_suchname', 'inhabitable', *iter_prefixed_field_names(CreateAddressForm, 'address_'), )